agentvibes 3.5.9 β†’ 4.0.0

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.
Files changed (71) hide show
  1. package/.agentvibes/bmad/bmad-voices-enabled.flag +0 -0
  2. package/.agentvibes/bmad/bmad-voices.md +69 -0
  3. package/.claude/config/audio-effects.cfg +1 -1
  4. package/.claude/config/background-music-position.txt +1 -27
  5. package/.claude/github-star-reminder.txt +1 -1
  6. package/.claude/hooks/audio-processor.sh +32 -17
  7. package/.claude/hooks/bmad-speak-enhanced.sh +5 -5
  8. package/.claude/hooks/bmad-speak.sh +4 -4
  9. package/.claude/hooks/bmad-voice-manager.sh +8 -8
  10. package/.claude/hooks/clawdbot-receiver-SECURE.sh +23 -25
  11. package/.claude/hooks/clawdbot-receiver.sh +28 -4
  12. package/.claude/hooks/language-manager.sh +1 -1
  13. package/.claude/hooks/path-resolver.sh +60 -0
  14. package/.claude/hooks/play-tts-agentvibes-receiver-for-voiceless-connections.sh +90 -0
  15. package/.claude/hooks/play-tts-piper.sh +82 -24
  16. package/.claude/hooks/play-tts-ssh-remote.sh +13 -15
  17. package/.claude/hooks/play-tts.sh +16 -5
  18. package/.claude/hooks/session-start-tts.sh +26 -56
  19. package/.claude/hooks/soprano-gradio-synth.py +1 -1
  20. package/.claude/hooks/verbosity-manager.sh +10 -4
  21. package/.claude/settings.json +1 -1
  22. package/CLAUDE.md +129 -104
  23. package/README.md +418 -10
  24. package/RELEASE_NOTES.md +60 -1036
  25. package/bin/agentvibes-voice-browser.js +1827 -0
  26. package/bin/agentvibes.js +100 -0
  27. package/mcp-server/server.py +67 -3
  28. package/package.json +11 -2
  29. package/src/console/app.js +806 -0
  30. package/src/console/audio-env.js +123 -0
  31. package/src/console/brand-colors.js +13 -0
  32. package/src/console/footer-config.js +42 -0
  33. package/src/console/modals/.gitkeep +0 -0
  34. package/src/console/modals/modal-overlay.js +247 -0
  35. package/src/console/navigation.js +60 -0
  36. package/src/console/tabs/.gitkeep +0 -0
  37. package/src/console/tabs/agents-tab.js +369 -0
  38. package/src/console/tabs/help-tab.js +261 -0
  39. package/src/console/tabs/install-tab.js +990 -0
  40. package/src/console/tabs/music-tab.js +997 -0
  41. package/src/console/tabs/placeholder-tab.js +45 -0
  42. package/src/console/tabs/readme-tab.js +267 -0
  43. package/src/console/tabs/settings-tab.js +3949 -0
  44. package/src/console/tabs/voices-tab.js +1574 -0
  45. package/src/installer/music-file-input.js +304 -0
  46. package/src/installer.js +1353 -676
  47. package/src/services/.gitkeep +0 -0
  48. package/src/services/agent-voice-store.js +163 -0
  49. package/src/services/config-service.js +240 -0
  50. package/src/services/navigation-service.js +123 -0
  51. package/src/services/provider-service.js +132 -0
  52. package/src/services/verbosity-service.js +157 -0
  53. package/src/utils/audio-duration-validator.js +298 -0
  54. package/src/utils/audio-format-validator.js +277 -0
  55. package/src/utils/dependency-checker.js +3 -3
  56. package/src/utils/file-ownership-verifier.js +358 -0
  57. package/src/utils/music-file-validator.js +275 -0
  58. package/src/utils/preview-list-prompt.js +136 -0
  59. package/src/utils/provider-validator.js +144 -132
  60. package/src/utils/secure-music-storage.js +412 -0
  61. package/templates/agentvibes-receiver.sh +11 -7
  62. package/voice-assignments.json +8245 -0
  63. package/.claude/config/background-music-volume.txt +0 -1
  64. package/.claude/config/background-music.cfg +0 -1
  65. package/.claude/config/background-music.txt +0 -1
  66. package/.claude/config/tts-speech-rate.txt +0 -1
  67. package/.claude/config/tts-verbosity.txt +0 -1
  68. package/.claude/hooks/bmad-party-manager.sh +0 -225
  69. package/.claude/hooks/stop.sh +0 -38
  70. package/.claude/piper-voices-dir.txt +0 -1
  71. package/.mcp.json +0 -34
package/RELEASE_NOTES.md CHANGED
@@ -1,1042 +1,66 @@
1
1
  # AgentVibes Release Notes
2
2
 
3
- ## πŸ›‘οΈ v3.5.8 - Provider Validation Security & UX Improvements
4
-
5
- **Release Date:** February 12, 2026
6
-
7
- ### 🎯 Summary
8
-
9
- Critical security and reliability update for provider detection. Fixes command injection vulnerabilities in validation code, prevents HOME directory injection attacks, and improves UX with explicit provider detection messaging. Soprano TTS installed via pipx is now correctly detected (previously showed "not installed" due to ES module import error). All 8 critical code review issues resolved with comprehensive security hardening and enhanced error reporting.
10
-
11
- ### ✨ Key Improvements
12
-
13
- - **πŸ” Security Fixes:** Fixed command injection vulnerability (template strings β†’ array form), prevented HOME injection attacks, added path traversal protection
14
- - **βœ… Provider Detection:** Soprano via pipx now correctly detected; added checkedLocations tracking for transparency
15
- - **πŸ’¬ Better Messaging:** Explicit "Detected and selected!" confirmation; detailed error messages showing what was checked
16
- - **πŸ§ͺ Test Coverage:** Enhanced tests verify actual detection values, not just types
17
- - **πŸ› Debugging:** Added [DEBUG] logging for troubleshooting provider issues
18
-
19
- ### πŸ”΄ Critical Fixes
20
-
21
- 1. **Command Injection Prevention** - All execSync calls now use array form (security: CLAUDE.md)
22
- 2. **HOME Directory Injection** - Switched to os.homedir() instead of process.env.HOME
23
- 3. **Path Traversal Protection** - Added path.resolve() validation for pipx venv directories
24
-
25
- ### 🟑 Medium Fixes
26
-
27
- 4. **Pipx Logic Improved** - Tracks checked locations even on success (transparency)
28
- 5. **Silent Failures Eliminated** - Added [DEBUG] error logging for diagnostics
29
- 6. **Test Quality Enhanced** - Verify message content, not just types
30
- 7. **Documentation** - Added JSDoc comments explaining security-critical imports
31
- 8. **Error Differentiation** - Better distinction between different failure types
32
-
33
- ### πŸ“Š Technical Impact
34
-
35
- - Soprano detection now works reliably for both pip and pipx installations
36
- - Reduced false negatives in provider validation
37
- - Enhanced security posture aligned with CLAUDE.md security mandates
38
- - Improved debuggability with explicit error messages
39
-
40
- ---
41
-
42
- ## πŸ”§ v3.5.7 - CLI Fix: npx Command Output & Startup Hooks
43
-
44
- **Release Date:** February 12, 2026
45
-
46
- Fixes critical bug where `npx agent-vibes install` and other commands produced no output, making CLI unusable. Root cause: bin/agent-vibes used dynamic import without passing arguments to installer.js on local execution. Also removed broken hook configurations (pre_compact.py, notification.ts) that didn't exist and caused startup errors in Claude Code settings.
47
-
48
- ### 🎯 What's Fixed
49
-
50
- - **npx agent-vibes now works** - `npx agent-vibes install`, `npx agent-vibes --help`, all commands produce proper output
51
- - **Startup hook errors gone** - Removed non-existent hook references from settings.json (pre_compact.py, notification.ts)
52
- - **CLI execution proper** - Both npx and local execution now use execFileSync with proper argument passing
53
-
54
- ### πŸš€ Technical Details
55
-
56
- **Before v3.5.7:**
57
- ```javascript
58
- // bin/agent-vibes (local execution path)
59
- import('../src/installer.js'); // ❌ No args, doesn't await
60
- ```
61
-
62
- **After v3.5.7:**
63
- ```javascript
64
- // bin/agent-vibes (all execution paths)
65
- execFileSync('node', [installerPath, ...arguments_], {
66
- stdio: 'inherit',
67
- cwd: isNpxExecution ? path.dirname(__dirname) : process.cwd(),
68
- }); // βœ… Passes args, proper I/O
69
- ```
70
-
71
- ---
72
-
73
- ## πŸ”§ v3.5.6 - Bug Fix: Bash Hook Parameter Handling
74
-
75
- **Release Date:** February 11, 2026
76
-
77
- Fixes critical regression in v3.5.5 where bash hooks failed with unbound variable errors when called with optional parameters under strict mode. Affects `play-tts.sh` and `provider-manager.sh`.
78
-
79
- ---
80
-
81
- ## πŸ“¦ v3.5.5 - Native Windows Support: Soprano, Piper & SAPI Providers
82
-
83
- **Release Date:** February 12, 2026
84
-
85
- ### 🎯 Why v3.5.5?
86
-
87
- v3.5.5 brings **native Windows support** to AgentVibes with a full-featured PowerShell installer and three TTS providers. Windows users no longer need WSL - AgentVibes runs natively with Soprano (neural), Piper (offline neural), or Windows SAPI (zero-setup) voices. The installer also adds **background music selection** (16 genre tracks), **reverb/audio effects** (via ffmpeg aecho), and **verbosity control** for the TTS experience.
88
-
89
- ### πŸš€ Key Highlights
90
-
91
- #### πŸ–₯️ Native Windows TTS (NEW!)
92
- - **3 providers**: Soprano (ultra-fast neural), Piper (offline neural), Windows SAPI (built-in)
93
- - **Beautiful PowerShell installer** with figlet banner and interactive setup
94
- - **8 hook scripts** for complete TTS functionality on Windows
95
- - **MCP server** auto-resolves `.sh` to `.ps1` on Windows
96
- - **46 Windows-specific unit tests** with full coverage
97
-
98
- #### 🎡 Background Music Selection
99
- - **16 genre tracks**: Flamenco, Bachata, Bossa Nova, City Pop, Chillwave, and more
100
- - **Interactive picker** in the installer with descriptions
101
- - **ffmpeg mixing**: 2s intro, voice over music, 2s fade-out outro
102
-
103
- #### πŸŽ›οΈ Reverb / Audio Effects
104
- - **5 reverb levels**: Off, Light, Medium, Heavy, Cathedral
105
- - **ffmpeg aecho filter** (no SOX dependency on Windows)
106
- - Applied before background music mixing for clean layering
107
-
108
- #### πŸ”Š Verbosity Control
109
- - **3 levels**: High (full reasoning), Medium (key updates), Low (essential only)
110
- - Integrates with session-start-tts.ps1 protocol instructions
111
-
112
- ### πŸ€– AI Summary
113
-
114
- AgentVibes v3.5.5 delivers native Windows support with a polished PowerShell installer offering three TTS providers (Soprano neural, Piper offline, Windows SAPI), background music selection from 16 genre tracks, reverb effects via ffmpeg aecho filter, and verbosity control. The release includes 8 Windows hook scripts, MCP server platform detection for automatic .sh-to-.ps1 resolution, and 46 new unit tests. Security hardening adds path traversal prevention with regex allowlisting and path containment checks, reverb config allowlist validation, and strict mode compliance across all scripts. Cross-platform test fixes ensure the full 93-test suite passes on both Windows and Unix.
115
-
116
- ---
117
-
118
- ## ✨ New Features
119
-
120
- ### Native Windows TTS
121
- - Full PowerShell installer (`setup-windows.ps1`) with figlet banner and interactive UX
122
- - Soprano provider (`play-tts-soprano.ps1`) with Gradio WebUI integration
123
- - Piper provider (`play-tts-windows-piper.ps1`) with auto-download of voices from HuggingFace
124
- - Windows SAPI provider (`play-tts-windows-sapi.ps1`) with zero-setup built-in voices
125
- - TTS router (`play-tts.ps1`) with mute support, background music mixing, and reverb
126
- - Provider manager, voice manager, audio cache utils, and session-start hook scripts
127
- - MCP server `.sh` to `.ps1` auto-resolution on Windows
128
-
129
- ### Installer Enhancements
130
- - Background music selection with 16 genre tracks and interactive picker
131
- - Reverb/audio effects selection (Off/Light/Medium/Heavy/Cathedral)
132
- - Verbosity control (High/Medium/Low) for TTS protocol instructions
133
- - Updated completion screen showing all 4 settings (provider, background, reverb, verbosity)
134
-
135
- ---
136
-
137
- ## πŸ› Bug Fixes
138
-
139
- ### Security Fixes
140
- - Fix path traversal in background music config reader (regex allowlist + path containment)
141
- - Add allowlist validation for reverb-level.txt config (prevent invalid values)
142
- - Add `set -euo pipefail` strict mode to `play-tts.sh` for Sonar compliance
143
-
144
- ### Cross-Platform Fixes
145
- - Fix self-copy error when setup-windows.ps1 runs from project root
146
- - Fix test executable permission checks on Windows (skip Unix mode bits)
147
- - Fix test path separator comparison in uninstall test (use `path.join` not hardcoded `/`)
148
-
149
- ---
150
-
151
- ## πŸ—οΈ Improvements
152
-
153
- ### Code Quality
154
- - Reverb config uses switch-as-allowlist pattern - file content never flows into commands
155
- - All SoundPlayer instances wrapped in try/finally for resource disposal
156
- - Environment variable cleanup (`AGENTVIBES_NO_PLAY`) on all exit paths
157
- - Input validation with regex + range checks for all installer prompts
158
-
159
- ### Testing
160
- - 46 new Windows-specific unit tests (hook scripts, providers, security, encoding)
161
- - 3 cross-platform test fixes for Windows compatibility
162
- - Full suite: 93 Node tests passing on Windows
163
-
164
- ---
165
-
166
- ## πŸ“Š Statistics
167
-
168
- - **7 commits** since v3.4.1
169
- - **3,769 lines added**, 211 removed across 24 files
170
- - **9 new PowerShell scripts** for Windows TTS
171
- - **93 tests passing** (46 Windows + 47 cross-platform)
172
- - **24/24 Sonar quality gates** passing
173
- - **Security score**: All path traversal and injection vectors reviewed
174
-
175
- ---
176
-
177
- ## πŸ”§ Technical Details
178
-
179
- ### Files Added
180
- - `.claude/hooks-windows/play-tts.ps1`: TTS router with reverb and background music
181
- - `.claude/hooks-windows/play-tts-soprano.ps1`: Soprano neural TTS provider
182
- - `.claude/hooks-windows/play-tts-windows-piper.ps1`: Piper offline TTS provider
183
- - `.claude/hooks-windows/play-tts-windows-sapi.ps1`: Windows SAPI built-in voices
184
- - `.claude/hooks-windows/provider-manager.ps1`: Provider switching
185
- - `.claude/hooks-windows/voice-manager-windows.ps1`: Voice browsing and selection
186
- - `.claude/hooks-windows/audio-cache-utils.ps1`: Cache management
187
- - `.claude/hooks-windows/session-start-tts.ps1`: Auto-activates TTS on Claude start
188
- - `setup-windows.ps1`: Full Windows installer with 4 interactive sections
189
- - `test/unit/windows-tts.test.js`: 46 Windows-specific unit tests
3
+ ## v4.0.0 - Interactive Console & Voice Explorer
4
+
5
+ **Release Date:** March 9, 2026
6
+
7
+ ### Summary
8
+
9
+ AgentVibes v4.0.0 is a major release that transforms the user experience with a full interactive TUI (Terminal User Interface) console, a voice browser with 914+ voices, and comprehensive platform support. This release includes 260 commits with 68 new features, 88 bug fixes, and significant security hardening across the entire codebase.
10
+
11
+ ### Key Features
12
+
13
+ **Interactive TUI Console:**
14
+ - Full terminal UI with tabbed navigation (Settings, Voices, Music, Agents, Help)
15
+ - Real-time settings management with live preview
16
+ - Voice selection modal with Save Locally/Globally options
17
+ - Music tab with background track browsing and preview
18
+ - Installer wizard with 5-screen guided flow
19
+ - Two-column settings layout with audio effects controls
20
+
21
+ **Voice Explorer & Browser:**
22
+ - Browse and preview 914+ Piper TTS voices
23
+ - Multi-speaker voice support with individual speaker selection
24
+ - Voice list with Name/Gender/Provider columns
25
+ - One-click voice installation and switching
26
+ - Friendly name resolution for voice switching
27
+
28
+ **Reliable TTS Hook System:**
29
+ - SessionStart hook now outputs structured JSON for reliable context injection
30
+ - Installer auto-initializes git repo (required for Claude Code hook support)
31
+ - Global voice config fallback when local multi-speaker files are missing
32
+ - Fixed hook path resolution for non-git directories
33
+
34
+ **Platform & Provider Improvements:**
35
+ - Native Windows support with Soprano, Piper, and SAPI providers
36
+ - Android/Termux support with termux-ssh provider
37
+ - SSH-PulseAudio remote audio streaming
38
+ - Clawdbot multi-agent SSH-remote TTS support
39
+ - macOS audio player support (afplay)
40
+ - Background music with custom track uploads
41
+
42
+ **Security Hardening:**
43
+ - 58 code review issues fixed across all files
44
+ - SSH receiver scripts hardened against injection attacks
45
+ - Comprehensive input validation and path traversal prevention
46
+ - Strict mode enforced across all bash scripts
47
+ - 180+ security test variations added
48
+
49
+ ### Bug Fixes
50
+
51
+ - Fixed multi-speaker voice ID storage and playback matching
52
+ - Fixed header status bar updates when settings change
53
+ - Fixed verbosity manager reading wrong .claude/ dir via MCP
54
+ - Fixed audio overlap with file locking mechanism
55
+ - Fixed provider selection navigation staying on correct page
56
+ - Fixed SessionStart hook calling PowerShell instead of bash on WSL2
57
+ - Fixed ffmpeg install prompt when sudo lacks a tty
58
+ - Fixed background music sync when track changes in Settings
190
59
 
191
60
  ### Breaking Changes
192
- None - all changes are backward compatible. Existing Unix/macOS installations are unaffected.
193
-
194
- ---
195
-
196
- ## πŸŽ“ Migration Notes
197
-
198
- ### For New Windows Users
199
- 1. Run `npx agentvibes install` (Node.js) or `.\setup-windows.ps1` (PowerShell)
200
- 2. Follow the interactive setup
201
- 3. Choose provider (Soprano, Piper, or SAPI)
202
- 4. Select background music, reverb, and verbosity
203
- 5. TTS works automatically in Claude Code sessions
204
-
205
- ### For Existing Unix/macOS Users
206
- - No changes required - your setup continues working
207
- - All Unix bash hooks remain untouched
208
- - Only `play-tts.sh` gained `set -euo pipefail` (strict mode)
209
-
210
- ---
211
-
212
- ## πŸ™ Acknowledgments
213
-
214
- ### Project Lead
215
- - **[@paulpreibisch](https://github.com/paulpreibisch)** (Paul Preibisch) β€” Creator and maintainer of AgentVibes
216
-
217
- ### Community Contributors
218
- - **[@nathanchase](https://github.com/nathanchase)** β€” For contributing the Soprano TTS provider in v3.4.0, whose ultra-fast neural engine is now one of the three Windows-native providers
219
- - **[@alexeyv](https://github.com/alexeyv)** β€” For suggesting native Windows support and recommending Windows SAPI as a zero-dependency provider
220
- - **[@bmadcode](https://github.com/bmadcode)** (Brian Madison) β€” Creator of the [BMAD Method](https://github.com/bmadcode/BMAD-METHOD), used daily for planning and building AgentVibes features
221
-
222
- ### Quality Assurance
223
- - **Adversarial Security Review**: Path traversal, injection, and resource disposal all validated
224
- - **Testing**: 93/93 tests passing (100% suite coverage)
225
- - **Quality Gates**: 24/24 Sonar requirements validated
226
- - **Co-Authored-By**: Claude Opus 4.6
227
-
228
- ---
229
-
230
- **Full Changelog**: https://github.com/paulpreibisch/AgentVibes/compare/v3.4.1...v3.5.5
231
-
232
- ---
233
-
234
- ## πŸ“¦ v3.4.0 - Soprano TTS, Security Hardening & Environment Intelligence
235
-
236
- **Release Date:** February 10, 2026
237
-
238
- ### 🎯 Why v3.4.0?
239
-
240
- v3.4.0 introduces **Soprano TTS** - an ultra-fast neural TTS provider with GPU acceleration, comprehensive **security hardening** across the codebase, and **intelligent environment detection** that recognizes PulseAudio tunnels for remote audio scenarios.
241
-
242
- ### πŸš€ Key Highlights
243
-
244
- #### ⚑ Soprano TTS Provider (NEW!)
245
- - **80M parameter neural model** with premium female English voice
246
- - **20x CPU speed** (vs Piper), **2000x GPU speed** with CUDA
247
- - **3 synthesis modes**: WebUI (Gradio), API (OpenAI-compatible), CLI (fallback)
248
- - **Auto-detection**: Checks for running Gradio server, falls back gracefully
249
- - **<1GB memory footprint** - perfect for low-RAM systems
250
- - **Provider-aware voice management**: Auto-selects single voice, shows model specs
251
- - **Thanks to [@nathanchase](https://github.com/nathanchase)** for this contribution! ([see acknowledgments](#-acknowledgments))
252
-
253
- #### πŸ›‘οΈ Security Hardening (9.5/10 Score)
254
- - **Timeouts on system commands**: Prevents installer hangs (nvidia-smi, sysctl, meminfo)
255
- - **Bounds checking**: Validates array access before parsing system output
256
- - **NaN validation**: Prevents crashes from malformed memory/GPU detection
257
- - **Case-insensitive checks**: PulseAudio tunnel detection handles TCP: and tcp:
258
- - **Code duplication eliminated**: Extracted PulseAudio helper function (DRY)
259
-
260
- #### 🌐 Environment Intelligence
261
- - **PulseAudio tunnel detection**: Recognizes `PULSE_SERVER=tcp:*` as working audio
262
- - **Context-aware messaging**:
263
- - "🌐 PulseAudio Tunnel Detected!" for SSH + tunnel setups
264
- - "πŸ”Š Audio Output Detected!" for local speakers
265
- - Distinguishes local/tunnel/hybrid configurations
266
- - **Smart environment classification**:
267
- - DESKTOP: Local audio OR active PulseAudio tunnel
268
- - VOICELESS: No audio AND no tunnel
269
- - PHONE: Termux/Android devices
270
-
271
- #### 🎀 Installer Enhancements
272
- - **Provider-aware voice pages**: Soprano shows model specs, Piper shows 50+ voices
273
- - **Auto-selection logic**: Soprano (1 voice) auto-selects, no manual choice needed
274
- - **GPU-based recommendations**: "Your GPU will run Soprano 2000x faster!"
275
- - **RAM-based suggestions**: Low memory systems see "Soprano uses <1GB" message
276
- - **Better RAM display**: Shows "512MB" instead of "0GB" for sub-1GB systems
277
-
278
- ### πŸ€– AI Summary
279
-
280
- AgentVibes v3.4.0 brings Soprano TTS - an 80M parameter neural provider offering 20x CPU and 2000x GPU acceleration with sub-1GB memory footprint - plus comprehensive security hardening (timeouts, bounds checking, NaN validation) and intelligent environment detection that recognizes PulseAudio tunnels as working audio for remote scenarios. The enhanced installer provides context-aware messaging distinguishing local speakers from SSH tunnels, GPU-based provider recommendations (Soprano for CUDA users, macOS Say for Apple, Piper for versatility), and provider-specific voice pages that auto-select Soprano's single voice while showcasing model specifications. This release achieves a 9.5/10 security score through systematic defensive programming, making AgentVibes production-ready for enterprise deployments while expanding TTS provider options for diverse hardware configurations.
281
-
282
- ---
283
-
284
- ## ✨ New Features
285
-
286
- ### Soprano TTS Provider
287
- - Add Soprano TTS provider script with 3 synthesis modes (WebUI, API, CLI) (#95)
288
- - Integrate Soprano into TTS router and provider manager
289
- - Add soprano-gradio-synth.py helper for WebUI/SSE protocol
290
- - Provider-aware voice selection page with model specifications
291
- - Auto-select single Soprano voice with performance details
292
-
293
- ### Installer Intelligence
294
- - Add `detectSystemCapabilities()` for GPU/RAM detection
295
- - Add `hasPulseAudioTunnel()` helper function
296
- - Context-aware audio detection messaging (tunnel vs local)
297
- - GPU-based provider ordering (Soprano first for CUDA users)
298
- - RAM-based recommendations (<4GB systems see Soprano first)
299
- - Provider-specific intro messages (Soprano vs Piper vs macOS)
300
-
301
- ### Environment Detection
302
- - PulseAudio tunnel recognition via PULSE_SERVER env var
303
- - Case-insensitive TCP protocol detection
304
- - Smart DESKTOP classification (local audio OR tunnel)
305
- - Improved VOICELESS detection (no audio AND no tunnel)
306
-
307
- ---
308
-
309
- ## πŸ› Bug Fixes
310
-
311
- ### Security Fixes
312
- - Add 5s timeout to nvidia-smi to prevent GPU detection hangs
313
- - Add 3s timeout to sysctl/meminfo to prevent memory detection hangs
314
- - Add bounds checking before parsing sysctl output (macOS)
315
- - Add bounds checking before parsing /proc/meminfo (Linux)
316
- - Add NaN validation for parseInt() memory size parsing
317
- - Fix case sensitivity in PULSE_SERVER detection (handles TCP: and tcp:)
318
-
319
- ### Test Fixes
320
- - Fix provider-manager test #90: Add soprano and ssh-remote to cleanup list
321
- - Ensure zero-provider edge case properly simulates empty state
322
-
323
- ### User Experience
324
- - Fix RAM display for <1GB systems (show "512MB" not "0GB")
325
- - Fix PulseAudio selection triggering wrong setup flow
326
- - Separate PulseAudio tunnel setup from SSH receiver setup
327
-
328
- ---
329
-
330
- ## πŸ—οΈ Improvements
331
-
332
- ### Code Quality
333
- - Extract PulseAudio detection to helper function (DRY principle)
334
- - Implement system capabilities caching (eliminates duplicate calls)
335
- - Add comprehensive error handling in detectSystemCapabilities()
336
- - Improve code comments for security-critical sections
337
-
338
- ### Performance
339
- - Cache system detection results (prevents duplicate nvidia-smi calls)
340
- - Add timeouts to prevent indefinite hangs
341
- - Optimize provider detection with early returns
342
-
343
- ### Documentation
344
- - Add comprehensive commit message documenting all changes
345
- - Document security improvements (timeouts, bounds checking, NaN validation)
346
- - Explain PulseAudio tunnel detection architecture
347
- - Detail environment classification logic
348
-
349
- ---
350
-
351
- ## πŸ“Š Statistics
352
-
353
- - **91 commits** since v3.3.0
354
- - **817 lines added** in merge to master
355
- - **6 files modified** in core integration
356
- - **260 tests passing** (213 BATS + 47 Node)
357
- - **Security score**: 7.5/10 β†’ 9.5/10
358
- - **Test coverage**: 100% pass rate
359
-
360
- ---
361
-
362
- ## πŸ”§ Technical Details
363
-
364
- ### Files Modified
365
- - `src/installer.js`: +335 lines (security fixes, environment detection, Soprano integration)
366
- - `test/unit/provider-manager.bats`: +4 lines (fix edge case test)
367
- - `.claude/hooks/play-tts-soprano.sh`: +320 lines (new provider)
368
- - `.claude/hooks/soprano-gradio-synth.py`: +139 lines (new helper)
369
- - `.claude/hooks/provider-manager.sh`: +17 lines (Soprano support)
370
- - `.claude/hooks/play-tts.sh`: +6 lines (route to Soprano)
371
-
372
- ### Breaking Changes
373
- None - all changes are backward compatible.
374
-
375
- ### Dependencies
376
- - **New**: `soprano-tts` (Python package, optional)
377
- - **Recommended**: CUDA-capable GPU for 2000x speedup (optional)
378
- - **Compatible**: Works on CPU-only systems (20x vs Piper)
379
-
380
- ---
381
-
382
- ## πŸŽ“ Migration Notes
383
-
384
- ### For New Users
385
- 1. Run `npx agentvibes install`
386
- 2. Installer auto-detects your hardware (GPU, RAM, platform)
387
- 3. Soprano appears as option if you have working audio
388
- 4. Select Soprano for ultra-fast TTS with GPU acceleration
389
-
390
- ### For Existing Users
391
- 1. Update: `npx agentvibes update`
392
- 2. Switch provider: `/agent-vibes:provider switch soprano`
393
- 3. Test: `/agent-vibes:sample soprano-default`
394
- 4. Optionally install soprano-tts: `pip install soprano-tts`
395
-
396
- ### PulseAudio Tunnel Users
397
- - Installer now auto-detects your tunnel configuration
398
- - Shows "🌐 PulseAudio Tunnel Detected!" instead of "speakers"
399
- - Provides DESKTOP mode options (Soprano, Piper, macOS Say)
400
- - No manual configuration needed
401
-
402
- ---
403
-
404
- ## πŸ™ Acknowledgments
405
-
406
- ### Special Thanks
407
-
408
- **πŸŽ‰ [@nathanchase](https://github.com/nathanchase)** - For contributing the Soprano TTS Provider integration (PR #95)! Nathan's work brings ultra-fast neural TTS with GPU acceleration to AgentVibes, offering 20x CPU and 2000x GPU performance improvements. The comprehensive integration includes WebUI, API, and CLI synthesis modes with intelligent auto-detection and graceful fallback. Thank you for this outstanding contribution! πŸš€
409
-
410
- ### Quality Assurance
411
-
412
- - **Security Review**: Adversarial code review achieved 9.5/10 score
413
- - **Testing**: All 260 tests pass (100% suite coverage)
414
- - **Quality Gates**: All Sonar requirements validated
415
- - **Co-Authored-By**: Claude Sonnet 4.5
416
-
417
- ---
418
-
419
- ## πŸ“š Additional Resources
420
-
421
- - [Soprano TTS Documentation](https://github.com/paulpreibisch/AgentVibes/blob/master/docs/providers.md#soprano-tts)
422
- - [PulseAudio Tunnel Setup](https://github.com/paulpreibisch/AgentVibes/blob/master/docs/SSH_REMOTE_SETUP.md)
423
- - [Security Hardening Guide](https://github.com/paulpreibisch/AgentVibes/blob/master/docs/security-hardening-guide.md)
424
- - [Provider Comparison](https://github.com/paulpreibisch/AgentVibes/blob/master/docs/providers.md)
425
-
426
- ---
427
-
428
- **Full Changelog**: https://github.com/paulpreibisch/AgentVibes/compare/v3.3.0...v3.4.0
429
-
430
- ---
431
-
432
- ## πŸ“¦ v3.3.0 - Remote TTS, Smart Installer, OpenClaw Receiver & Cache Management
433
-
434
- **Release Date:** February 5, 2026
435
-
436
- ### 🎯 Why v3.3.0?
437
-
438
- v3.3.0 transforms AgentVibes into a **universal TTS platform** for any environment:
439
-
440
- - **SSH-Remote Provider** - Generate TTS on servers, receive audio on your phone/computer
441
- - **Termux/Android Support** - Native Piper TTS on mobile devices
442
- - **OpenClaw Integration** - Turn voiceless servers into Siri-like conversational AI
443
- - **AgentVibes Receiver** - Receive and play audio from remote servers on your device
444
- - **Smart Installer** - Auto-detects your environment (voiceless, GUI, Termux, SSH)
445
- - **Intelligent Cache Management** - Real-time tracking and auto-cleanup prevents disk bloat
446
-
447
- #### 🌐 Real-World Use Case: OpenClaw + AgentVibes Receiver
448
-
449
- You deploy OpenClaw on a voiceless Mac mini (or remote server) where users message you via WhatsApp, Telegram, or Discord. With v3.3.0:
450
-
451
- **Before AgentVibes Receiver:**
452
- - User messages: "Tell me a joke"
453
- - Mac mini processes request
454
- - Text response appears in chat
455
- - 😞 No audio - silent experience
456
-
457
- **After AgentVibes Receiver:**
458
- 1. **Install AgentVibes** on your Mac mini (or remote server)
459
- 2. **Install AgentVibes Receiver** on your phone/iPad/laptop
460
- 3. **Connect via Tailscale** (one-time setup)
461
- 4. **User messages:** "Tell me a joke"
462
- 5. **Mac mini generates TTS** with your configured voice
463
- 6. **Audio streams to your device** via SSH tunnel
464
- 7. **Your speakers play:** πŸ”Š "Why did the AI go to school? To improve its learning model!"
465
- 8. **User in WhatsApp also hears** the audio playing (Siri-like experience)
466
-
467
- Result: OpenClaw transforms from **silent text AI** β†’ **Conversational AI with voice**
468
-
469
- Perfect for:
470
- - πŸ–₯️ Mac mini with OpenClaw
471
- - πŸ–₯️ Remote servers (AWS, DigitalOcean, Linode)
472
- - πŸ—οΈ Container deployments (Docker)
473
- - πŸ”§ WSL (Windows Subsystem for Linux)
474
- - πŸ“± Any voiceless environment needing audio
475
-
476
- ### πŸ€– AI Summary
477
-
478
- AgentVibes v3.3.0 unleashes the platform across new frontiers: remote servers via SSH-PulseAudio tunneling, Android/Termux environments with native Piper support, and OpenClaw (formerly Clawdbot) multi-agent orchestration. The redesigned smart installer detects your environment (voiceless, GUI, SSH, Termux) and shows only relevant options, plus optional BMAD personality injection for advanced users. Every TTS output now displays real-time cache metrics (file count/size with dynamic colors) plus intelligent size-based auto-cleanup that deletes oldest files when the cache exceeds threshold. The release includes comprehensive TTS queue management to prevent audio overlap, audio effects support across all providers, and full MCP tool integration for programmatic control. This release transforms AgentVibes into a universal TTS platform.
479
-
480
- **Key Highlights:**
481
- - 🌍 **SSH-Remote TTS** - Remote device playback via PulseAudio tunneling (servers, containers, WSL)
482
- - πŸ“± **Android/Termux Support** - Native Piper TTS on Android with termux-media-player integration
483
- - πŸ€– **OpenClaw Receiver** (formerly Clawdbot) - AgentVibes Receiver for receiving TTS from voiceless servers
484
- - 🧠 **Smart Installer** - Voiceless environment detection + personality injection for BMAD
485
- - πŸ“Š **Real-Time Cache Tracking** - File count and size on every output with dynamic colors
486
- - 🧹 **Intelligent Auto-Cleanup** - Size-based threshold (15MB default) prevents storage bloat
487
- - 🎡 **Queue Management** - Prevents TTS audio overlap via centralized queue system
488
- - βš™οΈ **Audio Effects** - Full support across SSH-remote, Termux-ssh, and local providers
489
- - πŸ“ **Uninstall Command** - Comprehensive cleanup with full documentation
490
- - βœ… **96 Commits** - Massive feature expansion with 213 BATS tests passing
491
-
492
- ### ✨ New Features
493
-
494
- #### 🌍 Remote SSH TTS Support
495
-
496
- **SSH-Remote Provider:**
497
- - Play TTS on remote servers via SSH + PulseAudio tunneling
498
- - Zero-dependency for audio output (uses PulseAudio network tunnel)
499
- - Perfect for deployed Claude Code on servers, containers, WSL
500
- - Auto-configuration of PulseAudio TCP module
501
- - Fallback to local playback if SSH unavailable
502
- - Full compatibility with all voice selection and audio effects
503
-
504
- **SSH-PulseAudio Integration:**
505
- - Automatic SSH connection detection and setup
506
- - Secure TCP tunnel for audio stream transmission
507
- - Support for both interactive and batch TTS operations
508
- - Persistent audio configuration per SSH session
509
-
510
- #### πŸ“± Android/Termux Support
511
-
512
- **Termux-SSH Provider:**
513
- - Native Piper TTS on Android via Termux environment
514
- - Uses termux-media-player for audio playback
515
- - Full voice selection and effects support
516
- - Automatic temp directory detection
517
- - Integration with Tailscale for secure remote access
518
- - Comprehensive setup guide with QR codes
519
-
520
- **Android Installation:**
521
- - Self-contained Termux installer script
522
- - One-command setup: `curl https://agentvibes.org/install-android | bash`
523
- - Automatic dependency detection and installation
524
- - Piper voice download management
525
-
526
- #### πŸŽ™οΈ OpenClaw Integration & AgentVibes Receiver
527
-
528
- **What is AgentVibes Receiver?**
529
-
530
- AgentVibes Receiver is a **lightweight audio client** that receives and plays TTS audio from remote servers where OpenClaw is installed. It runs on your phone, tablet, or personal computer and connects to voiceless servers via SSH tunnel.
531
-
532
- **The Problem It Solves:**
533
- - OpenClaw running on Mac mini/remote server has no audio output
534
- - Users message via WhatsApp/Telegram/Discord - get text responses only
535
- - 😞 No voice = Less engaging AI experience
536
-
537
- **AgentVibes Receiver Solution:**
538
- 1. **Lightweight client** runs on your device (phone/tablet/laptop)
539
- 2. **SSH tunnel** securely connects to your voiceless server
540
- 3. **Audio streams** from server to your device via PulseAudio
541
- 4. **Auto-plays** on your speakers when OpenClaw responds
542
- 5. **Siri-like experience** - Text + Voice in one flow
543
-
544
- **How It Works:**
545
-
546
- ```
547
- β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
548
- β”‚ Your Mac mini / Server β”‚
549
- β”‚ (OpenClaw + AgentVibes) β”‚
550
- β”‚ β”œβ”€ No audio output β”‚
551
- β”‚ β”œβ”€ Generates TTS β”‚
552
- β”‚ └─ Sends via SSH tunnel β”‚
553
- β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
554
- ↓ SSH Tunnel (encrypted)
555
- β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
556
- β”‚ Your Phone / Laptop β”‚
557
- β”‚ (AgentVibes Receiver) β”‚
558
- β”‚ β”œβ”€ Receives audio stream β”‚
559
- β”‚ β”œβ”€ Plays on speakers β”‚
560
- β”‚ └─ You hear OpenClaw speak β”‚
561
- β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
562
- ```
563
-
564
- **Example Flow:**
565
- ```
566
- WhatsApp: "Tell me a joke"
567
- ↓
568
- Mac mini: Processes with Claude
569
- ↓
570
- Generates TTS: "Why did the AI... [audio file]"
571
- ↓ SSH tunnel
572
- Your Phone: Plays audio πŸ”Š
573
- ↓
574
- You hear: "Why did the AI go to school?"
575
- ```
576
-
577
- **AgentVibes Receiver Features:**
578
- - **One-Time Setup** - Pair with server via SSH key
579
- - **Automatic Connection** - Reconnects if interrupted
580
- - **Real-Time Streaming** - Low latency audio playback
581
- - **SSH Encryption** - Secure tunnel for audio
582
- - **Tailscale Support** - Easy VPN for remote servers
583
- - **Multiple Servers** - Connect to different OpenClaw instances
584
- - **Voice Control** - Full voice selection on the server side
585
- - **Cache Metrics** - Monitor audio generation and cleanup
586
-
587
- **OpenClaw Skill Integration:**
588
- - Installed automatically with AgentVibes on OpenClaw server
589
- - Full feature access:
590
- - Voice selection (50+ voices)
591
- - Personality/sentiment (sarcastic, flirty, etc.)
592
- - Audio effects (reverb, echo, pitch)
593
- - Speech speed (0.5x - 3.0x)
594
- - Language translation (speak in different languages)
595
- - Real-time cache tracking
596
- - Automatic cleanup of old audio files
597
-
598
- #### 🧠 Smart Installer Enhancements
599
-
600
- **Voiceless Environment Detection:**
601
- - Auto-detects if GUI audio is unavailable (headless servers, containers)
602
- - Offers SSH-remote TTS as alternative for voiceless environments
603
- - Prevents installation of unnecessary audio dependencies
604
-
605
- **Personality Injection (BMAD):**
606
- - Interactive prompt during install for BMAD users
607
- - Optional TTS personality configuration
608
- - Sentiment/personality selection built into setup flow
609
- - Skipped for non-BMAD environments
610
-
611
- **Provider Auto-Selection:**
612
- - Intelligent detection of available providers:
613
- - macOS Say (macOS systems)
614
- - Piper TTS (all systems)
615
- - SSH-remote (if SSH available)
616
- - Termux-ssh (Android/Termux)
617
- - Shows only relevant providers in installation
618
-
619
- **Better UX:**
620
- - Clear descriptions of each provider
621
- - Setup URLs for complex providers (Tailscale)
622
- - Comprehensive help text for each option
623
- - Git log integration for recent changes
624
-
625
- #### πŸ“Š Real-Time TTS Cache Tracking & Intelligent Auto-Cleanup
626
-
627
- **Why Cache Management Matters:**
628
- - TTS audio files accumulate quickly
629
- - Server deployments can run out of disk space silently
630
- - Users have no visibility into cache size or cleanup status
631
- - Manual cleanup is inconvenient and error-prone
632
-
633
- **Cache Display on Every Output:**
634
- Every time you generate TTS, you see real-time cache metrics:
635
- ```
636
- πŸ’Ύ Saved to: /home/user/.claude/audio/tts-1770274925.wav πŸ“¦ 28 20.9MB 🧹[15mb]
637
- ```
638
-
639
- What you see:
640
- - πŸ’Ύ **Full path** - Clickable file for replay or sharing
641
- - πŸ“¦ **28** - File count in cache
642
- - **20.9MB** - Total cache size (color-coded):
643
- - 🟒 Green: <500MB
644
- - 🟑 Yellow: 500MB-3GB
645
- - πŸ”΄ Red: >3GB
646
- - 🧹 **[15mb]** - Auto-cleanup threshold
647
-
648
- **Intelligent Size-Based Auto-Cleanup:**
649
- - Deletes oldest files when cache exceeds threshold (default: 15MB)
650
- - Silent operation (no blocking prompts)
651
- - Write-lock protection prevents conflicts with TTS generation
652
- - Respects active TTS (won't delete while generating)
653
-
654
- **Configuration:**
655
- ```bash
656
- # Per-project threshold override
657
- echo "50" > .claude/tts-auto-clean-threshold.txt # 50MB limit
658
-
659
- # Or disable cleanup
660
- echo "0" > .claude/tts-auto-clean-threshold.txt # Disable
661
- ```
662
-
663
- **Manual Cleanup:**
664
- ```bash
665
- # Non-interactive cleanup
666
- /agent-vibes:clean
667
-
668
- # Or programmatically via MCP
669
- await agent_vibes.clean_audio_cache()
670
- ```
671
-
672
- #### 🎡 TTS Queue Management
673
-
674
- **Overlap Prevention:**
675
- - Centralized queue system for TTS operations
676
- - Prevents simultaneous audio playback
677
- - Critical for Clawdbot multi-agent scenarios
678
- - Atomic queue operations ensure consistency
679
-
680
- **Queue Integration:**
681
- - Automatic in OpenClaw Receiver
682
- - Optional in standalone environments
683
- - Fallback to sequential playback
684
-
685
- #### βš™οΈ Audio Effects Across All Providers
686
-
687
- **Effects Support:**
688
- - Reverb, echo, pitch, EQ available
689
- - SSH-remote provider: Full effects support
690
- - Termux-ssh provider: Full effects support
691
- - All local providers: Unchanged effects behavior
692
-
693
- **Configuration:**
694
- - Per-session override via environment variables
695
- - Project-local settings via config files
696
- - Persistent across TTS operations
697
-
698
- #### πŸ“ Comprehensive Uninstall Command
699
-
700
- **`/agent-vibes:uninstall` Skill:**
701
- - Complete removal of AgentVibes and dependencies
702
- - Interactive prompts for user confirmation
703
- - Option to preserve configuration
704
- - Detailed removal logs
705
- - Full documentation included
706
-
707
- ### πŸ› Bug Fixes
708
-
709
- - **TTS Overlap** - Fixed audio overlapping via queue management
710
- - **Termux Audio** - Proper detection and use of termux-media-player
711
- - **SSH Detection** - Improved SSH environment detection logic
712
- - **Race Conditions** - Write-lock mechanism prevents cleanup conflicts
713
- - **Temp Directory** - Proper Termux temp directory handling
714
- - **Color Codes** - Fixed GOLD color (256-color \033[38;5;226m)
715
- - **Stat Compatibility** - BSD/GNU stat detection with proper output suppression
716
- - **Syntax Validation** - Fixed installer.js syntax errors
717
- - **Coverage Testing** - Proper coverage file generation for CI/CD
718
-
719
- ### πŸ”’ Security & Quality
720
-
721
- - **No Hardcoded Credentials** - All secure operations use environment variables
722
- - **SSH Safety** - Secure PulseAudio tunnel authentication
723
- - **Atomic Operations** - Queue and receiver use atomic file operations
724
- - **Input Validation** - All external inputs validated
725
- - **Pre-existing Limitations** - TTS scripts lack `set -euo pipefail` (pre-existing)
726
- - **Sonar Compliance** - Security hotspots resolved, quality gates passing
727
- - **Test Coverage** - 213 BATS tests + 47 Node unit tests
728
-
729
- ### βœ… Testing & Validation
730
-
731
- - **213 BATS Tests** - Core functionality validation
732
- - **47 Node Tests** - JavaScript/installer validation
733
- - **Cross-Platform** - Piper, macOS, SSH-remote, Termux-ssh
734
- - **Environment Tests** - Voiceless, GUI, SSH, Termux detection
735
- - **Audio Effects** - All providers tested
736
- - **Backwards Compatible** - No breaking changes to existing code
737
-
738
- ---
739
-
740
- ## πŸ“¦ v3.2.0 - Clawdbot Integration: AI Assistants on Any Messenger
741
-
742
- **Release Date:** January 27, 2026
743
-
744
- ### 🎯 Why v3.2.0?
745
-
746
- This minor release adds **native Clawdbot integration** to AgentVibes, bringing professional TTS to the revolutionary AI assistant you can access via any instant messenger. Clawdbot connects Claude AI to WhatsApp, Telegram, Discord, and moreβ€”and now with AgentVibes, your Clawdbot can speak with 50+ professional voices in 30+ languages. This release also includes SonarCloud quality gate improvements and CI/CD workflow enhancements.
747
-
748
- ### πŸ€– AI Summary
749
-
750
- AgentVibes v3.2.0 introduces seamless integration with Clawdbot, the revolutionary AI assistant accessible via any instant messenger. With this release, Clawdbot users get professional TTS with 50+ voices, remote SSH audio support for server deployments, and zero-configuration setupβ€”just install AgentVibes and the Clawdbot skill is ready. The release also includes quality improvements: SonarCloud workflow fixes, enhanced documentation for disabling quality gate checks, and improved test coverage validation.
751
-
752
- **Key Highlights:**
753
- - πŸ€– **Clawdbot Integration** - Native TTS support for Clawdbot AI assistant framework
754
- - πŸ’¬ **Messenger Platforms** - Works with WhatsApp, Telegram, Discord via Clawdbot
755
- - πŸ”Š **Remote SSH Audio** - Perfect for Clawdbot on remote servers with PulseAudio tunneling
756
- - πŸ“¦ **Simple Install** - Just `npx agentvibes install` and it works
757
- - πŸ›‘οΈ **SonarCloud Fixes** - Quality gate workflow improvements and documentation
758
- - βœ… **Full Test Coverage** - All 213 BATS + 47 Node tests passing
759
-
760
- ### ✨ New Features
761
-
762
- **Clawdbot Skill (`.clawdbot/`):**
763
- - New `.clawdbot/` directory with skill integration files
764
- - `README.md` - Clawdbot integration overview and setup guide
765
- - `skill/SKILL.md` - Comprehensive skill documentation with voice selection, background music, effects, personalities, and remote SSH audio setup
766
- - Automatically distributed via npm package
767
- - Zero-configuration when AgentVibes is installed
768
-
769
- **README Updates:**
770
- - Added "πŸ€– Clawdbot Integration" section with full documentation
771
- - Updated header to include Clawdbot alongside Claude Code, Claude Desktop, and Warp Terminal
772
- - Added Clawdbot to Quick Links table
773
- - Clawdbot description: "A revolutionary AI assistant you can access via any instant messenger"
774
- - Website link: https://clawd.bot
775
-
776
- **package.json Updates:**
777
- - Added `.clawdbot/` to npm files array for distribution
778
- - Added `clawdbot` to keywords for npm discoverability
779
- - Updated description to mention Clawdbot support
780
-
781
- ### πŸ› Bug Fixes
782
-
783
- - **SonarCloud Quality Gate** - Disabled quality gate status reporting to GitHub to prevent false CI failures
784
- - **Coverage File Generation** - Ensured coverage file is generated before SonarCloud scan
785
- - **CLI Test Coverage** - Added CLI tests and excluded CLI entry point from coverage requirements
786
- - **macOS Runner** - Removed macos-15-large runner to avoid GitHub billing limits
787
- - **Piper Voice Test** - Updated installation test to match current voice list
788
-
789
- ### πŸ“š Documentation
790
-
791
- - Added step-by-step SonarCloud dashboard configuration guide
792
- - Added guide to disable SonarCloud GitHub App checks
793
- - Comprehensive Clawdbot integration documentation with SSH audio examples
794
-
795
- ### πŸ”’ Security & Quality
796
-
797
- - βœ… All Sonar quality gates validated
798
- - βœ… No hardcoded credentials in changes
799
- - βœ… New Clawdbot files are documentation only (no executable code)
800
- - βœ… All 213 BATS + 47 Node tests passing
801
-
802
- ### πŸ“Š Changes Summary
803
-
804
- - **Files Added:** 2 (`.clawdbot/README.md`, `.clawdbot/skill/SKILL.md`)
805
- - **Files Modified:** 2 (`README.md`, `package.json`)
806
- - **Commits Since v3.1.0:** 11 (5 fixes, 4 docs, 1 test, 1 debug)
807
-
808
- ### 🎯 User Impact
809
-
810
- **For Clawdbot Users:**
811
- - Professional TTS with 50+ voices in 30+ languages
812
- - Works on remote servers with SSH audio tunneling
813
- - Zero API costsβ€”Piper TTS is free and offline
814
- - Automatic integration when AgentVibes is installed
815
-
816
- **For Existing Users:**
817
- - Zero breaking changes
818
- - All existing features work exactly the same
819
- - Clawdbot support is additive
820
-
821
- ### πŸš€ Migration Notes
822
-
823
- No migration required! This is a fully backward-compatible minor release.
824
-
825
- **To Use with Clawdbot:**
826
- 1. Install: `npx agentvibes install`
827
- 2. Speak: `npx agentvibes speak "Hello!"`
828
-
829
- ### πŸ“¦ Full Changelog
830
-
831
- **Feature Commits:**
832
- - `(pending)` feat: Add Clawdbot integration
833
-
834
- **Bug Fix Commits:**
835
- - `5cd97d52` fix: Disable SonarCloud quality gate status reporting to GitHub
836
- - `12f822e6` fix: Disable quality gate failure in SonarCloud workflow
837
- - `0d26ccc2` fix: Ensure coverage file is generated before SonarCloud scan
838
- - `c2465508` fix: Add CLI tests and exclude CLI entry point from coverage
839
- - `c673afe1` fix: Remove macos-15-large runner to avoid GitHub billing limits
840
- - `92271732` fix: Update Piper installation test to match current voice list
841
-
842
- **Documentation Commits:**
843
- - `f72dd977` docs: Add guide to disable SonarCloud GitHub App checks
844
- - `6587519b` docs: Add step-by-step SonarCloud dashboard configuration guide
845
- - `ba765f50` docs: Add SonarCloud quality gate configuration guidance
846
-
847
- **Test Commits:**
848
- - `47f08a79` test: Trigger workflow to verify SonarCloud quality gate fix
849
-
850
- **Debug Commits:**
851
- - `84945d25` debug: Add coverage file verification to SonarCloud workflow
852
-
853
- ---
854
-
855
- ## πŸ“¦ v3.1.0 - Android Native Support: Run Claude Code on Your Phone
856
-
857
- **Release Date:** January 22, 2026
858
-
859
- ### 🎯 Why v3.1.0?
860
-
861
- This minor release brings **native Android support** to AgentVibes, enabling developers to run Claude Code with professional TTS voices directly on Android devices via Termux. No SSH required, no remote server neededβ€”just install Termux on your Android phone or tablet and get the full AgentVibes experience locally. This complements the v3.0.0 termux-ssh provider by offering a **complete mobile development solution**: use native Termux for local Android development, or use termux-ssh when connecting to remote servers.
862
-
863
- ### πŸ€– AI Summary
864
-
865
- AgentVibes v3.1.0 introduces native Android/Termux support, enabling developers to run Claude Code with professional TTS voices directly on their Android devices. Through automatic detection and a specialized installer, AgentVibes now runs Piper TTS via proot-distro with Debian (solving Android's glibc compatibility issues), uses termux-media-player for audio playback, and includes comprehensive Android-specific documentation. Perfect for developers who want to code on-the-go with their Android phone or tablet using the full power of Claude Code and AgentVibes.
866
-
867
- **Key Highlights:**
868
- - πŸ€– **Native Android Support** - Run Claude Code with TTS directly on Android devices via Termux
869
- - πŸ“¦ **Automatic Termux Detection** - AgentVibes auto-detects Android and runs specialized installation
870
- - 🎯 **Proot-Distro Integration** - Solves glibc compatibility with proot Debian environment
871
- - πŸ”Š **Android Audio Playback** - Uses termux-media-player for native Android audio routing
872
- - πŸ“š **Comprehensive Documentation** - Complete Android setup guide with troubleshooting and F-Droid instructions
873
- - βœ… **Full Test Coverage** - All 213 BATS + 38 Node tests passing with Android compatibility
874
-
875
- ### ✨ New Features
876
-
877
- **Termux Installer (`.claude/hooks/termux-installer.sh`):**
878
- - New 224-line installer specifically for Android/Termux environments
879
- - Automatically installs proot-distro with Debian (for glibc compatibility)
880
- - Downloads and configures Piper TTS binary in proot environment
881
- - Creates `/usr/bin/piper` wrapper that routes through proot
882
- - Installs audio dependencies: ffmpeg, sox, bc, termux-api
883
- - Interactive voice selection with 50+ language options
884
- - Validates Termux environment before proceeding
885
-
886
- **Termux Detection (`src/installer.js`):**
887
- - New `isTermux()` function checks for `/data/data/com.termux` directory
888
- - New `detectAndNotifyTermux()` displays Android detection messages
889
- - Auto-configures piper provider with Termux-compatible voice
890
- - Shows Termux-specific installation instructions
891
- - Piper installer automatically redirects to termux-installer.sh on Android
892
-
893
- **Audio Processor Updates (`.claude/hooks/audio-processor.sh`):**
894
- - Detects Termux environment for temp directory selection
895
- - Uses `${PREFIX}/tmp` on Termux, `/tmp` on standard systems
896
- - Ensures audio effects work correctly on Android
897
- - Cross-platform compatibility maintained
898
-
899
- **Piper Installer Updates (`.claude/hooks/piper-installer.sh`):**
900
- - Auto-detects Termux and redirects to specialized installer
901
- - Shows clear message when routing to Termux-specific setup
902
-
903
- **Android Audio Playback (`.claude/hooks/play-tts-piper.sh`):**
904
- - Detects Android/Termux environment
905
- - Uses `termux-media-player` instead of `paplay` on Android
906
- - Audio routes through Android's native media system
907
-
908
- ### πŸ“š Documentation
909
-
910
- **New Android Setup Section (`README.md`):**
911
- - Added "πŸ€– Android / Termux" section to System Requirements
912
- - Complete 3-step installation guide for Android devices
913
- - Explanation of why Termux needs special handling (bionic vs glibc)
914
- - Requirements: Termux app from F-Droid, Termux:API, Android 7.0+
915
- - Audio playback architecture explanation
916
- - Setup verification commands
917
- - Troubleshooting table for common issues
918
- - Clear explanation of why F-Droid version is required (not Google Play)
919
- - Updated Quick Links table with direct link to Android setup
920
-
921
- ### πŸ› Bug Fixes
922
-
923
- - **Test #90 Fix** - Added termux-ssh provider to test cleanup list for "no providers found" edge case
924
- - **Temp Directory Detection** - Fixed audio-processor.sh defaulting to Termux paths on non-Termux systems
925
- - **Sonar Compliance** - Added `set -euo pipefail` strict mode to termux-installer.sh for security
926
-
927
- ### πŸ”’ Security & Quality
928
-
929
- - βœ… All Sonar quality gates validated
930
- - βœ… Strict mode (`set -euo pipefail`) on all new bash scripts
931
- - βœ… No hardcoded credentials
932
- - βœ… Proper variable quoting and input validation
933
- - βœ… Cross-platform temp directory handling
934
- - βœ… All 213 BATS + 38 Node tests passing
935
-
936
- ### πŸ“Š Changes Summary
937
-
938
- - **Files Modified:** 7
939
- - **Lines Added:** +391
940
- - **Lines Removed:** -8
941
- - **New Files:** 1 (termux-installer.sh)
942
- - **Commits:** 8 (5 fixes, 1 feature, 1 docs, 1 merge)
943
-
944
- ### 🎯 User Impact
945
-
946
- **For Android Users:**
947
- - Can now run Claude Code directly on Android phones/tablets
948
- - Full TTS support with 50+ voices and languages
949
- - No remote server required for basic usage
950
- - Works offline after initial voice downloads
951
-
952
- **For Developers:**
953
- - Complete mobile development solution (native + SSH)
954
- - Native Termux for local Android development
955
- - Termux-SSH provider for remote server connections
956
- - Seamless integration with existing AgentVibes workflows
957
-
958
- **For Existing Users:**
959
- - Zero breaking changes
960
- - All existing features work exactly the same
961
- - New Android support is opt-in via Termux installation
962
-
963
- ### πŸš€ Migration Notes
964
-
965
- No migration required! This is a fully backward-compatible minor release.
966
-
967
- **To Try Android Support:**
968
- 1. Install [Termux from F-Droid](https://f-droid.org/en/packages/com.termux/)
969
- 2. Install [Termux:API](https://f-droid.org/en/packages/com.termux.api/)
970
- 3. In Termux: `pkg install nodejs-lts`
971
- 4. Run: `npx agentvibes install`
972
-
973
- AgentVibes will auto-detect Termux and run the specialized installer.
974
-
975
- ### πŸ“¦ Full Changelog
976
-
977
- **Feature Commits:**
978
- - `e9d4cf95` feat: Add Android/Termux support for Piper TTS
979
-
980
- **Bug Fix Commits:**
981
- - `aa4d3cdd` fix: Add termux-ssh provider to test #90 cleanup list
982
- - `c1b00c6d` fix: Use termux-media-player for audio playback on Android
983
- - `f96ab89a` fix: Properly detect Termux environment for temp directory
984
- - `e2efeb06` fix: Add strict mode to termux-installer.sh for Sonar compliance
985
-
986
- **Documentation Commits:**
987
- - `701a9412` docs: Add comprehensive Android/Termux setup section to README
988
-
989
- **Merge Commits:**
990
- - `a5d3f546` Merge feature/android-termux into master
991
- - `95f04e70` Merge origin/master into feature/pulseaudio-reverse-tunnel
992
-
993
- ---
994
-
995
- ## πŸ“¦ v3.0.0 - Cross-Platform Remote Audio: Termux SSH Provider
996
-
997
- **Release Date:** January 8, 2026
998
-
999
- ### 🎯 Why v3.0.0?
1000
-
1001
- This major release marks a significant milestone in AgentVibes' evolution, introducing **mobile-first interactive AI conversations**. The termux-ssh provider enables a revolutionary workflow: **have fully interactive, hands-free conversations with Claude Code using just your mobile device**β€”whether you're coding locally on your laptop with audio routed to your phone, or working on remote servers from anywhere in the world. This architectural breakthrough represents a new paradigm: **"Code with your hands, converse with your voice."**
1002
-
1003
- ### πŸ€– AI Summary
1004
-
1005
- AgentVibes v3.0.0 introduces the termux-ssh TTS provider, enabling **true mobile-first interactive conversations with Claude Code**. Route TTS audio to your Android device via SSHβ€”whether coding locally on your laptop or on remote serversβ€”and have hands-free, voice-driven conversations with Claude using just your phone. This major release includes comprehensive Tailscale VPN setup documentation for internet-wide access, full MCP server integration, and transforms how developers interact with AI assistants. Perfect for developers who want to experience AI conversations naturally through their mobile device while their hands stay on the keyboard.
1006
-
1007
- **Key Highlights:**
1008
- - πŸ“± **Mobile-First AI Conversations** - Have fully interactive, hands-free conversations with Claude Code using just your Android device
1009
- - πŸ’» **Local + Remote Development** - Works for both local coding (laptop β†’ phone audio) and remote server development
1010
- - 🌐 **Tailscale Integration** - Comprehensive guide for internet-wide device access without port forwarding or firewall configuration
1011
- - πŸ”§ **Enhanced Installer** - Interactive SSH host configuration with validation and clear use-case guidance
1012
- - 🎯 **Full MCP Compatibility** - Complete integration with all MCP commands and workflows
1013
- - πŸ›‘οΈ **Quality Gates Integration** - Automated security validation in release process
1014
-
1015
- ### πŸŽ₯ Demo Video
1016
-
1017
- **Watch it in action:** [Mobile-First AI Conversations with Claude Code](https://youtu.be/ngLiA_KQtTA?si=wTwS4CJidIxWqLIP)
1018
-
1019
- See the termux-ssh provider in actionβ€”fully interactive, hands-free conversations with Claude Code using just your Android device.
1020
-
1021
- ### ✨ New Features
1022
-
1023
- **Termux SSH TTS Provider (`.claude/hooks/play-tts-termux-ssh.sh`):**
1024
- - New TTS provider for Android via SSH connection
1025
- - Routes text to `termux-tts-speak` on remote Android device
1026
- - Configuration priority: env var β†’ project β†’ global
1027
- - Secure quote escaping for safe text transmission
1028
- - 196 lines of fully documented code
1029
-
1030
- **Installer Updates (`src/installer.js`):**
1031
- - Added termux-ssh to provider selection menu
1032
- - Interactive SSH host alias configuration with validation
1033
- - Saves host alias to `.claude/termux-ssh-host.txt`
1034
- - Clear use case description: "Only choose if your project is on a remote server and you want audio sent to your Android device"
1035
- - Documentation link to TERMUX_SETUP.md
1036
61
 
1037
- **TTS Router Updates (`.claude/hooks/play-tts.sh`):**
1038
- - Added termux-ssh provider routing in two locations
1039
- - Full integration with existing provider detection
1040
- - Supports mixed-provider mode (Piper + Termux)
62
+ - Minimum Node.js version: v20
63
+ - SessionStart hook output format changed from plain text to JSON
64
+ - Voice config files restructured for multi-speaker support
65
+ - Installer now creates a git repository in the target directory
1041
66
 
1042
- **MCP Server Integration (`mcp-server/server.py`):**