agentvibes 4.0.0 β 4.2.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.
- package/.claude/config/audio-effects.cfg +3 -2
- package/.claude/config/background-music-position.txt +1 -1
- package/.claude/hooks/audio-processor.sh +87 -43
- package/.claude/hooks/bmad-speak.sh +184 -27
- package/.claude/hooks/play-tts-enhanced.sh +40 -5
- package/.claude/hooks/play-tts-macos.sh +29 -6
- package/.claude/hooks/play-tts-piper.sh +174 -67
- package/.claude/hooks/play-tts-soprano.sh +42 -6
- package/.claude/hooks/play-tts-ssh-remote.sh +117 -38
- package/.claude/hooks/play-tts.sh +12 -9
- package/.claude/hooks/session-start-tts.sh +10 -0
- package/.claude/hooks/stop-tts.sh +84 -0
- package/.claude/hooks/tts-queue-worker.sh +51 -20
- package/.claude/hooks/tts-queue.sh +37 -8
- package/.claude/hooks/voice-manager.sh +5 -1
- package/CLAUDE.md +0 -11
- package/README.md +176 -78
- package/RELEASE_NOTES.md +1197 -60
- package/bin/agentvibes-voice-browser.js +35 -21
- package/mcp-server/server.py +36 -0
- package/package.json +1 -3
- package/src/console/app.js +23 -5
- package/src/console/constants/personalities.js +44 -0
- package/src/console/footer-config.js +8 -0
- package/src/console/navigation.js +3 -1
- package/src/console/tabs/agents-tab.js +1219 -72
- package/src/console/tabs/install-tab.js +2 -1
- package/src/console/tabs/placeholder-tab.js +9 -1
- package/src/console/tabs/receiver-tab.js +1212 -0
- package/src/console/tabs/settings-tab.js +33 -323
- package/src/console/widgets/destroy-list.js +25 -0
- package/src/console/widgets/format-utils.js +89 -0
- package/src/console/widgets/notice.js +55 -0
- package/src/console/widgets/personality-picker.js +185 -0
- package/src/console/widgets/reverb-picker.js +94 -0
- package/src/console/widgets/track-picker.js +285 -0
- package/src/installer.js +54 -2
- package/src/services/agent-voice-store.js +282 -22
- package/src/services/config-service.js +24 -0
- package/src/services/navigation-service.js +1 -1
- package/src/utils/music-file-validator.js +41 -31
- package/templates/agentvibes-receiver.sh +431 -111
package/RELEASE_NOTES.md
CHANGED
|
@@ -1,66 +1,1203 @@
|
|
|
1
1
|
# AgentVibes Release Notes
|
|
2
2
|
|
|
3
|
-
## v4.
|
|
4
|
-
|
|
5
|
-
**Release Date:** March
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
**
|
|
22
|
-
-
|
|
23
|
-
-
|
|
24
|
-
-
|
|
25
|
-
-
|
|
26
|
-
-
|
|
27
|
-
|
|
28
|
-
**
|
|
29
|
-
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
-
|
|
54
|
-
-
|
|
55
|
-
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
3
|
+
## π v4.2 β "Party Mode" Release
|
|
4
|
+
|
|
5
|
+
**Release Date:** March 2026
|
|
6
|
+
|
|
7
|
+
This is the biggest AgentVibes release since the TUI launched in v4.0. Two headline features: **BMAD Party Mode** gives every agent their own voice and music, and the **SSH Receiver** lets you hear your headless server speak on your local machine.
|
|
8
|
+
|
|
9
|
+
### π€ What is BMAD?
|
|
10
|
+
|
|
11
|
+
The BMad Method (Build More Architect Dreams) is an AI-driven development framework module within the BMad Method Ecosystem that helps you build software through the whole process from ideation and planning all the way through agentic implementation. It provides specialized AI agents, guided workflows, and intelligent planning that adapts to your project's complexity, whether you're fixing a bug or building an enterprise platform.
|
|
12
|
+
|
|
13
|
+
### π BMAD Party Mode β Every Agent Has Its Own Voice
|
|
14
|
+
|
|
15
|
+
When BMAD's party mode runs a multi-agent discussion, every agent now speaks with their own individually configured voice, background music, reverb, and personality β making the Architect, PM, Developer, QA, and Analyst immediately recognizable the moment they speak.
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
/agent-vibes:bmad-party enable
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
**Per-agent configuration:**
|
|
22
|
+
- ποΈ **Voice** β 914 voices to choose from, auto-assigned gender-aware
|
|
23
|
+
- π΅ **Background Music** β Unique ambient track per agent (cinematic, lo-fi, jazz...)
|
|
24
|
+
- ποΈ **Music Volume** β Per-agent level, or bulk-set all at once
|
|
25
|
+
- ποΈ **Reverb** β none / room / hall / cathedral / studio
|
|
26
|
+
- π¬ **Pretext** β Custom intro phrase ("Winston says:..." before every line)
|
|
27
|
+
- π **Personality** β sarcastic, dramatic, pirate, cheerful, and more
|
|
28
|
+
- π **No overlap** β speech lock held until audio fully completes
|
|
29
|
+
- β¨ **Markdown stripped** β asterisks and formatting removed before TTS
|
|
30
|
+
|
|
31
|
+
**Configuration stored in:** `~/.agentvibes/bmad-voice-map.json`
|
|
32
|
+
|
|
33
|
+
### ποΈ BMad Tab β Full Visual Agent Configurator
|
|
34
|
+
|
|
35
|
+
New **BMad Tab** in `npx agentvibes` for managing every agent visually β built with the same polish as the Voices tab:
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
npx agentvibes # Press B to open BMad Tab
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
The agent table shows **Voice, Gender, Provider, Reverb, Music, Vol, and Pretext** columns. Voice names are automatically beautified: `16Speakers::Rose_Ibex` β `Rose Ibex`, `en_US-kusal-medium` β `Kusal`.
|
|
42
|
+
|
|
43
|
+
| Key | Action |
|
|
44
|
+
|-----|--------|
|
|
45
|
+
| `ββ` / `jk` | Navigate agents |
|
|
46
|
+
| `Space` | Preview agent with full profile (animated spinner while playing) |
|
|
47
|
+
| `Enter` | Configure voice, music, volume, reverb, personality, pretext |
|
|
48
|
+
| `A` | Auto-assign unique voices to all agents (gender-aware, no repeats) |
|
|
49
|
+
| `B` | Bulk Edit β set music / volume / pretext / reverb for all agents |
|
|
50
|
+
| `X` | Reset agent to defaults |
|
|
51
|
+
|
|
52
|
+
**BMad Tab highlights:**
|
|
53
|
+
- Inline row hints β navigate to any agent and see `[Space] Preview [Enter] Configure` on the row
|
|
54
|
+
- Animated `β β β Ήβ Έ` braille spinner while audio plays
|
|
55
|
+
- Gender & Provider columns β same metadata as the Voices tab
|
|
56
|
+
|
|
57
|
+
### π₯οΈ SSH Receiver Tab β Hear Your Headless Server
|
|
58
|
+
|
|
59
|
+
New **Receiver Tab** streams TTS from voiceless remote servers to your local machine over TCP β perfect for cloud dev boxes (AWS, GCP, Azure), WSL2, and SSH sessions.
|
|
60
|
+
|
|
61
|
+
```bash
|
|
62
|
+
# On local machine: open TUI β Receiver tab β Start
|
|
63
|
+
npx agentvibes
|
|
64
|
+
|
|
65
|
+
# Remote server auto-detects the receiver and streams audio to you
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
### β‘ TTS Latency Reduced ~1 Second
|
|
69
|
+
|
|
70
|
+
- **Batched Node.js profile reads** β 6 `node -e` calls collapsed into 1 (~900ms saved per speech)
|
|
71
|
+
- **inotifywait queue worker** β file-event-driven queue, no polling delay
|
|
72
|
+
- **Background cache cleanup** β off the critical path every 10th call
|
|
73
|
+
|
|
74
|
+
### π¨ ANSI Colors Restored to Banner
|
|
75
|
+
|
|
76
|
+
Full ANSI color in the TTS banner (gold voice, cyan reverb, traffic-light cache size), fixed via `AGENTVIBES_WAV_OUTPATH` sidecar file.
|
|
77
|
+
|
|
78
|
+
### π Banner Toggle
|
|
79
|
+
|
|
80
|
+
Hide TTS info banner without muting: `touch ~/.agentvibes/banner-disabled` or say "turn off the TTS banner" via MCP.
|
|
81
|
+
|
|
82
|
+
### π‘οΈ Security
|
|
83
|
+
|
|
84
|
+
- Adversarial code review β 58 issues identified and addressed
|
|
85
|
+
- Agent ID injection prevention, PID-scoped temp profile files
|
|
86
|
+
- Env-var-based Node.js JSON reads (no shell interpolation)
|
|
87
|
+
|
|
88
|
+
**Full Changelog**: https://github.com/paulpreibisch/AgentVibes/compare/v4.0.1...v4.2
|
|
89
|
+
|
|
90
|
+
---
|
|
91
|
+
|
|
92
|
+
## β¨ v3.5.10 - Soprano Detection Fixes & Enhanced Installer Features
|
|
93
|
+
|
|
94
|
+
**Release Date:** February 14, 2026
|
|
95
|
+
|
|
96
|
+
### π― Summary
|
|
97
|
+
|
|
98
|
+
Production release combining critical bug fixes and new installer features. Fixed Soprano TTS detection for pipx installations (the core issue reported by users), resolved 5 execSync API misuse bugs that were breaking Python package detection, and eliminated 100+ lines of code duplication. Introduces new installer features: custom music track support with preview functionality, personality emoji mapping for better visual recognition, and pretext configuration allowing users to customize agent introductions.
|
|
99
|
+
|
|
100
|
+
### β¨ Key Features & Fixes
|
|
101
|
+
|
|
102
|
+
**π§ Critical Bug Fixes:**
|
|
103
|
+
- **Soprano TTS Detection:** Fixed detection when installed via pipx (was showing "not installed" despite working)
|
|
104
|
+
- **execSync API Bugs:** Fixed 5 locations using incorrect API signature (array args with execSync)
|
|
105
|
+
- **Code Duplication:** Eliminated 100+ lines of duplicate code between Soprano and Piper validators
|
|
106
|
+
- **API Consistency:** All provider validation functions now return consistent response structures
|
|
107
|
+
- **Python Package Detection:** Fixed broken Python pip detection that was silently failing
|
|
108
|
+
|
|
109
|
+
**π¨ New Installer Features:**
|
|
110
|
+
- **Custom Music Tracks:** Users can now upload and preview their own background music
|
|
111
|
+
- **Personality Emojis:** Visual recognition mapping (π for none, π for dramatic, π for sassy, etc.)
|
|
112
|
+
- **Pretext Configuration:** Custom agent introductions (e.g., "FireBot: " prefix for all messages)
|
|
113
|
+
- **Track Preview:** Audio preview with support for ffplay, sox, and mpv players
|
|
114
|
+
|
|
115
|
+
**π‘οΈ Security & Quality:**
|
|
116
|
+
- Improved path traversal protection in provider validation
|
|
117
|
+
- Enhanced error handling and logging
|
|
118
|
+
- Reduced code complexity by 29% through deduplication
|
|
119
|
+
- Test coverage improved: 56.61% β 63.67%
|
|
120
|
+
|
|
121
|
+
### π Technical Details
|
|
122
|
+
|
|
123
|
+
**Soprano Detection Improvements:**
|
|
124
|
+
- Checks command in PATH first (most reliable for pipx)
|
|
125
|
+
- Falls back to ~/.local/bin directory check
|
|
126
|
+
- Checks pipx venv directory for installation
|
|
127
|
+
- Final fallback to Python pip package detection
|
|
128
|
+
- Consistent error messages showing all checked locations
|
|
129
|
+
|
|
130
|
+
**Code Quality Metrics:**
|
|
131
|
+
- File size reduced by 145 lines (-29%)
|
|
132
|
+
- Code duplication eliminated (was ~100 lines)
|
|
133
|
+
- Test coverage improved +7.06%
|
|
134
|
+
- All 114 tests passing
|
|
135
|
+
- Provider validator now 63.67% covered (up from 56.61%)
|
|
136
|
+
|
|
137
|
+
**Installer Enhancements:**
|
|
138
|
+
- Added personality emoji mapping (26 personalities)
|
|
139
|
+
- Custom track upload with validation
|
|
140
|
+
- File type restrictions (.mp3, .wav, .ogg, .m4a)
|
|
141
|
+
- Registry storage in ~/.agentvibes/custom-tracks.json
|
|
142
|
+
- Audio preview before finalizing selection
|
|
143
|
+
|
|
144
|
+
### π Security Notes
|
|
145
|
+
|
|
146
|
+
- All spawnSync calls now use correct array argument form
|
|
147
|
+
- Path traversal prevention maintained in all operations
|
|
148
|
+
- HOME injection protection via os.homedir()
|
|
149
|
+
- No hardcoded credentials introduced
|
|
150
|
+
- Input validation for file uploads and track selection
|
|
151
|
+
|
|
152
|
+
### π Known Limitations
|
|
153
|
+
|
|
154
|
+
- Audio preview requires ffplay, sox, or mpv (feature gracefully degrades if unavailable)
|
|
155
|
+
- Custom track registry is stored locally per user
|
|
156
|
+
- Some legacy bash scripts still lack strict mode (pre-existing, low risk)
|
|
157
|
+
|
|
158
|
+
### π Acknowledgments
|
|
159
|
+
|
|
160
|
+
This release includes fixes identified through adversarial code review, ensuring production-quality reliability and security alignment with CLAUDE.md standards.
|
|
161
|
+
|
|
162
|
+
---
|
|
163
|
+
|
|
164
|
+
## π‘οΈ v3.5.8 - Provider Validation Security & UX Improvements
|
|
165
|
+
|
|
166
|
+
**Release Date:** February 12, 2026
|
|
167
|
+
|
|
168
|
+
### π― Summary
|
|
169
|
+
|
|
170
|
+
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.
|
|
171
|
+
|
|
172
|
+
### β¨ Key Improvements
|
|
173
|
+
|
|
174
|
+
- **π Security Fixes:** Fixed command injection vulnerability (template strings β array form), prevented HOME injection attacks, added path traversal protection
|
|
175
|
+
- **β
Provider Detection:** Soprano via pipx now correctly detected; added checkedLocations tracking for transparency
|
|
176
|
+
- **π¬ Better Messaging:** Explicit "Detected and selected!" confirmation; detailed error messages showing what was checked
|
|
177
|
+
- **π§ͺ Test Coverage:** Enhanced tests verify actual detection values, not just types
|
|
178
|
+
- **π Debugging:** Added [DEBUG] logging for troubleshooting provider issues
|
|
179
|
+
|
|
180
|
+
### π΄ Critical Fixes
|
|
181
|
+
|
|
182
|
+
1. **Command Injection Prevention** - All execSync calls now use array form (security: CLAUDE.md)
|
|
183
|
+
2. **HOME Directory Injection** - Switched to os.homedir() instead of process.env.HOME
|
|
184
|
+
3. **Path Traversal Protection** - Added path.resolve() validation for pipx venv directories
|
|
185
|
+
|
|
186
|
+
### π‘ Medium Fixes
|
|
187
|
+
|
|
188
|
+
4. **Pipx Logic Improved** - Tracks checked locations even on success (transparency)
|
|
189
|
+
5. **Silent Failures Eliminated** - Added [DEBUG] error logging for diagnostics
|
|
190
|
+
6. **Test Quality Enhanced** - Verify message content, not just types
|
|
191
|
+
7. **Documentation** - Added JSDoc comments explaining security-critical imports
|
|
192
|
+
8. **Error Differentiation** - Better distinction between different failure types
|
|
193
|
+
|
|
194
|
+
### π Technical Impact
|
|
195
|
+
|
|
196
|
+
- Soprano detection now works reliably for both pip and pipx installations
|
|
197
|
+
- Reduced false negatives in provider validation
|
|
198
|
+
- Enhanced security posture aligned with CLAUDE.md security mandates
|
|
199
|
+
- Improved debuggability with explicit error messages
|
|
200
|
+
|
|
201
|
+
---
|
|
202
|
+
|
|
203
|
+
## π§ v3.5.7 - CLI Fix: npx Command Output & Startup Hooks
|
|
204
|
+
|
|
205
|
+
**Release Date:** February 12, 2026
|
|
206
|
+
|
|
207
|
+
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.
|
|
208
|
+
|
|
209
|
+
### π― What's Fixed
|
|
210
|
+
|
|
211
|
+
- **npx agent-vibes now works** - `npx agent-vibes install`, `npx agent-vibes --help`, all commands produce proper output
|
|
212
|
+
- **Startup hook errors gone** - Removed non-existent hook references from settings.json (pre_compact.py, notification.ts)
|
|
213
|
+
- **CLI execution proper** - Both npx and local execution now use execFileSync with proper argument passing
|
|
214
|
+
|
|
215
|
+
### π Technical Details
|
|
216
|
+
|
|
217
|
+
**Before v3.5.7:**
|
|
218
|
+
```javascript
|
|
219
|
+
// bin/agent-vibes (local execution path)
|
|
220
|
+
import('../src/installer.js'); // β No args, doesn't await
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
**After v3.5.7:**
|
|
224
|
+
```javascript
|
|
225
|
+
// bin/agent-vibes (all execution paths)
|
|
226
|
+
execFileSync('node', [installerPath, ...arguments_], {
|
|
227
|
+
stdio: 'inherit',
|
|
228
|
+
cwd: isNpxExecution ? path.dirname(__dirname) : process.cwd(),
|
|
229
|
+
}); // β
Passes args, proper I/O
|
|
230
|
+
```
|
|
231
|
+
|
|
232
|
+
---
|
|
233
|
+
|
|
234
|
+
## π§ v3.5.6 - Bug Fix: Bash Hook Parameter Handling
|
|
235
|
+
|
|
236
|
+
**Release Date:** February 11, 2026
|
|
237
|
+
|
|
238
|
+
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`.
|
|
239
|
+
|
|
240
|
+
---
|
|
241
|
+
|
|
242
|
+
## π¦ v3.5.5 - Native Windows Support: Soprano, Piper & SAPI Providers
|
|
243
|
+
|
|
244
|
+
**Release Date:** February 12, 2026
|
|
245
|
+
|
|
246
|
+
### π― Why v3.5.5?
|
|
247
|
+
|
|
248
|
+
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.
|
|
249
|
+
|
|
250
|
+
### π Key Highlights
|
|
251
|
+
|
|
252
|
+
#### π₯οΈ Native Windows TTS (NEW!)
|
|
253
|
+
- **3 providers**: Soprano (ultra-fast neural), Piper (offline neural), Windows SAPI (built-in)
|
|
254
|
+
- **Beautiful PowerShell installer** with figlet banner and interactive setup
|
|
255
|
+
- **8 hook scripts** for complete TTS functionality on Windows
|
|
256
|
+
- **MCP server** auto-resolves `.sh` to `.ps1` on Windows
|
|
257
|
+
- **46 Windows-specific unit tests** with full coverage
|
|
258
|
+
|
|
259
|
+
#### π΅ Background Music Selection
|
|
260
|
+
- **16 genre tracks**: Flamenco, Bachata, Bossa Nova, City Pop, Chillwave, and more
|
|
261
|
+
- **Interactive picker** in the installer with descriptions
|
|
262
|
+
- **ffmpeg mixing**: 2s intro, voice over music, 2s fade-out outro
|
|
263
|
+
|
|
264
|
+
#### ποΈ Reverb / Audio Effects
|
|
265
|
+
- **5 reverb levels**: Off, Light, Medium, Heavy, Cathedral
|
|
266
|
+
- **ffmpeg aecho filter** (no SOX dependency on Windows)
|
|
267
|
+
- Applied before background music mixing for clean layering
|
|
268
|
+
|
|
269
|
+
#### π Verbosity Control
|
|
270
|
+
- **3 levels**: High (full reasoning), Medium (key updates), Low (essential only)
|
|
271
|
+
- Integrates with session-start-tts.ps1 protocol instructions
|
|
272
|
+
|
|
273
|
+
### π€ AI Summary
|
|
274
|
+
|
|
275
|
+
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.
|
|
276
|
+
|
|
277
|
+
---
|
|
278
|
+
|
|
279
|
+
## β¨ New Features
|
|
280
|
+
|
|
281
|
+
### Native Windows TTS
|
|
282
|
+
- Full PowerShell installer (`setup-windows.ps1`) with figlet banner and interactive UX
|
|
283
|
+
- Soprano provider (`play-tts-soprano.ps1`) with Gradio WebUI integration
|
|
284
|
+
- Piper provider (`play-tts-windows-piper.ps1`) with auto-download of voices from HuggingFace
|
|
285
|
+
- Windows SAPI provider (`play-tts-windows-sapi.ps1`) with zero-setup built-in voices
|
|
286
|
+
- TTS router (`play-tts.ps1`) with mute support, background music mixing, and reverb
|
|
287
|
+
- Provider manager, voice manager, audio cache utils, and session-start hook scripts
|
|
288
|
+
- MCP server `.sh` to `.ps1` auto-resolution on Windows
|
|
289
|
+
|
|
290
|
+
### Installer Enhancements
|
|
291
|
+
- Background music selection with 16 genre tracks and interactive picker
|
|
292
|
+
- Reverb/audio effects selection (Off/Light/Medium/Heavy/Cathedral)
|
|
293
|
+
- Verbosity control (High/Medium/Low) for TTS protocol instructions
|
|
294
|
+
- Updated completion screen showing all 4 settings (provider, background, reverb, verbosity)
|
|
295
|
+
|
|
296
|
+
---
|
|
297
|
+
|
|
298
|
+
## π Bug Fixes
|
|
299
|
+
|
|
300
|
+
### Security Fixes
|
|
301
|
+
- Fix path traversal in background music config reader (regex allowlist + path containment)
|
|
302
|
+
- Add allowlist validation for reverb-level.txt config (prevent invalid values)
|
|
303
|
+
- Add `set -euo pipefail` strict mode to `play-tts.sh` for Sonar compliance
|
|
304
|
+
|
|
305
|
+
### Cross-Platform Fixes
|
|
306
|
+
- Fix self-copy error when setup-windows.ps1 runs from project root
|
|
307
|
+
- Fix test executable permission checks on Windows (skip Unix mode bits)
|
|
308
|
+
- Fix test path separator comparison in uninstall test (use `path.join` not hardcoded `/`)
|
|
309
|
+
|
|
310
|
+
---
|
|
311
|
+
|
|
312
|
+
## ποΈ Improvements
|
|
313
|
+
|
|
314
|
+
### Code Quality
|
|
315
|
+
- Reverb config uses switch-as-allowlist pattern - file content never flows into commands
|
|
316
|
+
- All SoundPlayer instances wrapped in try/finally for resource disposal
|
|
317
|
+
- Environment variable cleanup (`AGENTVIBES_NO_PLAY`) on all exit paths
|
|
318
|
+
- Input validation with regex + range checks for all installer prompts
|
|
319
|
+
|
|
320
|
+
### Testing
|
|
321
|
+
- 46 new Windows-specific unit tests (hook scripts, providers, security, encoding)
|
|
322
|
+
- 3 cross-platform test fixes for Windows compatibility
|
|
323
|
+
- Full suite: 93 Node tests passing on Windows
|
|
324
|
+
|
|
325
|
+
---
|
|
326
|
+
|
|
327
|
+
## π Statistics
|
|
328
|
+
|
|
329
|
+
- **7 commits** since v3.4.1
|
|
330
|
+
- **3,769 lines added**, 211 removed across 24 files
|
|
331
|
+
- **9 new PowerShell scripts** for Windows TTS
|
|
332
|
+
- **93 tests passing** (46 Windows + 47 cross-platform)
|
|
333
|
+
- **24/24 Sonar quality gates** passing
|
|
334
|
+
- **Security score**: All path traversal and injection vectors reviewed
|
|
335
|
+
|
|
336
|
+
---
|
|
337
|
+
|
|
338
|
+
## π§ Technical Details
|
|
339
|
+
|
|
340
|
+
### Files Added
|
|
341
|
+
- `.claude/hooks-windows/play-tts.ps1`: TTS router with reverb and background music
|
|
342
|
+
- `.claude/hooks-windows/play-tts-soprano.ps1`: Soprano neural TTS provider
|
|
343
|
+
- `.claude/hooks-windows/play-tts-windows-piper.ps1`: Piper offline TTS provider
|
|
344
|
+
- `.claude/hooks-windows/play-tts-windows-sapi.ps1`: Windows SAPI built-in voices
|
|
345
|
+
- `.claude/hooks-windows/provider-manager.ps1`: Provider switching
|
|
346
|
+
- `.claude/hooks-windows/voice-manager-windows.ps1`: Voice browsing and selection
|
|
347
|
+
- `.claude/hooks-windows/audio-cache-utils.ps1`: Cache management
|
|
348
|
+
- `.claude/hooks-windows/session-start-tts.ps1`: Auto-activates TTS on Claude start
|
|
349
|
+
- `setup-windows.ps1`: Full Windows installer with 4 interactive sections
|
|
350
|
+
- `test/unit/windows-tts.test.js`: 46 Windows-specific unit tests
|
|
59
351
|
|
|
60
352
|
### Breaking Changes
|
|
353
|
+
None - all changes are backward compatible. Existing Unix/macOS installations are unaffected.
|
|
354
|
+
|
|
355
|
+
---
|
|
356
|
+
|
|
357
|
+
## π Migration Notes
|
|
358
|
+
|
|
359
|
+
### For New Windows Users
|
|
360
|
+
1. Run `npx agentvibes install` (Node.js) or `.\setup-windows.ps1` (PowerShell)
|
|
361
|
+
2. Follow the interactive setup
|
|
362
|
+
3. Choose provider (Soprano, Piper, or SAPI)
|
|
363
|
+
4. Select background music, reverb, and verbosity
|
|
364
|
+
5. TTS works automatically in Claude Code sessions
|
|
365
|
+
|
|
366
|
+
### For Existing Unix/macOS Users
|
|
367
|
+
- No changes required - your setup continues working
|
|
368
|
+
- All Unix bash hooks remain untouched
|
|
369
|
+
- Only `play-tts.sh` gained `set -euo pipefail` (strict mode)
|
|
370
|
+
|
|
371
|
+
---
|
|
372
|
+
|
|
373
|
+
## π Acknowledgments
|
|
374
|
+
|
|
375
|
+
### Project Lead
|
|
376
|
+
- **[@paulpreibisch](https://github.com/paulpreibisch)** (Paul Preibisch) β Creator and maintainer of AgentVibes
|
|
377
|
+
|
|
378
|
+
### Community Contributors
|
|
379
|
+
- **[@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
|
|
380
|
+
- **[@alexeyv](https://github.com/alexeyv)** β For suggesting native Windows support and recommending Windows SAPI as a zero-dependency provider
|
|
381
|
+
- **[@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
|
|
382
|
+
|
|
383
|
+
### Quality Assurance
|
|
384
|
+
- **Adversarial Security Review**: Path traversal, injection, and resource disposal all validated
|
|
385
|
+
- **Testing**: 93/93 tests passing (100% suite coverage)
|
|
386
|
+
- **Quality Gates**: 24/24 Sonar requirements validated
|
|
387
|
+
- **Co-Authored-By**: Claude Opus 4.6
|
|
388
|
+
|
|
389
|
+
---
|
|
390
|
+
|
|
391
|
+
**Full Changelog**: https://github.com/paulpreibisch/AgentVibes/compare/v3.4.1...v3.5.5
|
|
392
|
+
|
|
393
|
+
---
|
|
394
|
+
|
|
395
|
+
## π¦ v3.4.0 - Soprano TTS, Security Hardening & Environment Intelligence
|
|
396
|
+
|
|
397
|
+
**Release Date:** February 10, 2026
|
|
398
|
+
|
|
399
|
+
### π― Why v3.4.0?
|
|
400
|
+
|
|
401
|
+
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.
|
|
402
|
+
|
|
403
|
+
### π Key Highlights
|
|
404
|
+
|
|
405
|
+
#### β‘ Soprano TTS Provider (NEW!)
|
|
406
|
+
- **80M parameter neural model** with premium female English voice
|
|
407
|
+
- **20x CPU speed** (vs Piper), **2000x GPU speed** with CUDA
|
|
408
|
+
- **3 synthesis modes**: WebUI (Gradio), API (OpenAI-compatible), CLI (fallback)
|
|
409
|
+
- **Auto-detection**: Checks for running Gradio server, falls back gracefully
|
|
410
|
+
- **<1GB memory footprint** - perfect for low-RAM systems
|
|
411
|
+
- **Provider-aware voice management**: Auto-selects single voice, shows model specs
|
|
412
|
+
- **Thanks to [@nathanchase](https://github.com/nathanchase)** for this contribution! ([see acknowledgments](#-acknowledgments))
|
|
413
|
+
|
|
414
|
+
#### π‘οΈ Security Hardening (9.5/10 Score)
|
|
415
|
+
- **Timeouts on system commands**: Prevents installer hangs (nvidia-smi, sysctl, meminfo)
|
|
416
|
+
- **Bounds checking**: Validates array access before parsing system output
|
|
417
|
+
- **NaN validation**: Prevents crashes from malformed memory/GPU detection
|
|
418
|
+
- **Case-insensitive checks**: PulseAudio tunnel detection handles TCP: and tcp:
|
|
419
|
+
- **Code duplication eliminated**: Extracted PulseAudio helper function (DRY)
|
|
420
|
+
|
|
421
|
+
#### π Environment Intelligence
|
|
422
|
+
- **PulseAudio tunnel detection**: Recognizes `PULSE_SERVER=tcp:*` as working audio
|
|
423
|
+
- **Context-aware messaging**:
|
|
424
|
+
- "π PulseAudio Tunnel Detected!" for SSH + tunnel setups
|
|
425
|
+
- "π Audio Output Detected!" for local speakers
|
|
426
|
+
- Distinguishes local/tunnel/hybrid configurations
|
|
427
|
+
- **Smart environment classification**:
|
|
428
|
+
- DESKTOP: Local audio OR active PulseAudio tunnel
|
|
429
|
+
- VOICELESS: No audio AND no tunnel
|
|
430
|
+
- PHONE: Termux/Android devices
|
|
431
|
+
|
|
432
|
+
#### π€ Installer Enhancements
|
|
433
|
+
- **Provider-aware voice pages**: Soprano shows model specs, Piper shows 50+ voices
|
|
434
|
+
- **Auto-selection logic**: Soprano (1 voice) auto-selects, no manual choice needed
|
|
435
|
+
- **GPU-based recommendations**: "Your GPU will run Soprano 2000x faster!"
|
|
436
|
+
- **RAM-based suggestions**: Low memory systems see "Soprano uses <1GB" message
|
|
437
|
+
- **Better RAM display**: Shows "512MB" instead of "0GB" for sub-1GB systems
|
|
438
|
+
|
|
439
|
+
### π€ AI Summary
|
|
440
|
+
|
|
441
|
+
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.
|
|
442
|
+
|
|
443
|
+
---
|
|
444
|
+
|
|
445
|
+
## β¨ New Features
|
|
446
|
+
|
|
447
|
+
### Soprano TTS Provider
|
|
448
|
+
- Add Soprano TTS provider script with 3 synthesis modes (WebUI, API, CLI) (#95)
|
|
449
|
+
- Integrate Soprano into TTS router and provider manager
|
|
450
|
+
- Add soprano-gradio-synth.py helper for WebUI/SSE protocol
|
|
451
|
+
- Provider-aware voice selection page with model specifications
|
|
452
|
+
- Auto-select single Soprano voice with performance details
|
|
453
|
+
|
|
454
|
+
### Installer Intelligence
|
|
455
|
+
- Add `detectSystemCapabilities()` for GPU/RAM detection
|
|
456
|
+
- Add `hasPulseAudioTunnel()` helper function
|
|
457
|
+
- Context-aware audio detection messaging (tunnel vs local)
|
|
458
|
+
- GPU-based provider ordering (Soprano first for CUDA users)
|
|
459
|
+
- RAM-based recommendations (<4GB systems see Soprano first)
|
|
460
|
+
- Provider-specific intro messages (Soprano vs Piper vs macOS)
|
|
461
|
+
|
|
462
|
+
### Environment Detection
|
|
463
|
+
- PulseAudio tunnel recognition via PULSE_SERVER env var
|
|
464
|
+
- Case-insensitive TCP protocol detection
|
|
465
|
+
- Smart DESKTOP classification (local audio OR tunnel)
|
|
466
|
+
- Improved VOICELESS detection (no audio AND no tunnel)
|
|
467
|
+
|
|
468
|
+
---
|
|
469
|
+
|
|
470
|
+
## π Bug Fixes
|
|
471
|
+
|
|
472
|
+
### Security Fixes
|
|
473
|
+
- Add 5s timeout to nvidia-smi to prevent GPU detection hangs
|
|
474
|
+
- Add 3s timeout to sysctl/meminfo to prevent memory detection hangs
|
|
475
|
+
- Add bounds checking before parsing sysctl output (macOS)
|
|
476
|
+
- Add bounds checking before parsing /proc/meminfo (Linux)
|
|
477
|
+
- Add NaN validation for parseInt() memory size parsing
|
|
478
|
+
- Fix case sensitivity in PULSE_SERVER detection (handles TCP: and tcp:)
|
|
479
|
+
|
|
480
|
+
### Test Fixes
|
|
481
|
+
- Fix provider-manager test #90: Add soprano and ssh-remote to cleanup list
|
|
482
|
+
- Ensure zero-provider edge case properly simulates empty state
|
|
483
|
+
|
|
484
|
+
### User Experience
|
|
485
|
+
- Fix RAM display for <1GB systems (show "512MB" not "0GB")
|
|
486
|
+
- Fix PulseAudio selection triggering wrong setup flow
|
|
487
|
+
- Separate PulseAudio tunnel setup from SSH receiver setup
|
|
488
|
+
|
|
489
|
+
---
|
|
490
|
+
|
|
491
|
+
## ποΈ Improvements
|
|
492
|
+
|
|
493
|
+
### Code Quality
|
|
494
|
+
- Extract PulseAudio detection to helper function (DRY principle)
|
|
495
|
+
- Implement system capabilities caching (eliminates duplicate calls)
|
|
496
|
+
- Add comprehensive error handling in detectSystemCapabilities()
|
|
497
|
+
- Improve code comments for security-critical sections
|
|
498
|
+
|
|
499
|
+
### Performance
|
|
500
|
+
- Cache system detection results (prevents duplicate nvidia-smi calls)
|
|
501
|
+
- Add timeouts to prevent indefinite hangs
|
|
502
|
+
- Optimize provider detection with early returns
|
|
503
|
+
|
|
504
|
+
### Documentation
|
|
505
|
+
- Add comprehensive commit message documenting all changes
|
|
506
|
+
- Document security improvements (timeouts, bounds checking, NaN validation)
|
|
507
|
+
- Explain PulseAudio tunnel detection architecture
|
|
508
|
+
- Detail environment classification logic
|
|
509
|
+
|
|
510
|
+
---
|
|
511
|
+
|
|
512
|
+
## π Statistics
|
|
513
|
+
|
|
514
|
+
- **91 commits** since v3.3.0
|
|
515
|
+
- **817 lines added** in merge to master
|
|
516
|
+
- **6 files modified** in core integration
|
|
517
|
+
- **260 tests passing** (213 BATS + 47 Node)
|
|
518
|
+
- **Security score**: 7.5/10 β 9.5/10
|
|
519
|
+
- **Test coverage**: 100% pass rate
|
|
520
|
+
|
|
521
|
+
---
|
|
522
|
+
|
|
523
|
+
## π§ Technical Details
|
|
524
|
+
|
|
525
|
+
### Files Modified
|
|
526
|
+
- `src/installer.js`: +335 lines (security fixes, environment detection, Soprano integration)
|
|
527
|
+
- `test/unit/provider-manager.bats`: +4 lines (fix edge case test)
|
|
528
|
+
- `.claude/hooks/play-tts-soprano.sh`: +320 lines (new provider)
|
|
529
|
+
- `.claude/hooks/soprano-gradio-synth.py`: +139 lines (new helper)
|
|
530
|
+
- `.claude/hooks/provider-manager.sh`: +17 lines (Soprano support)
|
|
531
|
+
- `.claude/hooks/play-tts.sh`: +6 lines (route to Soprano)
|
|
532
|
+
|
|
533
|
+
### Breaking Changes
|
|
534
|
+
None - all changes are backward compatible.
|
|
535
|
+
|
|
536
|
+
### Dependencies
|
|
537
|
+
- **New**: `soprano-tts` (Python package, optional)
|
|
538
|
+
- **Recommended**: CUDA-capable GPU for 2000x speedup (optional)
|
|
539
|
+
- **Compatible**: Works on CPU-only systems (20x vs Piper)
|
|
540
|
+
|
|
541
|
+
---
|
|
542
|
+
|
|
543
|
+
## π Migration Notes
|
|
544
|
+
|
|
545
|
+
### For New Users
|
|
546
|
+
1. Run `npx agentvibes install`
|
|
547
|
+
2. Installer auto-detects your hardware (GPU, RAM, platform)
|
|
548
|
+
3. Soprano appears as option if you have working audio
|
|
549
|
+
4. Select Soprano for ultra-fast TTS with GPU acceleration
|
|
550
|
+
|
|
551
|
+
### For Existing Users
|
|
552
|
+
1. Update: `npx agentvibes update`
|
|
553
|
+
2. Switch provider: `/agent-vibes:provider switch soprano`
|
|
554
|
+
3. Test: `/agent-vibes:sample soprano-default`
|
|
555
|
+
4. Optionally install soprano-tts: `pip install soprano-tts`
|
|
556
|
+
|
|
557
|
+
### PulseAudio Tunnel Users
|
|
558
|
+
- Installer now auto-detects your tunnel configuration
|
|
559
|
+
- Shows "π PulseAudio Tunnel Detected!" instead of "speakers"
|
|
560
|
+
- Provides DESKTOP mode options (Soprano, Piper, macOS Say)
|
|
561
|
+
- No manual configuration needed
|
|
562
|
+
|
|
563
|
+
---
|
|
564
|
+
|
|
565
|
+
## π Acknowledgments
|
|
566
|
+
|
|
567
|
+
### Special Thanks
|
|
568
|
+
|
|
569
|
+
**π [@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! π
|
|
570
|
+
|
|
571
|
+
### Quality Assurance
|
|
572
|
+
|
|
573
|
+
- **Security Review**: Adversarial code review achieved 9.5/10 score
|
|
574
|
+
- **Testing**: All 260 tests pass (100% suite coverage)
|
|
575
|
+
- **Quality Gates**: All Sonar requirements validated
|
|
576
|
+
- **Co-Authored-By**: Claude Sonnet 4.5
|
|
577
|
+
|
|
578
|
+
---
|
|
579
|
+
|
|
580
|
+
## π Additional Resources
|
|
581
|
+
|
|
582
|
+
- [Soprano TTS Documentation](https://github.com/paulpreibisch/AgentVibes/blob/master/docs/providers.md#soprano-tts)
|
|
583
|
+
- [PulseAudio Tunnel Setup](https://github.com/paulpreibisch/AgentVibes/blob/master/docs/SSH_REMOTE_SETUP.md)
|
|
584
|
+
- [Security Hardening Guide](https://github.com/paulpreibisch/AgentVibes/blob/master/docs/security-hardening-guide.md)
|
|
585
|
+
- [Provider Comparison](https://github.com/paulpreibisch/AgentVibes/blob/master/docs/providers.md)
|
|
586
|
+
|
|
587
|
+
---
|
|
588
|
+
|
|
589
|
+
**Full Changelog**: https://github.com/paulpreibisch/AgentVibes/compare/v3.3.0...v3.4.0
|
|
590
|
+
|
|
591
|
+
---
|
|
592
|
+
|
|
593
|
+
## π¦ v3.3.0 - Remote TTS, Smart Installer, OpenClaw Receiver & Cache Management
|
|
594
|
+
|
|
595
|
+
**Release Date:** February 5, 2026
|
|
596
|
+
|
|
597
|
+
### π― Why v3.3.0?
|
|
598
|
+
|
|
599
|
+
v3.3.0 transforms AgentVibes into a **universal TTS platform** for any environment:
|
|
600
|
+
|
|
601
|
+
- **SSH-Remote Provider** - Generate TTS on servers, receive audio on your phone/computer
|
|
602
|
+
- **Termux/Android Support** - Native Piper TTS on mobile devices
|
|
603
|
+
- **OpenClaw Integration** - Turn voiceless servers into Siri-like conversational AI
|
|
604
|
+
- **AgentVibes Receiver** - Receive and play audio from remote servers on your device
|
|
605
|
+
- **Smart Installer** - Auto-detects your environment (voiceless, GUI, Termux, SSH)
|
|
606
|
+
- **Intelligent Cache Management** - Real-time tracking and auto-cleanup prevents disk bloat
|
|
607
|
+
|
|
608
|
+
#### π Real-World Use Case: OpenClaw + AgentVibes Receiver
|
|
609
|
+
|
|
610
|
+
You deploy OpenClaw on a voiceless Mac mini (or remote server) where users message you via WhatsApp, Telegram, or Discord. With v3.3.0:
|
|
611
|
+
|
|
612
|
+
**Before AgentVibes Receiver:**
|
|
613
|
+
- User messages: "Tell me a joke"
|
|
614
|
+
- Mac mini processes request
|
|
615
|
+
- Text response appears in chat
|
|
616
|
+
- π No audio - silent experience
|
|
617
|
+
|
|
618
|
+
**After AgentVibes Receiver:**
|
|
619
|
+
1. **Install AgentVibes** on your Mac mini (or remote server)
|
|
620
|
+
2. **Install AgentVibes Receiver** on your phone/iPad/laptop
|
|
621
|
+
3. **Connect via Tailscale** (one-time setup)
|
|
622
|
+
4. **User messages:** "Tell me a joke"
|
|
623
|
+
5. **Mac mini generates TTS** with your configured voice
|
|
624
|
+
6. **Audio streams to your device** via SSH tunnel
|
|
625
|
+
7. **Your speakers play:** π "Why did the AI go to school? To improve its learning model!"
|
|
626
|
+
8. **User in WhatsApp also hears** the audio playing (Siri-like experience)
|
|
627
|
+
|
|
628
|
+
Result: OpenClaw transforms from **silent text AI** β **Conversational AI with voice**
|
|
629
|
+
|
|
630
|
+
Perfect for:
|
|
631
|
+
- π₯οΈ Mac mini with OpenClaw
|
|
632
|
+
- π₯οΈ Remote servers (AWS, DigitalOcean, Linode)
|
|
633
|
+
- ποΈ Container deployments (Docker)
|
|
634
|
+
- π§ WSL (Windows Subsystem for Linux)
|
|
635
|
+
- π± Any voiceless environment needing audio
|
|
636
|
+
|
|
637
|
+
### π€ AI Summary
|
|
638
|
+
|
|
639
|
+
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.
|
|
640
|
+
|
|
641
|
+
**Key Highlights:**
|
|
642
|
+
- π **SSH-Remote TTS** - Remote device playback via PulseAudio tunneling (servers, containers, WSL)
|
|
643
|
+
- π± **Android/Termux Support** - Native Piper TTS on Android with termux-media-player integration
|
|
644
|
+
- π€ **OpenClaw Receiver** (formerly Clawdbot) - AgentVibes Receiver for receiving TTS from voiceless servers
|
|
645
|
+
- π§ **Smart Installer** - Voiceless environment detection + personality injection for BMAD
|
|
646
|
+
- π **Real-Time Cache Tracking** - File count and size on every output with dynamic colors
|
|
647
|
+
- π§Ή **Intelligent Auto-Cleanup** - Size-based threshold (15MB default) prevents storage bloat
|
|
648
|
+
- π΅ **Queue Management** - Prevents TTS audio overlap via centralized queue system
|
|
649
|
+
- βοΈ **Audio Effects** - Full support across SSH-remote, Termux-ssh, and local providers
|
|
650
|
+
- π **Uninstall Command** - Comprehensive cleanup with full documentation
|
|
651
|
+
- β
**96 Commits** - Massive feature expansion with 213 BATS tests passing
|
|
652
|
+
|
|
653
|
+
### β¨ New Features
|
|
654
|
+
|
|
655
|
+
#### π Remote SSH TTS Support
|
|
656
|
+
|
|
657
|
+
**SSH-Remote Provider:**
|
|
658
|
+
- Play TTS on remote servers via SSH + PulseAudio tunneling
|
|
659
|
+
- Zero-dependency for audio output (uses PulseAudio network tunnel)
|
|
660
|
+
- Perfect for deployed Claude Code on servers, containers, WSL
|
|
661
|
+
- Auto-configuration of PulseAudio TCP module
|
|
662
|
+
- Fallback to local playback if SSH unavailable
|
|
663
|
+
- Full compatibility with all voice selection and audio effects
|
|
664
|
+
|
|
665
|
+
**SSH-PulseAudio Integration:**
|
|
666
|
+
- Automatic SSH connection detection and setup
|
|
667
|
+
- Secure TCP tunnel for audio stream transmission
|
|
668
|
+
- Support for both interactive and batch TTS operations
|
|
669
|
+
- Persistent audio configuration per SSH session
|
|
670
|
+
|
|
671
|
+
#### π± Android/Termux Support
|
|
672
|
+
|
|
673
|
+
**Termux-SSH Provider:**
|
|
674
|
+
- Native Piper TTS on Android via Termux environment
|
|
675
|
+
- Uses termux-media-player for audio playback
|
|
676
|
+
- Full voice selection and effects support
|
|
677
|
+
- Automatic temp directory detection
|
|
678
|
+
- Integration with Tailscale for secure remote access
|
|
679
|
+
- Comprehensive setup guide with QR codes
|
|
680
|
+
|
|
681
|
+
**Android Installation:**
|
|
682
|
+
- Self-contained Termux installer script
|
|
683
|
+
- One-command setup: `curl https://agentvibes.org/install-android | bash`
|
|
684
|
+
- Automatic dependency detection and installation
|
|
685
|
+
- Piper voice download management
|
|
686
|
+
|
|
687
|
+
#### ποΈ OpenClaw Integration & AgentVibes Receiver
|
|
688
|
+
|
|
689
|
+
**What is AgentVibes Receiver?**
|
|
690
|
+
|
|
691
|
+
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.
|
|
692
|
+
|
|
693
|
+
**The Problem It Solves:**
|
|
694
|
+
- OpenClaw running on Mac mini/remote server has no audio output
|
|
695
|
+
- Users message via WhatsApp/Telegram/Discord - get text responses only
|
|
696
|
+
- π No voice = Less engaging AI experience
|
|
697
|
+
|
|
698
|
+
**AgentVibes Receiver Solution:**
|
|
699
|
+
1. **Lightweight client** runs on your device (phone/tablet/laptop)
|
|
700
|
+
2. **SSH tunnel** securely connects to your voiceless server
|
|
701
|
+
3. **Audio streams** from server to your device via PulseAudio
|
|
702
|
+
4. **Auto-plays** on your speakers when OpenClaw responds
|
|
703
|
+
5. **Siri-like experience** - Text + Voice in one flow
|
|
704
|
+
|
|
705
|
+
**How It Works:**
|
|
706
|
+
|
|
707
|
+
```
|
|
708
|
+
ββββββββββββββββββββββββββββββββ
|
|
709
|
+
β Your Mac mini / Server β
|
|
710
|
+
β (OpenClaw + AgentVibes) β
|
|
711
|
+
β ββ No audio output β
|
|
712
|
+
β ββ Generates TTS β
|
|
713
|
+
β ββ Sends via SSH tunnel β
|
|
714
|
+
ββββββββββββββββββββββββββββββββ
|
|
715
|
+
β SSH Tunnel (encrypted)
|
|
716
|
+
ββββββββββββββββββββββββββββββββ
|
|
717
|
+
β Your Phone / Laptop β
|
|
718
|
+
β (AgentVibes Receiver) β
|
|
719
|
+
β ββ Receives audio stream β
|
|
720
|
+
β ββ Plays on speakers β
|
|
721
|
+
β ββ You hear OpenClaw speak β
|
|
722
|
+
ββββββββββββββββββββββββββββββββ
|
|
723
|
+
```
|
|
724
|
+
|
|
725
|
+
**Example Flow:**
|
|
726
|
+
```
|
|
727
|
+
WhatsApp: "Tell me a joke"
|
|
728
|
+
β
|
|
729
|
+
Mac mini: Processes with Claude
|
|
730
|
+
β
|
|
731
|
+
Generates TTS: "Why did the AI... [audio file]"
|
|
732
|
+
β SSH tunnel
|
|
733
|
+
Your Phone: Plays audio π
|
|
734
|
+
β
|
|
735
|
+
You hear: "Why did the AI go to school?"
|
|
736
|
+
```
|
|
737
|
+
|
|
738
|
+
**AgentVibes Receiver Features:**
|
|
739
|
+
- **One-Time Setup** - Pair with server via SSH key
|
|
740
|
+
- **Automatic Connection** - Reconnects if interrupted
|
|
741
|
+
- **Real-Time Streaming** - Low latency audio playback
|
|
742
|
+
- **SSH Encryption** - Secure tunnel for audio
|
|
743
|
+
- **Tailscale Support** - Easy VPN for remote servers
|
|
744
|
+
- **Multiple Servers** - Connect to different OpenClaw instances
|
|
745
|
+
- **Voice Control** - Full voice selection on the server side
|
|
746
|
+
- **Cache Metrics** - Monitor audio generation and cleanup
|
|
747
|
+
|
|
748
|
+
**OpenClaw Skill Integration:**
|
|
749
|
+
- Installed automatically with AgentVibes on OpenClaw server
|
|
750
|
+
- Full feature access:
|
|
751
|
+
- Voice selection (50+ voices)
|
|
752
|
+
- Personality/sentiment (sarcastic, flirty, etc.)
|
|
753
|
+
- Audio effects (reverb, echo, pitch)
|
|
754
|
+
- Speech speed (0.5x - 3.0x)
|
|
755
|
+
- Language translation (speak in different languages)
|
|
756
|
+
- Real-time cache tracking
|
|
757
|
+
- Automatic cleanup of old audio files
|
|
758
|
+
|
|
759
|
+
#### π§ Smart Installer Enhancements
|
|
760
|
+
|
|
761
|
+
**Voiceless Environment Detection:**
|
|
762
|
+
- Auto-detects if GUI audio is unavailable (headless servers, containers)
|
|
763
|
+
- Offers SSH-remote TTS as alternative for voiceless environments
|
|
764
|
+
- Prevents installation of unnecessary audio dependencies
|
|
765
|
+
|
|
766
|
+
**Personality Injection (BMAD):**
|
|
767
|
+
- Interactive prompt during install for BMAD users
|
|
768
|
+
- Optional TTS personality configuration
|
|
769
|
+
- Sentiment/personality selection built into setup flow
|
|
770
|
+
- Skipped for non-BMAD environments
|
|
771
|
+
|
|
772
|
+
**Provider Auto-Selection:**
|
|
773
|
+
- Intelligent detection of available providers:
|
|
774
|
+
- macOS Say (macOS systems)
|
|
775
|
+
- Piper TTS (all systems)
|
|
776
|
+
- SSH-remote (if SSH available)
|
|
777
|
+
- Termux-ssh (Android/Termux)
|
|
778
|
+
- Shows only relevant providers in installation
|
|
779
|
+
|
|
780
|
+
**Better UX:**
|
|
781
|
+
- Clear descriptions of each provider
|
|
782
|
+
- Setup URLs for complex providers (Tailscale)
|
|
783
|
+
- Comprehensive help text for each option
|
|
784
|
+
- Git log integration for recent changes
|
|
785
|
+
|
|
786
|
+
#### π Real-Time TTS Cache Tracking & Intelligent Auto-Cleanup
|
|
787
|
+
|
|
788
|
+
**Why Cache Management Matters:**
|
|
789
|
+
- TTS audio files accumulate quickly
|
|
790
|
+
- Server deployments can run out of disk space silently
|
|
791
|
+
- Users have no visibility into cache size or cleanup status
|
|
792
|
+
- Manual cleanup is inconvenient and error-prone
|
|
793
|
+
|
|
794
|
+
**Cache Display on Every Output:**
|
|
795
|
+
Every time you generate TTS, you see real-time cache metrics:
|
|
796
|
+
```
|
|
797
|
+
πΎ Saved to: /home/user/.claude/audio/tts-1770274925.wav π¦ 28 20.9MB π§Ή[15mb]
|
|
798
|
+
```
|
|
799
|
+
|
|
800
|
+
What you see:
|
|
801
|
+
- πΎ **Full path** - Clickable file for replay or sharing
|
|
802
|
+
- π¦ **28** - File count in cache
|
|
803
|
+
- **20.9MB** - Total cache size (color-coded):
|
|
804
|
+
- π’ Green: <500MB
|
|
805
|
+
- π‘ Yellow: 500MB-3GB
|
|
806
|
+
- π΄ Red: >3GB
|
|
807
|
+
- π§Ή **[15mb]** - Auto-cleanup threshold
|
|
808
|
+
|
|
809
|
+
**Intelligent Size-Based Auto-Cleanup:**
|
|
810
|
+
- Deletes oldest files when cache exceeds threshold (default: 15MB)
|
|
811
|
+
- Silent operation (no blocking prompts)
|
|
812
|
+
- Write-lock protection prevents conflicts with TTS generation
|
|
813
|
+
- Respects active TTS (won't delete while generating)
|
|
814
|
+
|
|
815
|
+
**Configuration:**
|
|
816
|
+
```bash
|
|
817
|
+
# Per-project threshold override
|
|
818
|
+
echo "50" > .claude/tts-auto-clean-threshold.txt # 50MB limit
|
|
819
|
+
|
|
820
|
+
# Or disable cleanup
|
|
821
|
+
echo "0" > .claude/tts-auto-clean-threshold.txt # Disable
|
|
822
|
+
```
|
|
823
|
+
|
|
824
|
+
**Manual Cleanup:**
|
|
825
|
+
```bash
|
|
826
|
+
# Non-interactive cleanup
|
|
827
|
+
/agent-vibes:clean
|
|
828
|
+
|
|
829
|
+
# Or programmatically via MCP
|
|
830
|
+
await agent_vibes.clean_audio_cache()
|
|
831
|
+
```
|
|
832
|
+
|
|
833
|
+
#### π΅ TTS Queue Management
|
|
834
|
+
|
|
835
|
+
**Overlap Prevention:**
|
|
836
|
+
- Centralized queue system for TTS operations
|
|
837
|
+
- Prevents simultaneous audio playback
|
|
838
|
+
- Critical for Clawdbot multi-agent scenarios
|
|
839
|
+
- Atomic queue operations ensure consistency
|
|
840
|
+
|
|
841
|
+
**Queue Integration:**
|
|
842
|
+
- Automatic in OpenClaw Receiver
|
|
843
|
+
- Optional in standalone environments
|
|
844
|
+
- Fallback to sequential playback
|
|
845
|
+
|
|
846
|
+
#### βοΈ Audio Effects Across All Providers
|
|
847
|
+
|
|
848
|
+
**Effects Support:**
|
|
849
|
+
- Reverb, echo, pitch, EQ available
|
|
850
|
+
- SSH-remote provider: Full effects support
|
|
851
|
+
- Termux-ssh provider: Full effects support
|
|
852
|
+
- All local providers: Unchanged effects behavior
|
|
853
|
+
|
|
854
|
+
**Configuration:**
|
|
855
|
+
- Per-session override via environment variables
|
|
856
|
+
- Project-local settings via config files
|
|
857
|
+
- Persistent across TTS operations
|
|
858
|
+
|
|
859
|
+
#### π Comprehensive Uninstall Command
|
|
860
|
+
|
|
861
|
+
**`/agent-vibes:uninstall` Skill:**
|
|
862
|
+
- Complete removal of AgentVibes and dependencies
|
|
863
|
+
- Interactive prompts for user confirmation
|
|
864
|
+
- Option to preserve configuration
|
|
865
|
+
- Detailed removal logs
|
|
866
|
+
- Full documentation included
|
|
867
|
+
|
|
868
|
+
### π Bug Fixes
|
|
869
|
+
|
|
870
|
+
- **TTS Overlap** - Fixed audio overlapping via queue management
|
|
871
|
+
- **Termux Audio** - Proper detection and use of termux-media-player
|
|
872
|
+
- **SSH Detection** - Improved SSH environment detection logic
|
|
873
|
+
- **Race Conditions** - Write-lock mechanism prevents cleanup conflicts
|
|
874
|
+
- **Temp Directory** - Proper Termux temp directory handling
|
|
875
|
+
- **Color Codes** - Fixed GOLD color (256-color \033[38;5;226m)
|
|
876
|
+
- **Stat Compatibility** - BSD/GNU stat detection with proper output suppression
|
|
877
|
+
- **Syntax Validation** - Fixed installer.js syntax errors
|
|
878
|
+
- **Coverage Testing** - Proper coverage file generation for CI/CD
|
|
879
|
+
|
|
880
|
+
### π Security & Quality
|
|
881
|
+
|
|
882
|
+
- **No Hardcoded Credentials** - All secure operations use environment variables
|
|
883
|
+
- **SSH Safety** - Secure PulseAudio tunnel authentication
|
|
884
|
+
- **Atomic Operations** - Queue and receiver use atomic file operations
|
|
885
|
+
- **Input Validation** - All external inputs validated
|
|
886
|
+
- **Pre-existing Limitations** - TTS scripts lack `set -euo pipefail` (pre-existing)
|
|
887
|
+
- **Sonar Compliance** - Security hotspots resolved, quality gates passing
|
|
888
|
+
- **Test Coverage** - 213 BATS tests + 47 Node unit tests
|
|
889
|
+
|
|
890
|
+
### β
Testing & Validation
|
|
891
|
+
|
|
892
|
+
- **213 BATS Tests** - Core functionality validation
|
|
893
|
+
- **47 Node Tests** - JavaScript/installer validation
|
|
894
|
+
- **Cross-Platform** - Piper, macOS, SSH-remote, Termux-ssh
|
|
895
|
+
- **Environment Tests** - Voiceless, GUI, SSH, Termux detection
|
|
896
|
+
- **Audio Effects** - All providers tested
|
|
897
|
+
- **Backwards Compatible** - No breaking changes to existing code
|
|
898
|
+
|
|
899
|
+
---
|
|
900
|
+
|
|
901
|
+
## π¦ v3.2.0 - Clawdbot Integration: AI Assistants on Any Messenger
|
|
902
|
+
|
|
903
|
+
**Release Date:** January 27, 2026
|
|
904
|
+
|
|
905
|
+
### π― Why v3.2.0?
|
|
906
|
+
|
|
907
|
+
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.
|
|
908
|
+
|
|
909
|
+
### π€ AI Summary
|
|
910
|
+
|
|
911
|
+
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.
|
|
912
|
+
|
|
913
|
+
**Key Highlights:**
|
|
914
|
+
- π€ **Clawdbot Integration** - Native TTS support for Clawdbot AI assistant framework
|
|
915
|
+
- π¬ **Messenger Platforms** - Works with WhatsApp, Telegram, Discord via Clawdbot
|
|
916
|
+
- π **Remote SSH Audio** - Perfect for Clawdbot on remote servers with PulseAudio tunneling
|
|
917
|
+
- π¦ **Simple Install** - Just `npx agentvibes install` and it works
|
|
918
|
+
- π‘οΈ **SonarCloud Fixes** - Quality gate workflow improvements and documentation
|
|
919
|
+
- β
**Full Test Coverage** - All 213 BATS + 47 Node tests passing
|
|
920
|
+
|
|
921
|
+
### β¨ New Features
|
|
922
|
+
|
|
923
|
+
**Clawdbot Skill (`.clawdbot/`):**
|
|
924
|
+
- New `.clawdbot/` directory with skill integration files
|
|
925
|
+
- `README.md` - Clawdbot integration overview and setup guide
|
|
926
|
+
- `skill/SKILL.md` - Comprehensive skill documentation with voice selection, background music, effects, personalities, and remote SSH audio setup
|
|
927
|
+
- Automatically distributed via npm package
|
|
928
|
+
- Zero-configuration when AgentVibes is installed
|
|
929
|
+
|
|
930
|
+
**README Updates:**
|
|
931
|
+
- Added "π€ Clawdbot Integration" section with full documentation
|
|
932
|
+
- Updated header to include Clawdbot alongside Claude Code, Claude Desktop, and Warp Terminal
|
|
933
|
+
- Added Clawdbot to Quick Links table
|
|
934
|
+
- Clawdbot description: "A revolutionary AI assistant you can access via any instant messenger"
|
|
935
|
+
- Website link: https://clawd.bot
|
|
936
|
+
|
|
937
|
+
**package.json Updates:**
|
|
938
|
+
- Added `.clawdbot/` to npm files array for distribution
|
|
939
|
+
- Added `clawdbot` to keywords for npm discoverability
|
|
940
|
+
- Updated description to mention Clawdbot support
|
|
941
|
+
|
|
942
|
+
### π Bug Fixes
|
|
943
|
+
|
|
944
|
+
- **SonarCloud Quality Gate** - Disabled quality gate status reporting to GitHub to prevent false CI failures
|
|
945
|
+
- **Coverage File Generation** - Ensured coverage file is generated before SonarCloud scan
|
|
946
|
+
- **CLI Test Coverage** - Added CLI tests and excluded CLI entry point from coverage requirements
|
|
947
|
+
- **macOS Runner** - Removed macos-15-large runner to avoid GitHub billing limits
|
|
948
|
+
- **Piper Voice Test** - Updated installation test to match current voice list
|
|
949
|
+
|
|
950
|
+
### π Documentation
|
|
951
|
+
|
|
952
|
+
- Added step-by-step SonarCloud dashboard configuration guide
|
|
953
|
+
- Added guide to disable SonarCloud GitHub App checks
|
|
954
|
+
- Comprehensive Clawdbot integration documentation with SSH audio examples
|
|
955
|
+
|
|
956
|
+
### π Security & Quality
|
|
957
|
+
|
|
958
|
+
- β
All Sonar quality gates validated
|
|
959
|
+
- β
No hardcoded credentials in changes
|
|
960
|
+
- β
New Clawdbot files are documentation only (no executable code)
|
|
961
|
+
- β
All 213 BATS + 47 Node tests passing
|
|
962
|
+
|
|
963
|
+
### π Changes Summary
|
|
964
|
+
|
|
965
|
+
- **Files Added:** 2 (`.clawdbot/README.md`, `.clawdbot/skill/SKILL.md`)
|
|
966
|
+
- **Files Modified:** 2 (`README.md`, `package.json`)
|
|
967
|
+
- **Commits Since v3.1.0:** 11 (5 fixes, 4 docs, 1 test, 1 debug)
|
|
968
|
+
|
|
969
|
+
### π― User Impact
|
|
970
|
+
|
|
971
|
+
**For Clawdbot Users:**
|
|
972
|
+
- Professional TTS with 50+ voices in 30+ languages
|
|
973
|
+
- Works on remote servers with SSH audio tunneling
|
|
974
|
+
- Zero API costsβPiper TTS is free and offline
|
|
975
|
+
- Automatic integration when AgentVibes is installed
|
|
976
|
+
|
|
977
|
+
**For Existing Users:**
|
|
978
|
+
- Zero breaking changes
|
|
979
|
+
- All existing features work exactly the same
|
|
980
|
+
- Clawdbot support is additive
|
|
981
|
+
|
|
982
|
+
### π Migration Notes
|
|
983
|
+
|
|
984
|
+
No migration required! This is a fully backward-compatible minor release.
|
|
985
|
+
|
|
986
|
+
**To Use with Clawdbot:**
|
|
987
|
+
1. Install: `npx agentvibes install`
|
|
988
|
+
2. Speak: `npx agentvibes speak "Hello!"`
|
|
989
|
+
|
|
990
|
+
### π¦ Full Changelog
|
|
991
|
+
|
|
992
|
+
**Feature Commits:**
|
|
993
|
+
- `(pending)` feat: Add Clawdbot integration
|
|
994
|
+
|
|
995
|
+
**Bug Fix Commits:**
|
|
996
|
+
- `5cd97d52` fix: Disable SonarCloud quality gate status reporting to GitHub
|
|
997
|
+
- `12f822e6` fix: Disable quality gate failure in SonarCloud workflow
|
|
998
|
+
- `0d26ccc2` fix: Ensure coverage file is generated before SonarCloud scan
|
|
999
|
+
- `c2465508` fix: Add CLI tests and exclude CLI entry point from coverage
|
|
1000
|
+
- `c673afe1` fix: Remove macos-15-large runner to avoid GitHub billing limits
|
|
1001
|
+
- `92271732` fix: Update Piper installation test to match current voice list
|
|
1002
|
+
|
|
1003
|
+
**Documentation Commits:**
|
|
1004
|
+
- `f72dd977` docs: Add guide to disable SonarCloud GitHub App checks
|
|
1005
|
+
- `6587519b` docs: Add step-by-step SonarCloud dashboard configuration guide
|
|
1006
|
+
- `ba765f50` docs: Add SonarCloud quality gate configuration guidance
|
|
1007
|
+
|
|
1008
|
+
**Test Commits:**
|
|
1009
|
+
- `47f08a79` test: Trigger workflow to verify SonarCloud quality gate fix
|
|
1010
|
+
|
|
1011
|
+
**Debug Commits:**
|
|
1012
|
+
- `84945d25` debug: Add coverage file verification to SonarCloud workflow
|
|
1013
|
+
|
|
1014
|
+
---
|
|
1015
|
+
|
|
1016
|
+
## π¦ v3.1.0 - Android Native Support: Run Claude Code on Your Phone
|
|
1017
|
+
|
|
1018
|
+
**Release Date:** January 22, 2026
|
|
1019
|
+
|
|
1020
|
+
### π― Why v3.1.0?
|
|
1021
|
+
|
|
1022
|
+
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.
|
|
1023
|
+
|
|
1024
|
+
### π€ AI Summary
|
|
1025
|
+
|
|
1026
|
+
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.
|
|
1027
|
+
|
|
1028
|
+
**Key Highlights:**
|
|
1029
|
+
- π€ **Native Android Support** - Run Claude Code with TTS directly on Android devices via Termux
|
|
1030
|
+
- π¦ **Automatic Termux Detection** - AgentVibes auto-detects Android and runs specialized installation
|
|
1031
|
+
- π― **Proot-Distro Integration** - Solves glibc compatibility with proot Debian environment
|
|
1032
|
+
- π **Android Audio Playback** - Uses termux-media-player for native Android audio routing
|
|
1033
|
+
- π **Comprehensive Documentation** - Complete Android setup guide with troubleshooting and F-Droid instructions
|
|
1034
|
+
- β
**Full Test Coverage** - All 213 BATS + 38 Node tests passing with Android compatibility
|
|
1035
|
+
|
|
1036
|
+
### β¨ New Features
|
|
1037
|
+
|
|
1038
|
+
**Termux Installer (`.claude/hooks/termux-installer.sh`):**
|
|
1039
|
+
- New 224-line installer specifically for Android/Termux environments
|
|
1040
|
+
- Automatically installs proot-distro with Debian (for glibc compatibility)
|
|
1041
|
+
- Downloads and configures Piper TTS binary in proot environment
|
|
1042
|
+
- Creates `/usr/bin/piper` wrapper that routes through proot
|
|
1043
|
+
- Installs audio dependencies: ffmpeg, sox, bc, termux-api
|
|
1044
|
+
- Interactive voice selection with 50+ language options
|
|
1045
|
+
- Validates Termux environment before proceeding
|
|
1046
|
+
|
|
1047
|
+
**Termux Detection (`src/installer.js`):**
|
|
1048
|
+
- New `isTermux()` function checks for `/data/data/com.termux` directory
|
|
1049
|
+
- New `detectAndNotifyTermux()` displays Android detection messages
|
|
1050
|
+
- Auto-configures piper provider with Termux-compatible voice
|
|
1051
|
+
- Shows Termux-specific installation instructions
|
|
1052
|
+
- Piper installer automatically redirects to termux-installer.sh on Android
|
|
1053
|
+
|
|
1054
|
+
**Audio Processor Updates (`.claude/hooks/audio-processor.sh`):**
|
|
1055
|
+
- Detects Termux environment for temp directory selection
|
|
1056
|
+
- Uses `${PREFIX}/tmp` on Termux, `/tmp` on standard systems
|
|
1057
|
+
- Ensures audio effects work correctly on Android
|
|
1058
|
+
- Cross-platform compatibility maintained
|
|
1059
|
+
|
|
1060
|
+
**Piper Installer Updates (`.claude/hooks/piper-installer.sh`):**
|
|
1061
|
+
- Auto-detects Termux and redirects to specialized installer
|
|
1062
|
+
- Shows clear message when routing to Termux-specific setup
|
|
1063
|
+
|
|
1064
|
+
**Android Audio Playback (`.claude/hooks/play-tts-piper.sh`):**
|
|
1065
|
+
- Detects Android/Termux environment
|
|
1066
|
+
- Uses `termux-media-player` instead of `paplay` on Android
|
|
1067
|
+
- Audio routes through Android's native media system
|
|
1068
|
+
|
|
1069
|
+
### π Documentation
|
|
1070
|
+
|
|
1071
|
+
**New Android Setup Section (`README.md`):**
|
|
1072
|
+
- Added "π€ Android / Termux" section to System Requirements
|
|
1073
|
+
- Complete 3-step installation guide for Android devices
|
|
1074
|
+
- Explanation of why Termux needs special handling (bionic vs glibc)
|
|
1075
|
+
- Requirements: Termux app from F-Droid, Termux:API, Android 7.0+
|
|
1076
|
+
- Audio playback architecture explanation
|
|
1077
|
+
- Setup verification commands
|
|
1078
|
+
- Troubleshooting table for common issues
|
|
1079
|
+
- Clear explanation of why F-Droid version is required (not Google Play)
|
|
1080
|
+
- Updated Quick Links table with direct link to Android setup
|
|
1081
|
+
|
|
1082
|
+
### π Bug Fixes
|
|
1083
|
+
|
|
1084
|
+
- **Test #90 Fix** - Added termux-ssh provider to test cleanup list for "no providers found" edge case
|
|
1085
|
+
- **Temp Directory Detection** - Fixed audio-processor.sh defaulting to Termux paths on non-Termux systems
|
|
1086
|
+
- **Sonar Compliance** - Added `set -euo pipefail` strict mode to termux-installer.sh for security
|
|
1087
|
+
|
|
1088
|
+
### π Security & Quality
|
|
1089
|
+
|
|
1090
|
+
- β
All Sonar quality gates validated
|
|
1091
|
+
- β
Strict mode (`set -euo pipefail`) on all new bash scripts
|
|
1092
|
+
- β
No hardcoded credentials
|
|
1093
|
+
- β
Proper variable quoting and input validation
|
|
1094
|
+
- β
Cross-platform temp directory handling
|
|
1095
|
+
- β
All 213 BATS + 38 Node tests passing
|
|
1096
|
+
|
|
1097
|
+
### π Changes Summary
|
|
1098
|
+
|
|
1099
|
+
- **Files Modified:** 7
|
|
1100
|
+
- **Lines Added:** +391
|
|
1101
|
+
- **Lines Removed:** -8
|
|
1102
|
+
- **New Files:** 1 (termux-installer.sh)
|
|
1103
|
+
- **Commits:** 8 (5 fixes, 1 feature, 1 docs, 1 merge)
|
|
1104
|
+
|
|
1105
|
+
### π― User Impact
|
|
1106
|
+
|
|
1107
|
+
**For Android Users:**
|
|
1108
|
+
- Can now run Claude Code directly on Android phones/tablets
|
|
1109
|
+
- Full TTS support with 50+ voices and languages
|
|
1110
|
+
- No remote server required for basic usage
|
|
1111
|
+
- Works offline after initial voice downloads
|
|
1112
|
+
|
|
1113
|
+
**For Developers:**
|
|
1114
|
+
- Complete mobile development solution (native + SSH)
|
|
1115
|
+
- Native Termux for local Android development
|
|
1116
|
+
- Termux-SSH provider for remote server connections
|
|
1117
|
+
- Seamless integration with existing AgentVibes workflows
|
|
1118
|
+
|
|
1119
|
+
**For Existing Users:**
|
|
1120
|
+
- Zero breaking changes
|
|
1121
|
+
- All existing features work exactly the same
|
|
1122
|
+
- New Android support is opt-in via Termux installation
|
|
1123
|
+
|
|
1124
|
+
### π Migration Notes
|
|
1125
|
+
|
|
1126
|
+
No migration required! This is a fully backward-compatible minor release.
|
|
1127
|
+
|
|
1128
|
+
**To Try Android Support:**
|
|
1129
|
+
1. Install [Termux from F-Droid](https://f-droid.org/en/packages/com.termux/)
|
|
1130
|
+
2. Install [Termux:API](https://f-droid.org/en/packages/com.termux.api/)
|
|
1131
|
+
3. In Termux: `pkg install nodejs-lts`
|
|
1132
|
+
4. Run: `npx agentvibes install`
|
|
1133
|
+
|
|
1134
|
+
AgentVibes will auto-detect Termux and run the specialized installer.
|
|
1135
|
+
|
|
1136
|
+
### π¦ Full Changelog
|
|
1137
|
+
|
|
1138
|
+
**Feature Commits:**
|
|
1139
|
+
- `e9d4cf95` feat: Add Android/Termux support for Piper TTS
|
|
1140
|
+
|
|
1141
|
+
**Bug Fix Commits:**
|
|
1142
|
+
- `aa4d3cdd` fix: Add termux-ssh provider to test #90 cleanup list
|
|
1143
|
+
- `c1b00c6d` fix: Use termux-media-player for audio playback on Android
|
|
1144
|
+
- `f96ab89a` fix: Properly detect Termux environment for temp directory
|
|
1145
|
+
- `e2efeb06` fix: Add strict mode to termux-installer.sh for Sonar compliance
|
|
1146
|
+
|
|
1147
|
+
**Documentation Commits:**
|
|
1148
|
+
- `701a9412` docs: Add comprehensive Android/Termux setup section to README
|
|
1149
|
+
|
|
1150
|
+
**Merge Commits:**
|
|
1151
|
+
- `a5d3f546` Merge feature/android-termux into master
|
|
1152
|
+
- `95f04e70` Merge origin/master into feature/pulseaudio-reverse-tunnel
|
|
1153
|
+
|
|
1154
|
+
---
|
|
1155
|
+
|
|
1156
|
+
## π¦ v3.0.0 - Cross-Platform Remote Audio: Termux SSH Provider
|
|
1157
|
+
|
|
1158
|
+
**Release Date:** January 8, 2026
|
|
1159
|
+
|
|
1160
|
+
### π― Why v3.0.0?
|
|
1161
|
+
|
|
1162
|
+
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."**
|
|
1163
|
+
|
|
1164
|
+
### π€ AI Summary
|
|
1165
|
+
|
|
1166
|
+
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.
|
|
1167
|
+
|
|
1168
|
+
**Key Highlights:**
|
|
1169
|
+
- π± **Mobile-First AI Conversations** - Have fully interactive, hands-free conversations with Claude Code using just your Android device
|
|
1170
|
+
- π» **Local + Remote Development** - Works for both local coding (laptop β phone audio) and remote server development
|
|
1171
|
+
- π **Tailscale Integration** - Comprehensive guide for internet-wide device access without port forwarding or firewall configuration
|
|
1172
|
+
- π§ **Enhanced Installer** - Interactive SSH host configuration with validation and clear use-case guidance
|
|
1173
|
+
- π― **Full MCP Compatibility** - Complete integration with all MCP commands and workflows
|
|
1174
|
+
- π‘οΈ **Quality Gates Integration** - Automated security validation in release process
|
|
1175
|
+
|
|
1176
|
+
### π₯ Demo Video
|
|
1177
|
+
|
|
1178
|
+
**Watch it in action:** [Mobile-First AI Conversations with Claude Code](https://youtu.be/ngLiA_KQtTA?si=wTwS4CJidIxWqLIP)
|
|
1179
|
+
|
|
1180
|
+
See the termux-ssh provider in actionβfully interactive, hands-free conversations with Claude Code using just your Android device.
|
|
1181
|
+
|
|
1182
|
+
### β¨ New Features
|
|
1183
|
+
|
|
1184
|
+
**Termux SSH TTS Provider (`.claude/hooks/play-tts-termux-ssh.sh`):**
|
|
1185
|
+
- New TTS provider for Android via SSH connection
|
|
1186
|
+
- Routes text to `termux-tts-speak` on remote Android device
|
|
1187
|
+
- Configuration priority: env var β project β global
|
|
1188
|
+
- Secure quote escaping for safe text transmission
|
|
1189
|
+
- 196 lines of fully documented code
|
|
1190
|
+
|
|
1191
|
+
**Installer Updates (`src/installer.js`):**
|
|
1192
|
+
- Added termux-ssh to provider selection menu
|
|
1193
|
+
- Interactive SSH host alias configuration with validation
|
|
1194
|
+
- Saves host alias to `.claude/termux-ssh-host.txt`
|
|
1195
|
+
- Clear use case description: "Only choose if your project is on a remote server and you want audio sent to your Android device"
|
|
1196
|
+
- Documentation link to TERMUX_SETUP.md
|
|
61
1197
|
|
|
62
|
-
|
|
63
|
-
-
|
|
64
|
-
-
|
|
65
|
-
-
|
|
1198
|
+
**TTS Router Updates (`.claude/hooks/play-tts.sh`):**
|
|
1199
|
+
- Added termux-ssh provider routing in two locations
|
|
1200
|
+
- Full integration with existing provider detection
|
|
1201
|
+
- Supports mixed-provider mode (Piper + Termux)
|
|
66
1202
|
|
|
1203
|
+
**MCP Server Integration (`mcp-server/server.py`):**
|