agentvibes 2.0.9 → 2.0.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/commands/agent-vibes/bmad.md +203 -0
- package/.claude/github-star-reminder.txt +1 -0
- package/.claude/hooks/bmad-tts-injector.sh +333 -0
- package/.claude/hooks/bmad-voice-manager.sh +34 -0
- package/.claude/hooks/check-output-style.sh +2 -2
- package/.claude/hooks/github-star-reminder.sh +94 -0
- package/.claude/hooks/personality-manager.sh +2 -2
- package/.claude/hooks/piper-installer.sh +194 -0
- package/.claude/hooks/play-tts-elevenlabs.sh +30 -3
- package/.claude/hooks/play-tts-local-wrapper.sh +44 -0
- package/.claude/hooks/play-tts-piper.sh +10 -2
- package/.claude/hooks/play-tts-remote.sh +81 -0
- package/.claude/hooks/play-tts.sh +34 -0
- package/.claude/hooks/provider-commands.sh +30 -1
- package/.claude/hooks/voice-manager.sh +2 -2
- package/.claude/output-styles/agent-vibes.md +52 -36
- package/README.md +2 -2
- package/RELEASE_NOTES.md +412 -0
- package/agentvibes.org/.claude/commands/agent-vibes/add.md +21 -0
- package/agentvibes.org/.claude/commands/agent-vibes/agent-vibes.md +68 -0
- package/agentvibes.org/.claude/commands/agent-vibes/commands.json +53 -0
- package/agentvibes.org/.claude/commands/agent-vibes/get.md +9 -0
- package/agentvibes.org/.claude/commands/agent-vibes/list.md +13 -0
- package/agentvibes.org/.claude/commands/agent-vibes/personality.md +79 -0
- package/agentvibes.org/.claude/commands/agent-vibes/preview.md +16 -0
- package/agentvibes.org/.claude/commands/agent-vibes/provider.md +54 -0
- package/agentvibes.org/.claude/commands/agent-vibes/replay.md +19 -0
- package/agentvibes.org/.claude/commands/agent-vibes/sample.md +12 -0
- package/agentvibes.org/.claude/commands/agent-vibes/sentiment.md +52 -0
- package/agentvibes.org/.claude/commands/agent-vibes/set-language.md +47 -0
- package/agentvibes.org/.claude/commands/agent-vibes/set-pretext.md +65 -0
- package/agentvibes.org/.claude/commands/agent-vibes/switch.md +53 -0
- package/agentvibes.org/.claude/commands/agent-vibes/update.md +20 -0
- package/agentvibes.org/.claude/commands/agent-vibes/version.md +10 -0
- package/agentvibes.org/.claude/commands/agent-vibes/whoami.md +7 -0
- package/agentvibes.org/.claude/hooks/bmad-voice-manager.sh +278 -0
- package/agentvibes.org/.claude/hooks/language-manager.sh +190 -0
- package/agentvibes.org/.claude/hooks/personality-manager.sh +279 -0
- package/agentvibes.org/.claude/hooks/piper-download-voices.sh +133 -0
- package/agentvibes.org/.claude/hooks/piper-voice-manager.sh +227 -0
- package/agentvibes.org/.claude/hooks/play-tts-elevenlabs.sh +201 -0
- package/agentvibes.org/.claude/hooks/play-tts-piper.sh +175 -0
- package/agentvibes.org/.claude/hooks/play-tts.sh +138 -0
- package/agentvibes.org/.claude/hooks/provider-commands.sh +374 -0
- package/agentvibes.org/.claude/hooks/provider-manager.sh +196 -0
- package/agentvibes.org/.claude/hooks/sentiment-manager.sh +163 -0
- package/agentvibes.org/.claude/hooks/voice-manager.sh +349 -0
- package/agentvibes.org/.claude/hooks/voices-config.sh +33 -0
- package/agentvibes.org/.claude/journal/2025-10-07.html +373 -0
- package/agentvibes.org/.claude/journal/index.html +91 -0
- package/agentvibes.org/.claude/output-styles/agent-vibes.md +203 -0
- package/agentvibes.org/.claude/personalities/angry.md +16 -0
- package/agentvibes.org/.claude/personalities/annoying.md +16 -0
- package/agentvibes.org/.claude/personalities/crass.md +16 -0
- package/agentvibes.org/.claude/personalities/dramatic.md +16 -0
- package/agentvibes.org/.claude/personalities/dry-humor.md +52 -0
- package/agentvibes.org/.claude/personalities/flirty.md +22 -0
- package/agentvibes.org/.claude/personalities/funny.md +16 -0
- package/agentvibes.org/.claude/personalities/grandpa.md +34 -0
- package/agentvibes.org/.claude/personalities/millennial.md +16 -0
- package/agentvibes.org/.claude/personalities/moody.md +16 -0
- package/agentvibes.org/.claude/personalities/normal.md +18 -0
- package/agentvibes.org/.claude/personalities/pirate.md +16 -0
- package/agentvibes.org/.claude/personalities/poetic.md +16 -0
- package/agentvibes.org/.claude/personalities/professional.md +16 -0
- package/agentvibes.org/.claude/personalities/robot.md +16 -0
- package/agentvibes.org/.claude/personalities/sarcastic.md +40 -0
- package/agentvibes.org/.claude/personalities/sassy.md +16 -0
- package/agentvibes.org/.claude/personalities/surfer-dude.md +16 -0
- package/agentvibes.org/.claude/personalities/zen.md +16 -0
- package/agentvibes.org/.mcp-minimal.json +60 -0
- package/agentvibes.org/CHANGELOG.md +56 -0
- package/agentvibes.org/README.md +93 -0
- package/agentvibes.org/app/(auth)/layout.tsx +15 -0
- package/agentvibes.org/app/(auth)/reset-password/page.tsx +45 -0
- package/agentvibes.org/app/(auth)/signin/page.tsx +82 -0
- package/agentvibes.org/app/(auth)/signup/page.tsx +104 -0
- package/agentvibes.org/app/(default)/layout.tsx +31 -0
- package/agentvibes.org/app/(default)/page.tsx +20 -0
- package/agentvibes.org/app/api/hello/route.ts +3 -0
- package/agentvibes.org/app/css/additional-styles/theme.css +82 -0
- package/agentvibes.org/app/css/additional-styles/utility-patterns.css +55 -0
- package/agentvibes.org/app/css/style.css +100 -0
- package/agentvibes.org/app/layout.tsx +63 -0
- package/agentvibes.org/components/cta.tsx +58 -0
- package/agentvibes.org/components/features.tsx +256 -0
- package/agentvibes.org/components/hero-home.tsx +133 -0
- package/agentvibes.org/components/modal-video.tsx +137 -0
- package/agentvibes.org/components/page-illustration.tsx +55 -0
- package/agentvibes.org/components/spotlight.tsx +77 -0
- package/agentvibes.org/components/testimonials.tsx +282 -0
- package/agentvibes.org/components/ui/footer.tsx +82 -0
- package/agentvibes.org/components/ui/header.tsx +53 -0
- package/agentvibes.org/components/ui/logo.tsx +10 -0
- package/agentvibes.org/components/workflows.tsx +176 -0
- package/agentvibes.org/next.config.js +4 -0
- package/agentvibes.org/package-lock.json +1974 -0
- package/agentvibes.org/package.json +30 -0
- package/agentvibes.org/pnpm-lock.yaml +1141 -0
- package/agentvibes.org/postcss.config.js +5 -0
- package/agentvibes.org/public/audio/02-sarcastic.mp3 +0 -0
- package/agentvibes.org/public/audio/03-angry.mp3 +0 -0
- package/agentvibes.org/public/audio/04-grandpa.mp3 +0 -0
- package/agentvibes.org/public/audio/05-sarcastic-example2.mp3 +0 -0
- package/agentvibes.org/public/audio/french-rachel.mp3 +0 -0
- package/agentvibes.org/public/audio/spanish-antoni.mp3 +0 -0
- package/agentvibes.org/public/favicon.ico +0 -0
- package/agentvibes.org/public/fonts/nacelle-italic.woff2 +0 -0
- package/agentvibes.org/public/fonts/nacelle-regular.woff2 +0 -0
- package/agentvibes.org/public/fonts/nacelle-semibold.woff2 +0 -0
- package/agentvibes.org/public/fonts/nacelle-semibolditalic.woff2 +0 -0
- package/agentvibes.org/public/images/blurred-shape-gray.svg +1 -0
- package/agentvibes.org/public/images/blurred-shape.svg +1 -0
- package/agentvibes.org/public/images/client-logo-01.svg +1 -0
- package/agentvibes.org/public/images/client-logo-02.svg +1 -0
- package/agentvibes.org/public/images/client-logo-03.svg +1 -0
- package/agentvibes.org/public/images/client-logo-04.svg +1 -0
- package/agentvibes.org/public/images/client-logo-05.svg +1 -0
- package/agentvibes.org/public/images/client-logo-06.svg +1 -0
- package/agentvibes.org/public/images/client-logo-07.svg +1 -0
- package/agentvibes.org/public/images/client-logo-08.svg +1 -0
- package/agentvibes.org/public/images/client-logo-09.svg +1 -0
- package/agentvibes.org/public/images/features.png +0 -0
- package/agentvibes.org/public/images/footer-illustration.svg +1 -0
- package/agentvibes.org/public/images/hero-image-01.jpg +0 -0
- package/agentvibes.org/public/images/logo.svg +1 -0
- package/agentvibes.org/public/images/page-illustration.svg +1 -0
- package/agentvibes.org/public/images/secondary-illustration.svg +1 -0
- package/agentvibes.org/public/images/testimonial-01.jpg +0 -0
- package/agentvibes.org/public/images/testimonial-02.jpg +0 -0
- package/agentvibes.org/public/images/testimonial-03.jpg +0 -0
- package/agentvibes.org/public/images/testimonial-04.jpg +0 -0
- package/agentvibes.org/public/images/testimonial-05.jpg +0 -0
- package/agentvibes.org/public/images/testimonial-06.jpg +0 -0
- package/agentvibes.org/public/images/testimonial-07.jpg +0 -0
- package/agentvibes.org/public/images/testimonial-08.jpg +0 -0
- package/agentvibes.org/public/images/testimonial-09.jpg +0 -0
- package/agentvibes.org/public/images/workflow-01.png +0 -0
- package/agentvibes.org/public/images/workflow-02.png +0 -0
- package/agentvibes.org/public/images/workflow-03.png +0 -0
- package/agentvibes.org/public/videos/video.mp4 +0 -0
- package/agentvibes.org/tsconfig.json +28 -0
- package/agentvibes.org/utils/useMasonry.tsx +67 -0
- package/agentvibes.org/utils/useMousePosition.tsx +27 -0
- package/docs/REMOTE_TTS_SETUP.md +190 -0
- package/package.json +2 -2
- package/src/installer.js +193 -9
- package/test/helpers/test-helper.bash +4 -2
- package/test/unit/personality-manager.bats +16 -4
- package/test/unit/personality-voice-mapping.bats +15 -6
- package/test/unit/play-tts.bats +0 -9
- package/.claude/commands/agent-vibes-bmad.md +0 -132
package/RELEASE_NOTES.md
CHANGED
|
@@ -1,5 +1,417 @@
|
|
|
1
1
|
# 🎤 AgentVibes Release Notes
|
|
2
2
|
|
|
3
|
+
## 📦 v2.0.12 - Remote TTS & BMAD Command Fix (2025-01-10)
|
|
4
|
+
|
|
5
|
+
### 🤖 AI Summary
|
|
6
|
+
|
|
7
|
+
This patch release adds powerful remote TTS audio forwarding for WSL/remote server environments and fixes the missing `/agent-vibes:bmad` slash command. Users working on remote servers or WSL can now hear TTS audio on their local machine through SSH forwarding, while BMAD users can finally access the voice integration command that was previously undetected.
|
|
8
|
+
|
|
9
|
+
### ✨ New Features
|
|
10
|
+
|
|
11
|
+
#### Remote TTS Audio Forwarding
|
|
12
|
+
- **SSH audio forwarding** - TTS audio plays on your local machine when working remotely
|
|
13
|
+
- **Automatic detection** - Detects SSH_CONNECTION and forwards audio automatically
|
|
14
|
+
- **Multiple forwarding methods**:
|
|
15
|
+
- OSC 52 clipboard (terminals supporting OSC sequences)
|
|
16
|
+
- HTTP server (Python-based local audio player)
|
|
17
|
+
- SSH tunnel (port forwarding setup)
|
|
18
|
+
- **WSL compatibility** - Perfect for WSL users who want audio on Windows host
|
|
19
|
+
- **Configuration guide** - New `docs/REMOTE_TTS_SETUP.md` with setup instructions
|
|
20
|
+
- **Fallback support** - Gracefully falls back to local playback if forwarding fails
|
|
21
|
+
|
|
22
|
+
**New Scripts:**
|
|
23
|
+
- `.claude/hooks/play-tts-remote.sh` - Remote audio forwarding logic
|
|
24
|
+
- `.claude/hooks/play-tts-local-wrapper.sh` - Local playback wrapper for HTTP method
|
|
25
|
+
- `docs/REMOTE_TTS_SETUP.md` - Complete setup guide
|
|
26
|
+
|
|
27
|
+
#### Enhanced Piper TTS Installation
|
|
28
|
+
- **PATH detection** - Automatically finds Piper in `~/.local/bin` even if not in PATH
|
|
29
|
+
- **Installation validation** - Verifies Piper installation success before proceeding
|
|
30
|
+
- **Better error handling** - Clear messages when Piper isn't found
|
|
31
|
+
- **Automatic voice download prompts** - Offers to download voice models after installation
|
|
32
|
+
|
|
33
|
+
### 🐛 Bug Fixes
|
|
34
|
+
|
|
35
|
+
#### BMAD Command Detection Fix
|
|
36
|
+
- **Fixed**: `/agent-vibes:bmad` command not appearing in Claude Code slash command list
|
|
37
|
+
- **Root Cause**: Missing YAML frontmatter and bash directive in command file
|
|
38
|
+
- **Impact**: BMAD voice integration features are now accessible
|
|
39
|
+
- **Added**:
|
|
40
|
+
- YAML frontmatter with description and argument-hint
|
|
41
|
+
- `!bash .claude/hooks/bmad-voice-manager.sh $ARGUMENTS` directive
|
|
42
|
+
- **File**: `.claude/commands/agent-vibes/bmad.md`
|
|
43
|
+
|
|
44
|
+
**What Was Broken:**
|
|
45
|
+
```bash
|
|
46
|
+
# Before: Command not found
|
|
47
|
+
/agent-vibes:bmad status
|
|
48
|
+
# Error: Unknown command
|
|
49
|
+
|
|
50
|
+
# After: Works perfectly
|
|
51
|
+
/agent-vibes:bmad status
|
|
52
|
+
# ✅ BMAD voice plugin: ENABLED
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
### 🔧 Technical Changes
|
|
56
|
+
|
|
57
|
+
#### Remote TTS Architecture
|
|
58
|
+
**Main Router (`play-tts.sh`):**
|
|
59
|
+
- Detects `$SSH_CONNECTION` environment variable
|
|
60
|
+
- Routes to `play-tts-remote.sh` when SSH session detected
|
|
61
|
+
- Falls back to local playback for non-SSH sessions
|
|
62
|
+
|
|
63
|
+
**Forwarding Methods:**
|
|
64
|
+
1. **OSC 52 (Clipboard)**:
|
|
65
|
+
- Encodes audio as base64
|
|
66
|
+
- Sends via OSC 52 escape sequence
|
|
67
|
+
- Requires terminal supporting OSC 52
|
|
68
|
+
- Best for: iTerm2, Windows Terminal, Hyper
|
|
69
|
+
|
|
70
|
+
2. **HTTP Server**:
|
|
71
|
+
- Starts Python HTTP server on port 8765
|
|
72
|
+
- Serves audio files over SSH tunnel
|
|
73
|
+
- Opens browser to play audio
|
|
74
|
+
- Best for: All environments with Python
|
|
75
|
+
|
|
76
|
+
3. **SSH Tunnel**:
|
|
77
|
+
- Uses SSH reverse tunnel (-R)
|
|
78
|
+
- Forwards audio files to local machine
|
|
79
|
+
- Requires SSH agent forwarding
|
|
80
|
+
- Best for: Advanced users
|
|
81
|
+
|
|
82
|
+
**Configuration:**
|
|
83
|
+
```bash
|
|
84
|
+
# Set in .claude/tts-remote-method.txt (project-local)
|
|
85
|
+
# or ~/.claude/tts-remote-method.txt (global)
|
|
86
|
+
echo "http" > .claude/tts-remote-method.txt
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
#### Piper Installer Improvements
|
|
90
|
+
**Modified: `.claude/hooks/piper-installer.sh`**
|
|
91
|
+
- Added `~/.local/bin/piper` detection
|
|
92
|
+
- Checks for execution permission
|
|
93
|
+
- Validates installation with `piper --version`
|
|
94
|
+
- Shows PATH instructions when Piper found but not in PATH
|
|
95
|
+
- Auto-detects pipx installation directory
|
|
96
|
+
|
|
97
|
+
**Modified: `src/installer.js`**
|
|
98
|
+
- Enhanced Piper installation workflow
|
|
99
|
+
- Added PATH detection before installation
|
|
100
|
+
- Shows helpful PATH export command when needed
|
|
101
|
+
- Validates Piper is accessible after installation
|
|
102
|
+
|
|
103
|
+
### 📊 Files Changed
|
|
104
|
+
|
|
105
|
+
**Added (3 files):**
|
|
106
|
+
- `.claude/hooks/play-tts-remote.sh` (81 lines)
|
|
107
|
+
- `.claude/hooks/play-tts-local-wrapper.sh` (44 lines)
|
|
108
|
+
- `docs/REMOTE_TTS_SETUP.md` (190 lines)
|
|
109
|
+
|
|
110
|
+
**Modified (5 files):**
|
|
111
|
+
- `.claude/commands/agent-vibes/bmad.md` (8 insertions)
|
|
112
|
+
- `.claude/hooks/play-tts.sh` (31 insertions)
|
|
113
|
+
- `.claude/hooks/play-tts-piper.sh` (12 lines changed)
|
|
114
|
+
- `.claude/hooks/piper-installer.sh` (58 insertions, 6 deletions)
|
|
115
|
+
- `src/installer.js` (107 insertions, 6 deletions)
|
|
116
|
+
|
|
117
|
+
**Total Changes:** 545 insertions, 13 deletions across 8 files
|
|
118
|
+
|
|
119
|
+
### 🎯 User Impact
|
|
120
|
+
|
|
121
|
+
**Before v2.0.12:**
|
|
122
|
+
- Remote/WSL users couldn't hear TTS audio
|
|
123
|
+
- `/agent-vibes:bmad` command was invisible
|
|
124
|
+
- Piper installation didn't validate PATH
|
|
125
|
+
- No remote audio forwarding options
|
|
126
|
+
|
|
127
|
+
**After v2.0.12:**
|
|
128
|
+
- Remote TTS works via SSH forwarding
|
|
129
|
+
- BMAD command fully functional
|
|
130
|
+
- Piper installer validates PATH and accessibility
|
|
131
|
+
- Multiple forwarding methods for different environments
|
|
132
|
+
- Complete setup guide for remote audio
|
|
133
|
+
|
|
134
|
+
### 💡 Usage Examples
|
|
135
|
+
|
|
136
|
+
#### Remote TTS Setup
|
|
137
|
+
```bash
|
|
138
|
+
# Quick setup for HTTP method (recommended)
|
|
139
|
+
echo "http" > .claude/tts-remote-method.txt
|
|
140
|
+
|
|
141
|
+
# On your LOCAL machine, create SSH tunnel:
|
|
142
|
+
ssh -R 8765:localhost:8765 user@remote-server
|
|
143
|
+
|
|
144
|
+
# Now TTS audio plays on your local machine!
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
#### BMAD Voice Integration
|
|
148
|
+
```bash
|
|
149
|
+
# Enable BMAD plugin
|
|
150
|
+
/agent-vibes:bmad enable
|
|
151
|
+
|
|
152
|
+
# Check status
|
|
153
|
+
/agent-vibes:bmad status
|
|
154
|
+
|
|
155
|
+
# Set custom voice for agent
|
|
156
|
+
/agent-vibes:bmad set pm "Aria"
|
|
157
|
+
|
|
158
|
+
# List all agent mappings
|
|
159
|
+
/agent-vibes:bmad list
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
### 🔄 Migration Notes
|
|
163
|
+
|
|
164
|
+
**For Remote/WSL Users:**
|
|
165
|
+
1. Update AgentVibes: `npx agentvibes update`
|
|
166
|
+
2. Read setup guide: `docs/REMOTE_TTS_SETUP.md`
|
|
167
|
+
3. Choose forwarding method (HTTP recommended)
|
|
168
|
+
4. Configure SSH tunnel for chosen method
|
|
169
|
+
5. Enjoy TTS audio on local machine!
|
|
170
|
+
|
|
171
|
+
**For BMAD Users:**
|
|
172
|
+
- Update to v2.0.12 to access `/agent-vibes:bmad` command
|
|
173
|
+
- No configuration changes needed
|
|
174
|
+
- All existing BMAD voice mappings preserved
|
|
175
|
+
|
|
176
|
+
**For All Users:**
|
|
177
|
+
- No breaking changes
|
|
178
|
+
- Remote TTS is optional (auto-detected)
|
|
179
|
+
- Local TTS works exactly as before
|
|
180
|
+
|
|
181
|
+
### 📝 Commits in This Release
|
|
182
|
+
|
|
183
|
+
```
|
|
184
|
+
ef99bda feat: add remote TTS audio forwarding support
|
|
185
|
+
156feb7 feat: enhance Piper TTS installation and audio forwarding support
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
### 🙏 Credits
|
|
189
|
+
|
|
190
|
+
- Thanks to WSL and remote server users who requested audio forwarding
|
|
191
|
+
- Special appreciation to BMAD users who reported the missing command
|
|
192
|
+
- Python HTTP server method inspired by similar remote audio solutions
|
|
193
|
+
|
|
194
|
+
---
|
|
195
|
+
|
|
196
|
+
🤖 Generated with [Claude Code](https://claude.com/claude-code)
|
|
197
|
+
|
|
198
|
+
Co-Authored-By: Claude <noreply@anthropic.com>
|
|
199
|
+
|
|
200
|
+
---
|
|
201
|
+
|
|
202
|
+
## 📦 v2.0.10 - GitHub Star Reminder & Provider Fixes (2025-01-10)
|
|
203
|
+
|
|
204
|
+
### 🤖 AI Summary
|
|
205
|
+
|
|
206
|
+
This patch release adds a gentle daily GitHub star reminder system and fixes critical bugs in provider switching and output style commands. Users can now be reminded to star the project (once per day, easily disabled), the ElevenLabs provider switching now works correctly with proper language support for 30+ languages, and all documentation now shows the correct output style command `Agent Vibes` instead of the lowercase `agent-vibes`.
|
|
207
|
+
|
|
208
|
+
### ✨ New Features
|
|
209
|
+
|
|
210
|
+
#### Daily GitHub Star Reminder System
|
|
211
|
+
- **Gentle reminders** - Shows once per day when using TTS
|
|
212
|
+
- **Easy to disable** - Run `echo "disabled" > .claude/github-star-reminder.txt`
|
|
213
|
+
- **Non-intrusive** - Beautiful formatted message with clear instructions
|
|
214
|
+
- **Community support** - Encourages users to support the project
|
|
215
|
+
- **Smart tracking** - Date-based reminder system prevents spam
|
|
216
|
+
|
|
217
|
+
**Example Reminder:**
|
|
218
|
+
```
|
|
219
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
220
|
+
⭐ Enjoying AgentVibes?
|
|
221
|
+
|
|
222
|
+
If you find this project helpful, please consider giving us
|
|
223
|
+
a star on GitHub! It helps others discover AgentVibes and
|
|
224
|
+
motivates us to keep improving it.
|
|
225
|
+
|
|
226
|
+
👉 https://github.com/paulpreibisch/AgentVibes
|
|
227
|
+
|
|
228
|
+
Thank you for your support! 🙏
|
|
229
|
+
|
|
230
|
+
💡 To disable these reminders, run:
|
|
231
|
+
echo "disabled" > .claude/github-star-reminder.txt
|
|
232
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
#### Piper TTS Installer Script
|
|
236
|
+
- **Automated installation** - Created `.claude/hooks/piper-installer.sh`
|
|
237
|
+
- **Platform detection** - Checks for WSL/Linux compatibility
|
|
238
|
+
- **Dependency management** - Installs pipx automatically if needed
|
|
239
|
+
- **Voice downloads** - Offers to download voice models after installation
|
|
240
|
+
- **Clear instructions** - Provides next steps and usage guide
|
|
241
|
+
|
|
242
|
+
### 🐛 Bug Fixes
|
|
243
|
+
|
|
244
|
+
#### Provider Switching Function Fixes
|
|
245
|
+
- **Fixed function name mismatch** - `get_current_language()` → `get_language_code()` in provider-commands.sh:102
|
|
246
|
+
- **Fixed ElevenLabs language support** - `get_current_language()` → `get_language_code()` in play-tts-elevenlabs.sh:52
|
|
247
|
+
- **Added language validation** - New `is_language_supported()` function validates provider/language compatibility
|
|
248
|
+
- **Implemented language mapping** - Full 30+ language code mapping (spanish→es, french→fr, etc.)
|
|
249
|
+
- **Provider switching works** - Users can now switch between ElevenLabs and Piper without errors
|
|
250
|
+
|
|
251
|
+
**What Was Broken:**
|
|
252
|
+
```bash
|
|
253
|
+
# Before: Provider switching failed with "command not found" error
|
|
254
|
+
/agent-vibes:provider switch elevenlabs
|
|
255
|
+
# .claude/hooks/provider-commands.sh: line 102: get_current_language: command not found
|
|
256
|
+
|
|
257
|
+
# After: Works perfectly
|
|
258
|
+
/agent-vibes:provider switch elevenlabs
|
|
259
|
+
# ✓ Provider switched to: elevenlabs
|
|
260
|
+
```
|
|
261
|
+
|
|
262
|
+
#### Output Style Command Correction
|
|
263
|
+
- **Fixed installer** - Updated `src/installer.js` (2 locations)
|
|
264
|
+
- **Fixed hooks** - Updated check-output-style.sh, personality-manager.sh, voice-manager.sh
|
|
265
|
+
- **Correct command** - Changed `/output-style agent-vibes` → `/output-style Agent Vibes`
|
|
266
|
+
- **Consistent docs** - All documentation now shows the correct command
|
|
267
|
+
|
|
268
|
+
**Why This Matters:**
|
|
269
|
+
The output style name is case-sensitive in Claude Code. The incorrect lowercase command would fail silently, preventing users from enabling TTS narration.
|
|
270
|
+
|
|
271
|
+
### 🔧 Technical Changes
|
|
272
|
+
|
|
273
|
+
#### GitHub Star Reminder Implementation
|
|
274
|
+
**New Files:**
|
|
275
|
+
- `.claude/hooks/github-star-reminder.sh` - Main reminder script with disable support
|
|
276
|
+
- `.claude/github-star-reminder.txt` - Tracks last reminder date
|
|
277
|
+
|
|
278
|
+
**Integration:**
|
|
279
|
+
- Added to `play-tts.sh` router (runs before TTS playback)
|
|
280
|
+
- Silent errors (2>/dev/null || true) prevent disruption
|
|
281
|
+
- Project-local or global config support
|
|
282
|
+
|
|
283
|
+
**Disable Options:**
|
|
284
|
+
1. Echo "disabled" to reminder file
|
|
285
|
+
2. Create `.claude/github-star-reminder-disabled.flag`
|
|
286
|
+
3. Create `~/.claude/github-star-reminder-disabled.flag`
|
|
287
|
+
|
|
288
|
+
#### Provider Command Fixes
|
|
289
|
+
**Modified Functions:**
|
|
290
|
+
- `provider-commands.sh`:
|
|
291
|
+
- Added `is_language_supported()` function (lines 15-42)
|
|
292
|
+
- Fixed `get_current_language()` call to `get_language_code()` (line 131)
|
|
293
|
+
|
|
294
|
+
- `play-tts-elevenlabs.sh`:
|
|
295
|
+
- Fixed `get_current_language()` call to `get_language_code()` (line 52)
|
|
296
|
+
- Replaced `get_language_code_for_name()` with full case statement (lines 56-83)
|
|
297
|
+
- Supports all 30+ languages with ISO 639-1 codes
|
|
298
|
+
|
|
299
|
+
**Language Code Mapping:**
|
|
300
|
+
```bash
|
|
301
|
+
case "$CURRENT_LANGUAGE" in
|
|
302
|
+
spanish) LANGUAGE_CODE="es" ;;
|
|
303
|
+
french) LANGUAGE_CODE="fr" ;;
|
|
304
|
+
german) LANGUAGE_CODE="de" ;;
|
|
305
|
+
italian) LANGUAGE_CODE="it" ;;
|
|
306
|
+
# ... 26 more languages
|
|
307
|
+
english|*) LANGUAGE_CODE="en" ;;
|
|
308
|
+
esac
|
|
309
|
+
```
|
|
310
|
+
|
|
311
|
+
#### Output Style Updates
|
|
312
|
+
**Files Modified:**
|
|
313
|
+
- `src/installer.js` - Lines 588, 614
|
|
314
|
+
- `.claude/hooks/check-output-style.sh` - Line 45
|
|
315
|
+
- `.claude/hooks/personality-manager.sh` - Line 197
|
|
316
|
+
- `.claude/hooks/voice-manager.sh` - Line 248
|
|
317
|
+
|
|
318
|
+
All now correctly reference `/output-style Agent Vibes` instead of the incorrect lowercase version.
|
|
319
|
+
|
|
320
|
+
### 🎯 User Impact
|
|
321
|
+
|
|
322
|
+
**Before v2.0.10:**
|
|
323
|
+
- Provider switching failed with cryptic "command not found" errors
|
|
324
|
+
- Users couldn't switch between ElevenLabs and Piper
|
|
325
|
+
- Documentation showed wrong output style command
|
|
326
|
+
- No gentle reminder to support the project
|
|
327
|
+
|
|
328
|
+
**After v2.0.10:**
|
|
329
|
+
- Provider switching works seamlessly
|
|
330
|
+
- Full 30+ language support with ElevenLabs
|
|
331
|
+
- Correct output style command everywhere
|
|
332
|
+
- Optional daily star reminder (easily disabled)
|
|
333
|
+
- Piper TTS installer for easy setup
|
|
334
|
+
|
|
335
|
+
### 📊 Files Changed
|
|
336
|
+
|
|
337
|
+
**Added (3 files):**
|
|
338
|
+
- `.claude/hooks/github-star-reminder.sh` (94 lines)
|
|
339
|
+
- `.claude/hooks/piper-installer.sh` (144 lines)
|
|
340
|
+
- `.claude/github-star-reminder.txt` (1 line)
|
|
341
|
+
|
|
342
|
+
**Modified (8 files):**
|
|
343
|
+
- `.claude/hooks/check-output-style.sh` (4 lines changed)
|
|
344
|
+
- `.claude/hooks/personality-manager.sh` (4 lines changed)
|
|
345
|
+
- `.claude/hooks/play-tts-elevenlabs.sh` (33 lines added)
|
|
346
|
+
- `.claude/hooks/play-tts.sh` (3 lines added)
|
|
347
|
+
- `.claude/hooks/provider-commands.sh` (31 lines added)
|
|
348
|
+
- `.claude/hooks/voice-manager.sh` (4 lines changed)
|
|
349
|
+
- `README.md` (4 lines changed)
|
|
350
|
+
- `src/installer.js` (4 lines changed)
|
|
351
|
+
|
|
352
|
+
**Test Updates (3 files):**
|
|
353
|
+
- `test/helpers/test-helper.bash` (6 lines changed)
|
|
354
|
+
- `test/unit/personality-manager.bats` (20 lines changed)
|
|
355
|
+
- `test/unit/personality-voice-mapping.bats` (21 lines changed)
|
|
356
|
+
- `test/unit/play-tts.bats` (9 lines removed)
|
|
357
|
+
|
|
358
|
+
**Total Changes:** 347 insertions, 35 deletions across 15 files
|
|
359
|
+
|
|
360
|
+
### 🔄 Migration Notes
|
|
361
|
+
|
|
362
|
+
**For All Users:**
|
|
363
|
+
- Update via `/agent-vibes:update` or `npx agentvibes update`
|
|
364
|
+
- No breaking changes - all existing settings preserved
|
|
365
|
+
- GitHub star reminder shows once per day (easily disabled)
|
|
366
|
+
- Provider switching now works correctly
|
|
367
|
+
|
|
368
|
+
**To Disable GitHub Star Reminders:**
|
|
369
|
+
```bash
|
|
370
|
+
echo "disabled" > .claude/github-star-reminder.txt
|
|
371
|
+
```
|
|
372
|
+
|
|
373
|
+
**To Install Piper TTS:**
|
|
374
|
+
```bash
|
|
375
|
+
.claude/hooks/piper-installer.sh
|
|
376
|
+
```
|
|
377
|
+
|
|
378
|
+
### 💡 What's Next
|
|
379
|
+
|
|
380
|
+
The next release (v2.1.0) will focus on:
|
|
381
|
+
- Enhanced Piper TTS voice management
|
|
382
|
+
- Improved multilingual voice selection
|
|
383
|
+
- Additional personality styles
|
|
384
|
+
- BMAD plugin enhancements
|
|
385
|
+
|
|
386
|
+
### 📝 Commits in This Release
|
|
387
|
+
|
|
388
|
+
```
|
|
389
|
+
869b1e8 feat: Add Piper TTS installer and improve GitHub star reminders
|
|
390
|
+
a9f3b0b feat: Add daily GitHub star reminder system
|
|
391
|
+
18c389e fix: Update output style command and provider switching functions
|
|
392
|
+
07ee376 test: Remove flaky API key test
|
|
393
|
+
5a1a78b test: Skip flaky API key test in CI environments
|
|
394
|
+
4ff1075 Merge branch 'master' of github.com:paulpreibisch/AgentVibes
|
|
395
|
+
73d8303 test: Update tests for provider-aware personality system
|
|
396
|
+
ec21c34 docs: Update README to version v2.0.9 [skip ci]
|
|
397
|
+
```
|
|
398
|
+
|
|
399
|
+
### 🙏 Credits
|
|
400
|
+
|
|
401
|
+
- Thanks to users who reported the provider switching issues
|
|
402
|
+
- Special appreciation to the community for supporting AgentVibes
|
|
403
|
+
- ElevenLabs team for their excellent multilingual API
|
|
404
|
+
|
|
405
|
+
---
|
|
406
|
+
|
|
407
|
+
🤖 Generated with [Claude Code](https://claude.com/claude-code)
|
|
408
|
+
|
|
409
|
+
Co-Authored-By: Claude <noreply@anthropic.com>
|
|
410
|
+
|
|
411
|
+
---
|
|
412
|
+
|
|
413
|
+
# 🎤 AgentVibes Release Notes
|
|
414
|
+
|
|
3
415
|
## 📦 v2.0.9 - Installer Release Notes Fix (2025-01-07)
|
|
4
416
|
|
|
5
417
|
### 🤖 AI Summary
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Add a new custom ElevenLabs TTS voice
|
|
3
|
+
argument-hint: <voice_name> <voice_id>
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Add a new custom ElevenLabs TTS voice to your voice library.
|
|
7
|
+
|
|
8
|
+
Usage:
|
|
9
|
+
- `/agent-vibes:add "My Custom Voice" abc123xyz456789`
|
|
10
|
+
- `/agent-vibes:add Narrator KTPVrSVAEUSJRClDzBw7`
|
|
11
|
+
|
|
12
|
+
The voice ID should be a 15-30 character alphanumeric string from your ElevenLabs account.
|
|
13
|
+
|
|
14
|
+
To find your voice IDs:
|
|
15
|
+
1. Go to https://elevenlabs.io/app/voice-library
|
|
16
|
+
2. Click on a voice
|
|
17
|
+
3. Copy the voice ID from the URL or settings
|
|
18
|
+
|
|
19
|
+
After adding, you can switch to it with `/agent-vibes:switch "Voice Name"`
|
|
20
|
+
|
|
21
|
+
!bash .claude/hooks/voice-manager.sh add $ARGUMENTS
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: ElevenLabs TTS voice management commands
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# 🎤 ElevenLabs Voice Management
|
|
6
|
+
|
|
7
|
+
Manage your ElevenLabs text-to-speech voices with these commands:
|
|
8
|
+
|
|
9
|
+
## Available Commands
|
|
10
|
+
|
|
11
|
+
### `/agent-vibes:list [first|last] [N]`
|
|
12
|
+
List all available voices, with optional filtering
|
|
13
|
+
- `/agent-vibes:list` - Show all voices
|
|
14
|
+
- `/agent-vibes:list first 5` - Show first 5 voices
|
|
15
|
+
- `/agent-vibes:list last 3` - Show last 3 voices
|
|
16
|
+
|
|
17
|
+
### `/agent-vibes:preview [first|last] [N]`
|
|
18
|
+
Preview voices by playing audio samples
|
|
19
|
+
- `/agent-vibes:preview` - Preview first 3 voices
|
|
20
|
+
- `/agent-vibes:preview 5` - Preview first 5 voices
|
|
21
|
+
- `/agent-vibes:preview last 5` - Preview last 5 voices
|
|
22
|
+
|
|
23
|
+
### `/agent-vibes:switch <voice_name>`
|
|
24
|
+
Switch to a different default voice
|
|
25
|
+
- `/agent-vibes:switch Northern Terry`
|
|
26
|
+
- `/agent-vibes:switch "Cowboy Bob"`
|
|
27
|
+
|
|
28
|
+
### `/agent-vibes:get`
|
|
29
|
+
Display the currently selected voice
|
|
30
|
+
|
|
31
|
+
### `/agent-vibes:add <name> <voice_id>`
|
|
32
|
+
Add a new custom voice from your ElevenLabs account
|
|
33
|
+
- `/agent-vibes:add "My Voice" abc123xyz456`
|
|
34
|
+
|
|
35
|
+
### `/agent-vibes:replay [N]`
|
|
36
|
+
Replay recently played TTS audio
|
|
37
|
+
- `/agent-vibes:replay` - Replay last audio
|
|
38
|
+
- `/agent-vibes:replay 1` - Replay most recent
|
|
39
|
+
- `/agent-vibes:replay 2` - Replay second-to-last
|
|
40
|
+
- `/agent-vibes:replay 3` - Replay third-to-last
|
|
41
|
+
|
|
42
|
+
Keeps last 10 audio files in history.
|
|
43
|
+
|
|
44
|
+
### `/agent-vibes:set-pretext <word>`
|
|
45
|
+
Set a prefix word/phrase for all TTS messages
|
|
46
|
+
- `/agent-vibes:set-pretext AgentVibes` - All TTS starts with "AgentVibes:"
|
|
47
|
+
- `/agent-vibes:set-pretext "Project Alpha"` - Custom phrase
|
|
48
|
+
- `/agent-vibes:set-pretext ""` - Clear pretext
|
|
49
|
+
|
|
50
|
+
Saved locally in `.claude/config/agentvibes.json`
|
|
51
|
+
|
|
52
|
+
## Getting Voice IDs
|
|
53
|
+
|
|
54
|
+
To add your own custom voices:
|
|
55
|
+
1. Go to https://elevenlabs.io/app/voice-library
|
|
56
|
+
2. Select or create a voice
|
|
57
|
+
3. Copy the voice ID (15-30 character alphanumeric string)
|
|
58
|
+
4. Use `/agent-vibes:add` to add it
|
|
59
|
+
|
|
60
|
+
## Default Voices
|
|
61
|
+
|
|
62
|
+
The system comes with these Character Voices from ElevenLabs:
|
|
63
|
+
- Northern Terry, Grandpa Spuds Oxley, Ms. Walker
|
|
64
|
+
- Ralf Eisend, Amy, Michael, Jessica Anne Bogart
|
|
65
|
+
- Aria, Lutz Laugh, Dr. Von Fusion, Matthew Schmitz
|
|
66
|
+
- Demon Monster, Cowboy Bob, Drill Sergeant
|
|
67
|
+
|
|
68
|
+
Enjoy your TTS experience! 🎵
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
{
|
|
2
|
+
"namespace": "agent-vibes",
|
|
3
|
+
"commands": [
|
|
4
|
+
{
|
|
5
|
+
"name": "list",
|
|
6
|
+
"description": "List all available ElevenLabs voices"
|
|
7
|
+
},
|
|
8
|
+
{
|
|
9
|
+
"name": "preview",
|
|
10
|
+
"description": "Preview ElevenLabs voices by playing audio samples"
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
"name": "switch",
|
|
14
|
+
"description": "Switch to a different ElevenLabs voice"
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
"name": "whoami",
|
|
18
|
+
"description": "Display currently selected voice"
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
"name": "sample",
|
|
22
|
+
"description": "Play a sample with the current or specified voice"
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"name": "replay",
|
|
26
|
+
"description": "Replay the last TTS message"
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"name": "personality",
|
|
30
|
+
"description": "Manage AI personality settings"
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"name": "sentiment",
|
|
34
|
+
"description": "Set temporary personality sentiment"
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"name": "set-pretext",
|
|
38
|
+
"description": "Configure pre-TTS message text"
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
"name": "set-language",
|
|
42
|
+
"description": "Set TTS language for multilingual voices"
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
"name": "add",
|
|
46
|
+
"description": "Add a new personality"
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
"name": "get",
|
|
50
|
+
"description": "Get personality details"
|
|
51
|
+
}
|
|
52
|
+
]
|
|
53
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: List available ElevenLabs TTS voices with optional filtering
|
|
3
|
+
argument-hint: [first|last] [N]
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
List available ElevenLabs TTS voices.
|
|
7
|
+
|
|
8
|
+
Usage examples:
|
|
9
|
+
- `/agent-vibes:list` - Show all voices
|
|
10
|
+
- `/agent-vibes:list first 5` - Show first 5 voices
|
|
11
|
+
- `/agent-vibes:list last 3` - Show last 3 voices
|
|
12
|
+
|
|
13
|
+
!bash .claude/hooks/voice-manager.sh list $ARGUMENTS
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Set or customize the personality style for TTS messages
|
|
3
|
+
argument-hint: [personality_name|list|add|edit|get|reset]
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# /agent-vibes:personality
|
|
7
|
+
|
|
8
|
+
Set or customize the personality style for TTS messages.
|
|
9
|
+
|
|
10
|
+
This command allows you to add character and emotion to your TTS announcements by applying personality modifiers to messages.
|
|
11
|
+
|
|
12
|
+
## Usage
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
# Set a personality
|
|
16
|
+
/agent-vibes:personality flirty
|
|
17
|
+
/agent-vibes:personality sarcastic
|
|
18
|
+
|
|
19
|
+
# List all personalities
|
|
20
|
+
/agent-vibes:personality list
|
|
21
|
+
|
|
22
|
+
# Add custom personality
|
|
23
|
+
/agent-vibes:personality add cowboy "Howdy partner!" "Yeehaw!"
|
|
24
|
+
|
|
25
|
+
# Show current personality
|
|
26
|
+
/agent-vibes:personality get
|
|
27
|
+
|
|
28
|
+
# Reset to normal
|
|
29
|
+
/agent-vibes:personality reset
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
## Available Personalities
|
|
33
|
+
|
|
34
|
+
- **normal** - Standard professional tone
|
|
35
|
+
- **flirty** - Playful and charming
|
|
36
|
+
- **angry** - Frustrated and irritated
|
|
37
|
+
- **sassy** - Bold with attitude
|
|
38
|
+
- **moody** - Melancholic and brooding
|
|
39
|
+
- **funny** - Lighthearted and comedic
|
|
40
|
+
- **sarcastic** - Dry wit and irony
|
|
41
|
+
- **poetic** - Elegant and lyrical
|
|
42
|
+
- **annoying** - Over-enthusiastic
|
|
43
|
+
- **professional** - Formal and precise
|
|
44
|
+
- **pirate** - Seafaring swagger
|
|
45
|
+
- **robot** - Mechanical and precise
|
|
46
|
+
- **surfer-dude** - Chill beach vibes
|
|
47
|
+
- **millennial** - Internet generation speak
|
|
48
|
+
- **zen** - Peaceful and mindful
|
|
49
|
+
- **dramatic** - Theatrical flair
|
|
50
|
+
- **crass** - Edgy and blunt
|
|
51
|
+
- **random** - Picks a different personality each time!
|
|
52
|
+
|
|
53
|
+
## Editing Personalities
|
|
54
|
+
|
|
55
|
+
Each personality is stored as a markdown file in `.claude/personalities/`. You can:
|
|
56
|
+
|
|
57
|
+
### Edit existing personalities:
|
|
58
|
+
```bash
|
|
59
|
+
/agent-vibes:personality edit flirty
|
|
60
|
+
```
|
|
61
|
+
This shows the file path - edit it directly to customize behavior.
|
|
62
|
+
|
|
63
|
+
### Create new personalities:
|
|
64
|
+
```bash
|
|
65
|
+
/agent-vibes:personality add cowboy
|
|
66
|
+
```
|
|
67
|
+
Creates a new personality file, then edit it to customize.
|
|
68
|
+
|
|
69
|
+
### Personality files contain:
|
|
70
|
+
- **Prefix**: Text added before messages
|
|
71
|
+
- **Suffix**: Text added after messages
|
|
72
|
+
- **AI Instructions**: How the AI should speak
|
|
73
|
+
- **Example Responses**: Sample messages
|
|
74
|
+
|
|
75
|
+
Files are located in `.claude/personalities/[name].md`
|
|
76
|
+
|
|
77
|
+
## Implementation
|
|
78
|
+
|
|
79
|
+
!bash .claude/hooks/personality-manager.sh $ARGUMENTS
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Preview ElevenLabs TTS voices by playing audio samples
|
|
3
|
+
argument-hint: [voice_name|first|last] [N]
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Preview ElevenLabs TTS voices by playing audio samples.
|
|
7
|
+
|
|
8
|
+
Usage examples:
|
|
9
|
+
- `/agent-vibes:preview` - Preview first 3 voices (default)
|
|
10
|
+
- `/agent-vibes:preview 5` - Preview first 5 voices
|
|
11
|
+
- `/agent-vibes:preview Jessica` - Preview Jessica Anne Bogart voice
|
|
12
|
+
- `/agent-vibes:preview "Northern Terry"` - Preview Northern Terry voice
|
|
13
|
+
- `/agent-vibes:preview first 10` - Preview first 10 voices
|
|
14
|
+
- `/agent-vibes:preview last 5` - Preview last 5 voices
|
|
15
|
+
|
|
16
|
+
!bash .claude/hooks/voice-manager.sh preview $ARGUMENTS
|