agentvibes 5.3.0 → 5.5.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 (222) hide show
  1. package/.agentvibes/LITE-MODE.md +236 -0
  2. package/.agentvibes/README.md +136 -0
  3. package/.agentvibes/backup/session-start-tts.sh.20251210_212814 +141 -0
  4. package/.agentvibes/backups/agents/analyst_20260204_144958.md +78 -0
  5. package/.agentvibes/backups/agents/architect_20260204_144958.md +72 -0
  6. package/.agentvibes/backups/agents/dev_20260204_144958.md +74 -0
  7. package/.agentvibes/backups/agents/pm_20260204_144958.md +72 -0
  8. package/.agentvibes/backups/agents/quick-flow-solo-dev_20260204_144958.md +64 -0
  9. package/.agentvibes/backups/agents/sm_20260204_144958.md +87 -0
  10. package/.agentvibes/backups/agents/tea_20260204_144958.md +79 -0
  11. package/.agentvibes/backups/agents/tech-writer_20260204_144958.md +82 -0
  12. package/.agentvibes/backups/agents/ux-designer_20260204_144958.md +80 -0
  13. package/.agentvibes/bmad/bmad-voices.md +69 -69
  14. package/.agentvibes/config/README-personality-defaults.md +162 -0
  15. package/.agentvibes/config/mode.txt +1 -0
  16. package/.agentvibes/config/personality-voice-defaults.default.json +21 -0
  17. package/.agentvibes/config/save-audio.txt +1 -0
  18. package/.agentvibes/config/voice-metadata.json +160 -0
  19. package/.agentvibes/config.json +24 -15
  20. package/.agentvibes/hooks/help.sh +191 -0
  21. package/.agentvibes/hooks/post-tool-use-lite.sh +111 -0
  22. package/.agentvibes/hooks/save-audio-manager.sh +162 -0
  23. package/.agentvibes/hooks/session-start-full-optimized.sh +102 -0
  24. package/.agentvibes/hooks/session-start-full.sh +142 -0
  25. package/.agentvibes/hooks/session-start-lite-v2.sh +34 -0
  26. package/.agentvibes/hooks/session-start-lite.sh +29 -0
  27. package/.agentvibes/hooks/stop-lite.sh +115 -0
  28. package/.agentvibes/hooks/switch-mode.sh +215 -0
  29. package/.agentvibes/output-styles/audio-summary.md +30 -0
  30. package/.claude/activation-instructions +54 -54
  31. package/.claude/audio/voice-samples/piper/alan.wav +0 -0
  32. package/.claude/audio/voice-samples/piper/amy.wav +0 -0
  33. package/.claude/audio/voice-samples/piper/charlotte.wav +0 -0
  34. package/.claude/audio/voice-samples/piper/joe.wav +0 -0
  35. package/.claude/audio/voice-samples/piper/john.wav +0 -0
  36. package/.claude/audio/voice-samples/piper/katherine.wav +0 -0
  37. package/.claude/audio/voice-samples/piper/kristin.wav +0 -0
  38. package/.claude/audio/voice-samples/piper/linda.wav +0 -0
  39. package/.claude/audio/voice-samples/piper/marcus.wav +0 -0
  40. package/.claude/audio/voice-samples/piper/ryan.wav +0 -0
  41. package/.claude/commands/agent-vibes/add.md +21 -21
  42. package/.claude/commands/agent-vibes/agent-vibes.md +101 -101
  43. package/.claude/commands/agent-vibes/agent.md +79 -79
  44. package/.claude/commands/agent-vibes/background-music.md +111 -111
  45. package/.claude/commands/agent-vibes/bmad.md +198 -198
  46. package/.claude/commands/agent-vibes/clean.md +18 -18
  47. package/.claude/commands/agent-vibes/cleanup.md +18 -18
  48. package/.claude/commands/agent-vibes/commands.json +145 -145
  49. package/.claude/commands/agent-vibes/effects.md +97 -97
  50. package/.claude/commands/agent-vibes/get.md +9 -9
  51. package/.claude/commands/agent-vibes/hide.md +91 -91
  52. package/.claude/commands/agent-vibes/language.md +23 -23
  53. package/.claude/commands/agent-vibes/learn.md +67 -67
  54. package/.claude/commands/agent-vibes/list.md +13 -13
  55. package/.claude/commands/agent-vibes/mute.md +37 -37
  56. package/.claude/commands/agent-vibes/preview.md +17 -17
  57. package/.claude/commands/agent-vibes/provider.md +68 -68
  58. package/.claude/commands/agent-vibes/replay-target.md +14 -14
  59. package/.claude/commands/agent-vibes/sample.md +12 -12
  60. package/.claude/commands/agent-vibes/set-favorite-voice.md +84 -84
  61. package/.claude/commands/agent-vibes/set-pretext.md +65 -65
  62. package/.claude/commands/agent-vibes/set-speed.md +41 -41
  63. package/.claude/commands/agent-vibes/show.md +84 -84
  64. package/.claude/commands/agent-vibes/switch.md +87 -87
  65. package/.claude/commands/agent-vibes/target-voice.md +26 -26
  66. package/.claude/commands/agent-vibes/target.md +30 -30
  67. package/.claude/commands/agent-vibes/translate.md +68 -68
  68. package/.claude/commands/agent-vibes/unmute.md +45 -45
  69. package/.claude/commands/agent-vibes/whoami.md +7 -7
  70. package/.claude/commands/agent-vibes-bmad-voices.md +117 -117
  71. package/.claude/commands/agent-vibes-rdp.md +24 -24
  72. package/.claude/config/audio-effects.cfg +16 -11
  73. package/.claude/config/audio-effects.cfg.sample +52 -52
  74. package/.claude/config/background-music-position.txt +27 -0
  75. package/.claude/config/background-music-volume.txt +1 -1
  76. package/.claude/config/background-music.cfg +1 -0
  77. package/.claude/config/background-music.txt +1 -0
  78. package/.claude/config/tts-speech-rate.txt +1 -4
  79. package/.claude/config/tts-verbosity.txt +1 -0
  80. package/.claude/docs/TERMUX_SETUP.md +408 -408
  81. package/.claude/github-star-reminder.txt +1 -1
  82. package/.claude/hooks/README-TTS-QUEUE.md +135 -135
  83. package/.claude/hooks/audio-cache-utils.sh +0 -0
  84. package/.claude/hooks/audio-processor.sh +60 -14
  85. package/.claude/hooks/background-music-manager.sh +0 -0
  86. package/.claude/hooks/bmad-party-manager.sh +225 -0
  87. package/.claude/hooks/bmad-party-speak.sh +0 -0
  88. package/.claude/hooks/bmad-speak-enhanced.sh +0 -0
  89. package/.claude/hooks/bmad-speak.sh +12 -15
  90. package/.claude/hooks/bmad-tts-injector.sh +0 -0
  91. package/.claude/hooks/bmad-voice-manager.sh +0 -0
  92. package/.claude/hooks/clawdbot-receiver-SECURE.sh +25 -23
  93. package/.claude/hooks/clawdbot-receiver.sh +4 -28
  94. package/.claude/hooks/clean-audio-cache.sh +0 -0
  95. package/.claude/hooks/cleanup-cache.sh +0 -0
  96. package/.claude/hooks/configure-rdp-mode.sh +0 -0
  97. package/.claude/hooks/download-extra-voices.sh +0 -0
  98. package/.claude/hooks/effects-manager.sh +0 -0
  99. package/.claude/hooks/github-star-reminder.sh +0 -0
  100. package/.claude/hooks/language-manager.sh +0 -0
  101. package/.claude/hooks/learn-manager.sh +0 -0
  102. package/.claude/hooks/macos-voice-manager.sh +0 -0
  103. package/.claude/hooks/migrate-background-music.sh +0 -0
  104. package/.claude/hooks/migrate-to-agentvibes.sh +0 -0
  105. package/.claude/hooks/optimize-background-music.sh +0 -0
  106. package/.claude/hooks/personality-manager.sh +0 -0
  107. package/.claude/hooks/piper-download-voices.sh +0 -0
  108. package/.claude/hooks/piper-installer.sh +1 -1
  109. package/.claude/hooks/piper-multispeaker-registry.sh +0 -0
  110. package/.claude/hooks/piper-voice-manager.sh +0 -0
  111. package/.claude/hooks/play-tts-enhanced.sh +0 -0
  112. package/.claude/hooks/play-tts-macos.sh +6 -12
  113. package/.claude/hooks/play-tts-piper.sh +52 -81
  114. package/.claude/hooks/play-tts-soprano.sh +9 -43
  115. package/.claude/hooks/play-tts-ssh-remote.sh +43 -215
  116. package/.claude/hooks/play-tts-termux-ssh.sh +0 -0
  117. package/.claude/hooks/play-tts.sh +41 -20
  118. package/.claude/hooks/post-response.sh +41 -0
  119. package/.claude/hooks/prepare-release.sh +0 -0
  120. package/.claude/hooks/provider-commands.sh +0 -0
  121. package/.claude/hooks/provider-manager.sh +0 -0
  122. package/.claude/hooks/replay-target-audio.sh +0 -0
  123. package/.claude/hooks/requirements.txt +6 -6
  124. package/.claude/hooks/sentiment-manager.sh +0 -0
  125. package/.claude/hooks/session-start-tts.sh +56 -39
  126. package/.claude/hooks/soprano-gradio-synth.py +139 -139
  127. package/.claude/hooks/speed-manager.sh +0 -0
  128. package/.claude/hooks/stop.sh +63 -0
  129. package/.claude/hooks/termux-installer.sh +0 -0
  130. package/.claude/hooks/translate-manager.sh +0 -0
  131. package/.claude/hooks/translator.py +237 -237
  132. package/.claude/hooks/tts-queue-worker.sh +0 -0
  133. package/.claude/hooks/tts-queue.sh +0 -0
  134. package/.claude/hooks/verbosity-manager.sh +0 -0
  135. package/.claude/hooks/voice-manager.sh +26 -4
  136. package/.claude/hooks-windows/audio-cache-utils.ps1 +119 -119
  137. package/.claude/hooks-windows/bmad-party-speak.ps1 +278 -278
  138. package/.claude/hooks-windows/bmad-speak.ps1 +264 -264
  139. package/.claude/hooks-windows/clean-audio-cache.ps1 +53 -53
  140. package/.claude/hooks-windows/effects-manager.ps1 +294 -294
  141. package/.claude/hooks-windows/language-manager.ps1 +193 -193
  142. package/.claude/hooks-windows/learn-manager.ps1 +241 -241
  143. package/.claude/hooks-windows/personality-manager.ps1 +266 -266
  144. package/.claude/hooks-windows/play-tts-soprano.ps1 +5 -5
  145. package/.claude/hooks-windows/play-tts-termux-ssh.ps1 +138 -138
  146. package/.claude/hooks-windows/play-tts-windows-piper.ps1 +178 -0
  147. package/.claude/hooks-windows/play-tts-windows-sapi.ps1 +108 -0
  148. package/.claude/hooks-windows/play-tts.ps1 +265 -507
  149. package/.claude/hooks-windows/provider-manager.ps1 +158 -192
  150. package/.claude/hooks-windows/session-start-tts.ps1 +55 -46
  151. package/.claude/hooks-windows/soprano-gradio-synth.py +153 -153
  152. package/.claude/hooks-windows/speed-manager.ps1 +166 -166
  153. package/.claude/hooks-windows/voice-manager-windows.ps1 +176 -260
  154. package/.claude/output-styles/agent-vibes.md +202 -202
  155. package/.claude/personalities/angry.md +14 -14
  156. package/.claude/personalities/annoying.md +14 -14
  157. package/.claude/personalities/crass.md +14 -14
  158. package/.claude/personalities/dramatic.md +14 -14
  159. package/.claude/personalities/dry-humor.md +50 -50
  160. package/.claude/personalities/flirty.md +20 -20
  161. package/.claude/personalities/funny.md +14 -14
  162. package/.claude/personalities/grandpa.md +32 -32
  163. package/.claude/personalities/millennial.md +14 -14
  164. package/.claude/personalities/moody.md +14 -14
  165. package/.claude/personalities/normal.md +16 -16
  166. package/.claude/personalities/pirate.md +14 -14
  167. package/.claude/personalities/poetic.md +14 -14
  168. package/.claude/personalities/professional.md +14 -14
  169. package/.claude/personalities/rapper.md +55 -55
  170. package/.claude/personalities/robot.md +14 -14
  171. package/.claude/personalities/sarcastic.md +38 -38
  172. package/.claude/personalities/sassy.md +14 -14
  173. package/.claude/personalities/surfer-dude.md +14 -14
  174. package/.claude/personalities/zen.md +14 -14
  175. package/.claude/piper-voices-dir.txt +1 -0
  176. package/.claude/settings.json +25 -15
  177. package/.claude/verbosity.txt +1 -1
  178. package/.clawdbot/README.md +105 -105
  179. package/.clawdbot/skill/SKILL.md +149 -145
  180. package/.mcp.json +30 -11
  181. package/CLAUDE.md +170 -215
  182. package/README.md +207 -521
  183. package/RELEASE_NOTES.md +1172 -1976
  184. package/WINDOWS-SETUP.md +208 -208
  185. package/bin/agent-vibes +0 -0
  186. package/bin/agentvibes-voice-browser.js +64 -1289
  187. package/bin/agentvibes.js +28 -0
  188. package/bin/ensure-soprano-running.sh +43 -0
  189. package/bin/mcp-server.js +121 -121
  190. package/bin/mcp-server.sh +0 -0
  191. package/bin/test-bmad-pr +78 -78
  192. package/mcp-server/QUICK_START.md +203 -203
  193. package/mcp-server/README.md +345 -345
  194. package/mcp-server/WINDOWS_SETUP.md +260 -260
  195. package/mcp-server/docs/troubleshooting-audio.md +313 -313
  196. package/mcp-server/examples/claude_desktop_config.json +11 -11
  197. package/mcp-server/examples/claude_desktop_config_piper.json +9 -9
  198. package/mcp-server/examples/custom_instructions.md +169 -169
  199. package/mcp-server/install-deps.js +130 -130
  200. package/mcp-server/pyproject.toml +52 -52
  201. package/mcp-server/requirements.txt +2 -2
  202. package/mcp-server/server.py +1467 -1578
  203. package/mcp-server/test_server.py +395 -395
  204. package/package.json +1 -3
  205. package/setup-windows.ps1 +815 -815
  206. package/src/console/tabs/music-tab.js +5 -2
  207. package/src/console/tabs/voices-tab.js +71 -37
  208. package/src/installer.js +52 -5
  209. package/src/services/llm-provider-service.js +1 -1
  210. package/templates/agentvibes-receiver.sh +158 -483
  211. package/templates/audio/welcome-music.mp3 +0 -0
  212. package/.agentvibes/bmad-voice-map.json +0 -104
  213. package/.agentvibes/copilot-sessions.log +0 -4
  214. package/.claude/config/audio-effects-bmad.cfg +0 -50
  215. package/.claude/config/intro-text.txt +0 -1
  216. package/.claude/config/personality.txt +0 -1
  217. package/.claude/config/piper-speech-rate.txt +0 -4
  218. package/.claude/config/piper-target-speech-rate.txt +0 -1
  219. package/.claude/config/reverb-level.txt +0 -1
  220. package/.claude/config/tts-target-speech-rate.txt +0 -1
  221. package/voice-assignments.json +0 -8245
  222. /package/{.claude → .agentvibes}/config/agentvibes.json +0 -0
package/README.md CHANGED
@@ -4,14 +4,14 @@
4
4
  >
5
5
  > 🌐 **[agentvibes.org](https://agentvibes.org)**
6
6
  >
7
- > Professional text-to-speech for **Claude Code**, **GitHub Copilot**, **OpenAI Codex**, **Claude Desktop**, and **OpenClaw**. Using popular open-source TTS engines: **Soprano** (Neural), **Piper TTS** (Free!), **macOS Say** (Built-in!), or **Windows SAPI** (Zero Setup!)
7
+ > Professional text-to-speech for **Claude Code**, **Claude Desktop**, **Warp Terminal**, and **OpenClaw** - **Soprano** (Neural), **Piper TTS** (Free!), **macOS Say** (Built-in!), or **Windows SAPI** (Zero Setup!)
8
8
 
9
9
  [![npm version](https://img.shields.io/npm/v/agentvibes)](https://www.npmjs.com/package/agentvibes)
10
10
  [![Test Suite](https://github.com/paulpreibisch/AgentVibes/actions/workflows/test.yml/badge.svg)](https://github.com/paulpreibisch/AgentVibes/actions/workflows/test.yml)
11
11
  [![Publish](https://github.com/paulpreibisch/AgentVibes/actions/workflows/publish.yml/badge.svg)](https://github.com/paulpreibisch/AgentVibes/actions/workflows/publish.yml)
12
12
  [![License](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)
13
13
 
14
- **Author**: Paul Preibisch ([@997Fire](https://x.com/997Fire)) | **Version**: v5.3.0
14
+ **Author**: Paul Preibisch ([@997Fire](https://x.com/997Fire)) | **Version**: v5.5
15
15
 
16
16
  ---
17
17
 
@@ -20,17 +20,14 @@
20
20
  | I want to... | Go here |
21
21
  |--------------|---------|
22
22
  | **Install AgentVibes** (just `npx`, no git!) | [Quick Start Guide](docs/quick-start.md) |
23
- | **Play agent audio using your phone as remote speakers** | [Android/Termux Setup](#-android--termux) |
23
+ | **Run Claude Code on Android** | [Android/Termux Setup](#-android--termux) |
24
24
  | **Secure OpenClaw on Remote Server** | [Security Hardening Guide](docs/security-hardening-guide.md) ⚠️ |
25
25
  | **Understand what I need** | [Prerequisites](#-prerequisites) |
26
26
  | **Set up on Windows (Native)** | [Windows Native Setup](WINDOWS-SETUP.md) |
27
27
  | **Set up on Windows (Claude Desktop/WSL)** | [Windows WSL Guide](mcp-server/WINDOWS_SETUP.md) |
28
- | **Use with GitHub Copilot** | [Copilot Integration](#-github-copilot-integration) |
29
- | **Use with OpenAI Codex** | [Codex Integration](#-openai-codex-integration) |
30
28
  | **Use with OpenClaw** | [OpenClaw Integration](#-openclaw-integration) |
31
29
  | **Use natural language** | [MCP Setup](docs/mcp-setup.md) |
32
30
  | **Switch voices** | [Voice Library](docs/voice-library.md) |
33
- | **Configure BMAD Party Mode** (agents with unique voices) | [BMAD Plugin & Party Mode](#-bmad-plugin) |
34
31
  | **Fix issues** (git-lfs? MCP tokens? Read this!) | [Troubleshooting](docs/troubleshooting.md) & [FAQ](#-frequently-asked-questions-faq) |
35
32
 
36
33
  ---
@@ -39,345 +36,51 @@
39
36
 
40
37
  **AgentVibes adds lively voice narration to your AI coding sessions!**
41
38
 
42
- Whether you're using Claude Code, GitHub Copilot, OpenAI Codex, Claude Desktop, or OpenClaw AgentVibes brings AI to life with professional voices and personalities.
39
+ Whether you're coding in Claude Code, chatting in Claude Desktop, using Warp Terminal, or running OpenClaw - AgentVibes brings AI to life with professional voices and personalities.
43
40
 
44
41
  ---
45
42
 
46
- ## 🎯 NEW IN v5.3.0Take Control of Remote Voices
47
-
48
- - **Customize every remote announcement individually** — pass `--voice`, `--pretext`, `--music`, `--volume`, `--effects`, `--speed`, `--provider` on the command line for just that one message. No more editing config files and changing them back.
49
- - **Skip the intro phrase on demand** — `--pretext ""` suppresses the pretext for a single message.
50
- - **Long messages and special characters work correctly on Windows** — text with quotes, apostrophes, emoji, or multi-line content no longer gets truncated on its way to the voice engine.
51
- - **Voice playback works on Windows servers with no monitor** — a background helper runs in your user session and picks up announcements from a queue, so audio plays even when SSH'ing in headless.
52
- - **Voice preview on remote servers streams to the right device** — TUI preview no longer falls back to local audio on machines without speakers.
53
- - **No more double intro phrases** when both sender and receiver have pretext configured.
54
- - **55 new tests** for BMAD party mode voice assignment and agent isolation.
55
-
56
- ## 🎯 v5.2.1 — Multi-LLM Identity & Install Polish
57
-
58
- - **Copilot gets its own voice + pretext + music** — "Copilot here" with bossa nova, fully distinct from Claude Code and Codex.
59
- - **Per-tool MCP configs with explicit identity** — `.vscode/mcp.json`, `.codex/config.toml`, `~/.copilot/mcp-config.json` each set their own `AGENTVIBES_LLM`.
60
- - **`get_config` MCP tool returns detected LLM** — calling assistants can confirm their routing and respond with the right voice.
61
- - **Setup nav: Install → Install → Install → Configure → Configure → Configure** — keyboard flow walks all three providers' Configures before landing on Default.
62
- - **Claude Code default background music** set to Chillwave.
63
- - **Linux compatibility refinements** — CRLF, permissions, transport provider override.
64
-
65
- ## 🎯 v5.2.0 — Remote Voice Preview + Caveman Mode + Voice Ratings
66
-
67
- - **Caveman verbosity mode** — Ultra-terse TTS fragments. Set via `/agent-vibes:verbosity caveman`.
68
- - **👍/👎 voice ratings** — Press `+` to thumbs up, `-` to thumbs down in any voice list. Replaces star favorites.
69
- - **Remote voice preview** — TUI voice preview works on headless servers via SSH receiver. No local audio needed.
70
- - **SSH receiver routing** — `ssh-remote` and `agentvibes-receiver` are now first-class providers.
71
- - **Voice validation hardened** — Multi-speaker `::` format, cross-platform base64, no backslash injection.
72
-
73
- ## 🛡️ v5.1.4 — TTS Resilience Overhaul + Default LLM Provider
74
-
75
- - **Default LLM provider** — New fallback entry at the bottom of Setup → Providers. Config-only; opens the standard Configure modal. Used when a tool calls TTS without identifying its LLM.
76
- - **Per-LLM background music auto-enables** — Setting a bg track on the per-LLM Configure modal actually plays it now (no need to also toggle global bg music).
77
- - **Copilot CLI support** — `installCopilotMcp` now writes both `.vscode/mcp.json` (Copilot Chat) AND `~/.copilot/mcp-config.json` (Copilot CLI — different product, different config path).
78
- - **Per-client routing architecture** — `.mcp.json` no longer sets `AGENTVIBES_LLM`. Claude Code is auto-detected via `CLAUDECODE=1` env var. Copilot CLI reads its own global config. No more client config conflicts.
79
- - **Self-healing TTS mutex** — When a stuck `play-tts.ps1` process blocks the playback queue, the next caller auto-kills it (no manual `taskkill` needed). 25-second watchdog guarantees forward progress.
80
- - **No more stale audio replay** — `play-tts.ps1` captures the exact synth output filename from provider stdout instead of guessing "most recent `tts-*.wav`". Silent replay of old audio is gone.
81
- - **Per-LLM voice wins over explicit `VoiceOverride`** — LLMs echo back `get_config` results on every call, which was overriding per-LLM routing. Fixed.
82
- - **`lessac-medium` → `lessac-high`** default for codex — Silent synthesis failure workaround.
83
- - **Scratch file rename + ASCII-only encoding** — Eliminates accumulating compound audio files and CP1252 parse errors on Windows.
84
- - **Setup → Install confirmation** now advances focus to the next provider row (Install → Install → Install flow).
43
+ ## 🌟 NEW IN v5.5Per-LLM Audio Routing
85
44
 
86
- ---
87
-
88
- ## 🛡️ v5.1.3 — Hardening Pass (Adversarial Review Followup)
89
-
90
- - **Existing `.mcp.json` is now auto-migrated** — v5.1.2's installer detected an existing `.mcp.json` and printed instructions instead of fixing it, leaving v5.1.0/v5.1.1 users still broken after upgrade. v5.1.3 merges the `AGENTVIBES_LLM` env var into existing configs in-place.
91
- - **`AGENTVIBES_LLM` is now validated** in both `mcp-server/server.py` (Python regex) and `play-tts.ps1` (PowerShell regex), matching `play-tts.sh`'s `^[a-zA-Z0-9_-]+$` check. Cross-platform contract is now symmetric.
92
- - **`npm pack` content guard hardened**: hard-fails (not silent-passes) when `npm pack` errors; uses `git status --porcelain` to catch UNTRACKED publishable files (the v5.1.0 disaster also could've happened with a stray new file); has explicit 60s timeout to prevent CI hangs.
93
-
94
- ---
95
-
96
- ## 🔀 v5.1.2 — MCP Per-LLM Routing Hotfix
97
-
98
- - **MCP server now reads `AGENTVIBES_LLM` env var** instead of hardcoding `copilot` — Codex / Copilot / Claude Code each get routed to their own per-LLM voice / pretext / music / effects config from `audio-effects.cfg`.
99
- - **MCP launcher templates set the env var** automatically — `.codex/config.toml`, `.vscode/mcp.json`, and `.mcp.json` all include `AGENTVIBES_LLM` for the right provider.
100
- - **24 new regression tests** prevent this class of bug from shipping again, including a `npm pack` content guard that fails the test suite if the working tree has uncommitted changes (the v5.1.0 disaster guard).
101
-
102
- If you already have AgentVibes installed, re-run the per-provider configure step or add `"env": { "AGENTVIBES_LLM": "<your-llm>" }` manually to your MCP config.
103
-
104
- ---
105
-
106
- ## 🩹 v5.1.1 — Windows TTS Hook Hotfix
107
-
108
- - **`play-tts.ps1 -llm` parameter restored** — npm-published v5.1.0 shipped a regressed copy without `-llm` support, breaking the Setup tab Preview button and the agentvibes MCP `text_to_speech` tool on Windows. Fixed in v5.1.1. If you hit the error, clear your npx cache: `npm cache clean --force` then reinstall.
109
-
110
- ---
111
-
112
- ## 🎙️ NEW IN v5.1.0 — Voice Picker Overhaul + Auto-Save Agent Modal
113
-
114
- - **Auto-save in agent modal** — Voice/personality/music/reverb/pretext changes save automatically as you edit them. Brief "✓ Saved!" toast confirms each change.
115
- - **Unique LibriTTS names** — 904 speakers get deterministic surnames: **Anna Bell**, **Anna Carter**, …, **Anna Quinn**. No more "Anna-2", "Anna-3" duplicates.
116
- - **Pink ♀ / blue ♂ gender symbols** — Colored gender indicators in the main Voices tab and all voice picker modals.
117
- - **First-letter quick jump** — Press `a`–`z` in any voice picker to jump to that letter. `q`, `j`, `k`, `g`, `h`, `l` reserved for nav/cancel.
118
- - **PgUp / PgDn / Home / End** in voice pickers
119
- - **3 new background music tracks** — Late Night Hip Hop Groove, Drifting Down the Hall, Midnight Charleston Stomp
120
- - **Search bar removed from voice pickers** — replaced by first-letter jump (faster, no focus issues)
121
- - **Voices tab corruption fix** — uninstalled rows no longer lose their Provider column when navigated onto
122
- - **Music + Voices tab blink artifacts gone**
123
-
124
- ---
125
-
126
- ## 🚀 v5.0.0 — Multi-Provider Support: Claude Code + Copilot + Codex
127
-
128
- - **GitHub Copilot + OpenAI Codex in VS Code** — AgentVibes now supports all three major AI coding assistants. Install and configure each from the TUI.
129
- - **One Setup tab** — 4-step wizard (Language → Deps → TTS Engine → Providers) replaces old installer + LLM tabs. Returning users skip to Providers.
130
- - **Per-provider audio config** — Each LLM gets its own Voice, TTS Engine, Reverb, Music, and Pretext via Configure modal.
131
- - **Settings redesigned** — Clean flat list: Language, TTS Engine, Voice, Verbosity, Audio Destination, Config Storage, Re-run Wizard.
132
- - **Voice picker upgraded** — 3-column display, Space bar preview, scroll stays in place.
133
-
134
- ---
135
-
136
- ## 🐛 v4.6.8 — Fresh Install Crash Fix
137
-
138
- - **Settings tab crash fixed** — no longer crashes when navigating to Settings on a fresh install with no voice configured
139
- - **macOS test fix** — replay path assertion handles `/var` → `/private/var` symlink
140
- - **BMAD pretext parsing improved** — voices pretext extracted correctly from `bmad-voices.md`
141
-
142
- ---
143
-
144
- ## 🎙️ v4.6.7 — Party Mode TTS Fixes
145
-
146
- - **Agent pretexts now spoken in party mode** — "John, Product Manager here" was being silently dropped due to a pre-synthesis timing bug. Fixed.
147
- - **No more spoken asterisks** — markdown stripped before TTS in party mode
148
- - **Windows session start TTS fixed** — hook now outputs proper JSON so TTS activates reliably on session start
149
- - **PreToolUse hook no longer errors** on grep/regex commands
150
-
151
- ---
152
-
153
- ## 🧭 v4.6.6 — Natural TUI Navigation
154
-
155
- The Settings TUI now flows the way you'd expect. Down moves top-to-bottom through header → sub-tabs → content → footer. Left/Right switches sub-tabs and moves between footer buttons. Up from content returns to the active sub-tab — not always Voice. The Language tab has a proper scrollable list. Readme falls back to the AgentVibes package README when no local one exists. Escape from the installer no longer gets stuck.
156
-
157
- ---
158
-
159
- ## 🔧 NEW IN v4.6.5 — Line Endings, TUI Non-Interactive Hint, Release Process
160
-
161
- - **`.gitattributes`** — enforces `LF` for shell scripts/JS/JSON/markdown, `CRLF` for PowerShell; stops `bin/` files showing as modified on Windows
162
- - **TUI non-interactive hint** — installer header now shows a two-tone hint on row 2: `Skip this UI?` (dim) + `npx agentvibes install --non-interactive` (brighter), matching the `[piper] [en_US-ryan-high]` footer aesthetic
163
-
164
- ---
165
-
166
- ## 🐛 NEW IN v4.6.4 — CI & macOS Fixes
167
-
168
- - **macOS `mktemp` fixed** — 12 calls now use BSD-compatible syntax (XXXXXX at end, then rename to add extension)
169
- - **CI test suite green** — macOS path symlink, execute permission, and parallel mktesk race all fixed
170
-
171
- ---
172
-
173
- ## 🐛 NEW IN v4.6.3 — Party Mode Correct Voices
174
-
175
- - **Party mode agents speak with their configured voices** — `bmad-party-speak.ps1` was extracting the trailing number from the speaker display name suffix (e.g. `14` from `Yara-14`) and passing it as the Piper `--speaker` index. That number is a human-readable disambiguator, not the model index — `Yara-14` is actually speaker 860. Fixed to look up the full name in `speaker_id_map` from the `.onnx.json` file, matching what `play-tts-piper.ps1` already did. Every configured agent was silently playing a different voice.
176
-
177
- ---
178
-
179
- ## 🐛 NEW IN v4.6.2 — Party Mode Voices, LibriTTS Speaker Fix, Agent Pretext
180
-
181
- - **Party mode agents now speak in their unique voices** — SKILL.md wired to `bmad-speak.ps1` per agent
182
- - **LibriTTS speaker IDs resolved correctly** — `Holly-7` is speaker 322, not 7
183
- - **Agent pretext spoken on Windows** — "Mary, Business Analyst here." before every response
184
- - **`parseMultiSpeaker` fallback** — works on fresh installs before `.onnx.json` is patched
185
-
186
- ---
187
-
188
- ## 🌟 NEW IN v4.6.1 — Party Mode Voice Clarity + Agent Config UI Polish
189
-
190
- ### 🔊 Voice Volume Fixed in Party Mode
191
-
192
- - **`normalize=0`** added to ffmpeg `amix` — prevents voices being silenced to 50% when mixed with background music
193
- - **Voice boost `volume=1.5`** applied to every TTS stream — agents are now loud and clear
194
- - **Music intro reduced to 1 second** (`adelay=1000`) — less dead air before each agent speaks
195
- - **Pre-synthesis gap reduction** — WAV files are generated *before* acquiring the mutex, so synthesis overlaps with the previous agent's playback (gap drops from ~4–6s to ~1s)
196
-
197
- ### 🎛️ BMAD Agent Config — Preview + Split Fields
198
-
199
- - **Music Track** and **Music Vol** are now separate fields in the agent editor — each opens its own dialog
200
- - **Preview button** plays the selected voice with full effects: personality, reverb, background music track and volume
201
- - **Blinking indicator** (`►█`) highlights the focused button — reuses the shared `attachBtnBlink` utility
202
- - **Preview spinner** animates while audio is playing
203
- - **Tab→Save hint** shown in the volume input dialog
204
-
205
- ### 🚻 Voice Gender Auto-Assign Fixed
206
-
207
- - `inferGender` now strips the numeric suffix from LibriTTS speaker names (e.g. `anna-9` → `anna`) before looking up gender
208
- - Expanded `GENDER_MAP` with 60+ first names covering all bundled voices
209
- - `libritts` blanket-male override removed — LibriTTS voices are now inferred per-name
210
-
211
- ### 🐛 Other Fixes
212
-
213
- - Volume dialog text now uses `cyan`/`white` — no more invisible-on-dark-background instructions
214
- - After saving agent settings, focus correctly returns to the agent list (Enter re-opens the agent)
215
- - Boundary navigation in agent fields no longer jumps to buttons prematurely
216
-
217
- ---
218
-
219
- ## 🌟 NEW IN v4.6 — Party Mode Auto-Install + Volume Fix
220
-
221
- ### 🎉 BMAD Party Mode TTS — Zero Setup
222
-
223
- Every agent now speaks automatically in any BMAD project — no manual hook configuration needed:
224
-
225
- - Installer copies `bmad-party-speak.sh` (Linux/macOS/WSL) or `bmad-party-speak.ps1` (Windows) to `~/.claude/hooks/`
226
- - `PostToolUse` hook registered in `~/.claude/settings.json` automatically
227
- - `npx agentvibes update` keeps the scripts fresh across all platforms
228
-
229
- ### 🔊 Background Music Volume Default: 20%
230
-
231
- All volume defaults lowered from 70% to 20% — new installs and agents start at a sensible level. `bmad-speak` scripts now inherit the global volume setting instead of ignoring it.
232
-
233
- ### 🐛 Installer Navigation Fix
234
-
235
- Pressing ← on the completion screen no longer jumps back to the installation step.
236
-
237
- ### 🧪 628 Tests, Zero Failures
238
-
239
- ---
240
-
241
- ## 🌟 v4.5 — "Speak Every Language" Release
242
-
243
- ### 🌍 Multilingual TUI — 9 Languages
244
-
245
- Every screen, button, and label in `npx agentvibes` is now fully translated:
246
-
247
- - **English, Spanish, French, German, Portuguese, Japanese, Korean, Chinese (Simplified), Italian**
248
- - Language selection on first launch — pick your language before anything else
249
- - Language sub-tab in Settings — switch live, no restart needed
250
- - All tab labels, buttons, footer hints, status messages, and BMAD/Receiver tabs translated
251
- - Per-language i18n files (`src/i18n/en.js`, `es.js`, `fr.js`, ...) with English fallback
252
-
253
- ### 🪟 Windows Security Hardening
254
-
255
- - **Unpredictable temp files** — `randomUUID()` replaces `Date.now()` in all temp filenames (JS + PowerShell)
256
- - **No shell injection** — `spawnSync` replaces `execSync(..., { shell: true })` for `which` lookups
257
- - **Smart music player detection** — `detectMp3Player()` replaces hardcoded `ffplay` on Windows
258
- - **Boolean fix** — `isWindowsTerminal` now returns `true/false`, not the `WT_SESSION` UUID string
259
-
260
- ### 🎙️ Cross-Platform BMAD Speak
261
-
262
- BMAD (Build More Architect Dreams) is an AI multi-agent framework where specialized agents — Architect, PM, Developer, QA, and Analyst — collaborate to build software. With this release, every agent in a BMAD party mode session now speaks aloud with their own unique voice, personality, and music on Windows — making each role instantly recognizable.
263
-
264
- - `bmad-speak.js` — cross-platform entry point; auto-routes to PowerShell on Windows or bash on Mac/Linux
265
- - `bmad-speak.ps1` — native Windows BMAD speak with per-agent personality routing
266
-
267
- ### 🧪 600 Tests, Zero Failures
268
-
269
- ---
270
-
271
- ## 🌟 v4.4 — Full Platform Parity Release
272
-
273
- ### 🪟 Windows MCP Parity — 27/27 Tools Working
274
-
275
- All MCP tools now work natively on Windows. Previously 12 tools silently failed due to missing scripts:
276
-
277
- - **6 new PowerShell scripts** — personality-manager, speed-manager, language-manager, learn-manager, verbosity-manager, clean-audio-cache
278
- - **Unified provider naming** — `piper` and `sapi` on all platforms (no more `windows-piper`/`windows-sapi`)
279
- - **replay command** added to voice-manager for Windows
280
- - **Adversarial review** — 24 issues found, 10 fixed (3 CRITICAL, 4 HIGH, 3 MEDIUM)
281
- - **28 new tests** covering script parity, effects round-trip, provider management, and naming consistency
282
- - **Feature-platform matrix** — [docs/feature-platform-matrix.md](docs/feature-platform-matrix.md) tracks all 85 features across Linux, macOS, Windows, and WSL
283
-
284
- ### Bug Fixes (HIGH)
285
- - ffmpeg stderr redirected to temp file instead of literal `"NUL"` file
286
- - `AGENTVIBES_NO_PLAY` env var properly cleaned up on error paths
287
- - `PIPER_SPEAKER` env var no longer leaks between voice switches
288
- - Provider config now uses project-local `.claude` (not always global)
289
- - Text sanitization relaxed — `$50 (USD)` no longer becomes `50 USD`
290
-
291
- ---
292
-
293
- ## 🌟 v4.3 — Windows Parity + BMAD Party Mode
294
-
295
- ### 🎭 BMAD Party Mode — Every Agent Has Its Own Voice
296
-
297
- The BMad Method (Build More Architect Dreams) is an AI-driven development framework that helps you build software from ideation through agentic implementation with specialized AI agents, guided workflows, and intelligent planning that adapts to your project's complexity.
298
-
299
- **Every BMAD agent now speaks with their own unique voice, music, and personality.**
300
-
301
- When party mode runs a multi-agent discussion, the Architect, PM, Developer, QA, and Analyst each sound completely different — making every role immediately recognizable.
302
-
303
- **Auto-enabled** — if BMAD is installed, party mode activates automatically. Open the BMad Tab to configure each agent:
304
-
305
- ```bash
306
- npx agentvibes # Press B to open the BMad Tab
307
- ```
308
-
309
- **Per-agent configuration:**
310
- - 🎙️ **Voice** — 914 voices to choose from, auto-assigned gender-aware
311
- - 🎵 **Background Music** — Unique ambient track per agent (cinematic, lo-fi, jazz...)
312
- - 🎚️ **Music Volume** — Per-agent level, or set all at once via Bulk Edit
313
- - 🎛️ **Reverb** — none / room / hall / cathedral / studio per agent
314
- - 💬 **Pretext** — Custom intro phrase ("Winston says:..." before every line)
315
- - 🎭 **Personality** — sarcastic, dramatic, pirate, cheerful, and more
316
- - 🔇 **No Overlap** — Speech lock ensures agents never talk over each other
317
- - ✨ **Markdown-Clean** — Asterisks and formatting stripped before TTS
318
-
319
- ### 🎛️ BMad Tab — Visual Agent Configurator
320
-
321
- The `npx agentvibes` TUI now includes a full **BMad Tab** for managing every agent visually — inspired by the Voices tab, with the same columns and navigation polish:
322
-
323
- ```bash
324
- npx agentvibes # Press B for BMad Tab
325
- ```
45
+ Give **each LLM its own voice, pretext, and music** — Claude Code, Copilot, and Codex can all sound different without touching global settings.
326
46
 
327
- | Agent | Voice | Gender | Provider | Reverb | Music | Vol | Pretext |
328
- |-------|-------|--------|----------|--------|-------|-----|---------|
329
- | 🏢 Winston | Rose Ibex | Female | Piper (LibriTTS) | studio | jazz | 65% | Winston says |
330
- | 🧠 Larry | Kusal | Male | Piper | hall | cinematic | 80% | Larry says |
47
+ - Add `llm:<name>|...|voice|pretext|engine` rows to `audio-effects.cfg`
48
+ - MCP server auto-detects which LLM is calling and passes `--llm <key>`
49
+ - Configure via **Setup Default Configure** in the TUI
331
50
 
332
- **Highlights:**
333
- - **Beautified voice names** — `16Speakers::Rose_Ibex` shows as `Rose Ibex`; `en_US-kusal-medium` shows as `Kusal`
334
- - **Gender & Provider columns** — see voice metadata at a glance, just like the Voices tab
335
- - **Inline row hints** — navigate to any agent and see `[Space] Preview [Enter] Configure` on the row itself
336
- - **Preview spinner** — animated `⠋⠙⠹⠸` braille spinner while audio plays
337
-
338
- | Key | Action |
339
- |-----|--------|
340
- | `↑↓` / `jk` | Navigate agents |
341
- | `Space` | Preview agent (spinner shows while playing) |
342
- | `Enter` | Configure voice, music, volume, reverb, personality, pretext |
343
- | `A` | Auto-assign unique voices (gender-aware, no repeats) |
344
- | `B` | Bulk Edit — set music / volume / pretext / reverb for all agents |
345
- | `X` | Reset agent to defaults |
51
+ Also fixed: Windows installer crash (`spinner.info is not a function`) on **reinstall** with an older global AgentVibes install.
346
52
 
347
53
  ---
348
54
 
349
- ### 🖥️ SSH Receiver Hear Your Headless Server
55
+ ## v5.4 TUI Installer, Spinner Fix & Dependency Cleanup
350
56
 
351
- **Run Claude on a cloud box and hear the TTS on your local machine.**
57
+ ### 🎤 Agent Vibes v1.0 Voice Browser
352
58
 
353
- The new **Receiver Tab** streams TTS audio from voiceless remote servers to your local machine over TCP — perfect for AWS/GCP dev boxes, WSL2, and SSH sessions.
59
+ **🎤 Browse, Sample & Install 914 Voices in Real-Time**
354
60
 
355
61
  ```bash
356
- # On your local machine — open TUI, go to Receiver tab, click Start
357
- npx agentvibes
358
-
359
- # On the remote server — AgentVibes auto-detects the receiver and streams
62
+ npx agentvibes-voice-browser
360
63
  ```
361
64
 
362
- Zero-config forwarding. Works with Piper, macOS Say, and Soprano.
65
+ The new **AgentVibes Voice Browser** is an interactive console application that lets you:
363
66
 
364
- ---
67
+ - 🎧 **Hear Before You Choose** - Real-time audio sampling with one keypress
68
+ - ⭐ **Mark Your Favorites** - Build your personal voice collection
69
+ - 🔍 **Smart Search** - Filter by name, personality, accent, or gender
70
+ - 📦 **One-Click Install** - Press 'I' to instantly switch to any voice
71
+ - 🎨 **Beautiful Interface** - Stunning terminal UI powered by blessed.js
365
72
 
366
- ### TTS Latency -~1 Second
73
+ **914 Total Voices:**
74
+ - 904 High-Quality Piper TTS Speakers (libritts-high model)
75
+ - 10 Hand-Curated Personality Voices
367
76
 
368
- - **Batched Node.js calls** — 6 separate profile reads collapsed into 1 (~900ms saved)
369
- - **inotifywait queue** file-event-based worker, no polling delay
370
- - **Background cache cleanup** — off the critical path every 10th call
371
-
372
- ---
373
-
374
- ### 🎨 ANSI Banner Colors + Toggle
375
-
376
- Full color in the TTS banner (gold voice, cyan reverb, traffic-light cache). Hide it without muting:
77
+ **Perfect for:**
78
+ - Finding your ideal AI voice
79
+ - Exploring voice characteristics
80
+ - Quick voice switching
81
+ - Building favorite collections
377
82
 
378
- ```bash
379
- touch ~/.agentvibes/banner-disabled # or say "turn off the TTS banner"
380
- ```
83
+ Launch now: `npx agentvibes-voice-browser`
381
84
 
382
85
  ---
383
86
 
@@ -385,10 +88,8 @@ touch ~/.agentvibes/banner-disabled # or say "turn off the TTS banner"
385
88
 
386
89
  **Add custom prefixes to every TTS announcement!**
387
90
 
388
- Configure via the AgentVibes TUI Settings tab:
389
-
390
91
  ```bash
391
- npx agentvibes # Navigate to Settings tab
92
+ npx agentvibes config intro-text
392
93
  ```
393
94
 
394
95
  Transform generic AI responses into your personal brand:
@@ -422,7 +123,7 @@ Transform generic AI responses into your personal brand:
422
123
  - `"CodeBot: "` - Development assistant
423
124
  - `"Chef AI: "` - Cooking helper
424
125
 
425
- Configure via: `npx agentvibes` Settings tab
126
+ Configure now: `npx agentvibes config intro-text`
426
127
 
427
128
  ---
428
129
 
@@ -430,13 +131,11 @@ Configure via: `npx agentvibes` → Settings tab
430
131
 
431
132
  **Upload your own background music with battle-tested security!**
432
133
 
433
- Configure via the AgentVibes TUI Music tab:
434
-
435
134
  ```bash
436
- npx agentvibes # Navigate to Music tab
135
+ npx agentvibes config music
437
136
  ```
438
137
 
439
- Replace the default background tracks with your own audio files.
138
+ Replace the default background tracks with your own audio files for complete sonic branding.
440
139
 
441
140
  **Supported Formats:**
442
141
  - 🎵 MP3 (.mp3)
@@ -461,10 +160,10 @@ Replace the default background tracks with your own audio files.
461
160
  - Duration warnings for non-optimal lengths
462
161
 
463
162
  **Perfect for:**
464
- - 🎮 **Making coding fun** - Your favorite beats while you build
465
- - 🎼 **Setting the mood** - Match the music to the task (lo-fi for debugging, epic for shipping)
466
- - 🗂️ **Identifying projects** - Different track per repo so you always know which project Claude is in
467
- - 🎹 **Deep focus** - Ambient or classical to stay in flow
163
+ - 🎸 **Team Audio Branding** - Company theme music
164
+ - 🎮 **Gaming Sessions** - Epic background tracks
165
+ - 🎼 **Personal Playlists** - Your favorite instrumental
166
+ - 🎹 **Focus Music** - Lo-fi, classical, ambient
468
167
 
469
168
  **Features:**
470
169
  - Preview before setting
@@ -480,7 +179,7 @@ Replace the default background tracks with your own audio files.
480
179
  4. Enable/Disable - Toggle background music
481
180
  5. Preview current - Sample your music
482
181
 
483
- Configure via: `npx agentvibes` Music tab
182
+ Configure now: `npx agentvibes config music`
484
183
 
485
184
  **Security Certified:** See full audit report at `docs/security/SECURITY-AUDIT.md`
486
185
 
@@ -488,24 +187,14 @@ Configure via: `npx agentvibes` → Music tab
488
187
 
489
188
  ### 🎯 Key Features
490
189
 
491
- **🌟 v4.2BMAD Party Mode & SSH Receiver:**
492
- - 🎭 **BMAD Party Mode Voices** Each agent speaks with their unique voice, music, reverb, personality
493
- - 🖥️ **SSH Receiver Tab** Stream TTS audio from headless servers to your local machine over TCP
494
- - 🎛️ **BMad Tab (TUI)** Visual agent configurator with auto-assign and bulk edit
495
- - **TTS Latency -1s** Batched Node.js calls, inotifywait queue, background cleanup
496
- - 🎨 **ANSI Banner Colors Restored** Gold/cyan/traffic-light colors in TTS info banner
497
- - 🔕 **Banner Toggle** — Hide TTS banner without muting (`~/.agentvibes/banner-disabled`)
498
- - 🔇 **No Party Mode Overlap** Agents wait for full audio before next speaks
499
- - 🧹 **Markdown-Clean Speech** — Asterisks/formatting stripped automatically from party mode
500
-
501
- **🌟 NEW IN v3.6.0 — Voice Explorer Release:**
502
- - 🏷️ **Friendly Voice Names** - "Ryan" instead of "en_US-libritts_r-medium-speaker-123"
503
- - 💬 **Intro Text (Pretext)** - Custom prefix for all TTS ("FireBot: Starting...")
504
- - 🎵 **Custom Background Music** - Upload your own audio files with battle-tested security
505
- - 🎨 **Interactive Installer** - Preview voices and music during installation
506
- - 🛡️ **Security Hardening** - 180+ attack variations tested, 100% blocked, OWASP compliant
507
-
508
- **🪟 NEW IN v3.5.5 — Native Windows Support:**
190
+ **🎛️ NEW IN v5.4.0TUI Installer & Fixes:**
191
+ - 🖥️ **TUI Installer** - Interactive terminal UI: browse voices, configure providers, enable BMAD party mode
192
+ - 🔧 **Spinner Fix** - Resolved `spinner.info is not a function` crash on WSL/Linux
193
+ - 🐛 **Circular Dependency Fix** - Removed self-referential `agentvibes@^3.5.9` dep that silently broke installs
194
+ - 🎵 **Background Music Volume Fix** - Restored `bg_volume="0.20"` fallback in `audio-processor.sh`
195
+ - 📂 **PROJECT_ROOT Fix** - `play-tts.sh` now correctly resolves project root for per-project config
196
+
197
+ **🪟 v3.5.5Native Windows Support:**
509
198
  - 🖥️ **Windows Native TTS** - Soprano, Piper, and Windows SAPI providers. No WSL required!
510
199
  - 🎵 **Background Music** - 16 genre tracks mixed under voice
511
200
  - 🎛️ **Reverb & Audio Effects** - 5 reverb levels via ffmpeg
@@ -522,7 +211,7 @@ Configure via: `npx agentvibes` → Music tab
522
211
  - 🎭 **Multi-Provider Support** - Soprano (neural), Piper TTS (50+ free voices), macOS Say (100+ built-in), or Windows SAPI
523
212
  - 🎙️ **27+ Professional AI Voices** - Character voices, accents, and unique personalities
524
213
  - 🎙️ **Verbosity Control** - Choose how much Claude speaks (LOW, MEDIUM, HIGH)
525
- - 🎙️ **AgentVibes MCP** - Natural language control ("Switch to Aria voice") for Claude Code & Desktop
214
+ - 🎙️ **AgentVibes MCP** - Natural language control ("Switch to Aria voice") for Claude Code, Desktop & Warp
526
215
  - 🔊 **SSH Audio Optimization** - Auto-detects remote sessions and eliminates static (VS Code Remote SSH, cloud dev)
527
216
 
528
217
  **🎭 Personalization:**
@@ -563,11 +252,10 @@ All 50+ Piper voices AgentVibes provides are sourced from Hugging Face's open-so
563
252
  - [📋 Prerequisites](#-prerequisites) - What you actually need (Node.js + optional tools)
564
253
  - [✨ What is AgentVibes?](#-what-is-agentvibes) - Overview & key features
565
254
  - [🌟 NEW FEATURE HIGHLIGHTS](#-new-feature-highlights) - **START HERE!**
566
- - [🎭 BMAD Party Mode](#-bmad-party-mode--multi-agent-voice-conversations) - Per-agent voices, music, reverb
567
- - [🖥️ SSH Receiver](#️-agentvibes-receiver--remote-audio-streaming) - Stream audio from headless servers
255
+ - [🎤 Voice Browser v1.0](#-agent-vibes-v10-voice-browser) - Browse & sample 914 voices
568
256
  - [💬 Intro Text](#-intro-text-pretext---your-personal-ai-branding) - Custom TTS prefixes
569
257
  - [🎵 Custom Background Music](#-custom-background-music---complete-audio-control) - Upload your own tracks
570
- - [📰 Latest Release](#-latest-release) - v4.6.7 Party mode TTS fixes
258
+ - [📰 Latest Release](#-latest-release) - v3.6.0 "Voice Explorer" with Voice Browser, Friendly Names, Custom Music
571
259
  - [🪟 Windows Setup Guide for Claude Desktop](mcp-server/WINDOWS_SETUP.md) - Complete Windows installation with WSL & Python
572
260
 
573
261
  ### AgentVibes MCP (Natural Language Control)
@@ -577,6 +265,7 @@ All 50+ Piper voices AgentVibes provides are sourced from Hugging Face's open-so
577
265
  - [For Claude Code](docs/mcp-setup.md#for-claude-code) - Project-specific setup
578
266
 
579
267
  ### Core Features
268
+ - [🎤 AgentVibes Voice Browser](#-agentvibes-voice-browser) - **Browse and sample 914 voices interactively**
580
269
  - [🎤 Commands Reference](#-commands-reference) - All available commands
581
270
  - [🎙️ Verbosity Control](#%EF%B8%8F-verbosity-control) - Control how much Claude speaks (low/medium/high)
582
271
  - [🎭 Personalities vs Sentiments](#-personalities-vs-sentiments) - Two systems explained
@@ -585,7 +274,6 @@ All 50+ Piper voices AgentVibes provides are sourced from Hugging Face's open-so
585
274
  - [🎙️ AgentVibes Receiver - NEW!](#%EF%B8%8F-agentvibes-receiver-remote-audio-streaming-from-voiceless-servers) - Remote audio streaming from voiceless servers
586
275
 
587
276
  ### Integrations & Platforms
588
- - [🤝 GitHub Copilot Integration](#-github-copilot-integration) - Use AgentVibes TTS with GitHub Copilot CLI
589
277
  - [🤖 OpenClaw Integration](#-openclaw-integration) - Use AgentVibes with OpenClaw messaging platform
590
278
  - [🎙️ AgentVibes Skill for OpenClaw](#-agentvibes-skill-for-openclaw---what-you-get) - 50+ voices, effects, personalities for OpenClaw
591
279
  - [📱 AgentVibes Receiver](#-agentvibes-receiver-local-phone-) - Remote audio on phones/local machines
@@ -595,7 +283,6 @@ All 50+ Piper voices AgentVibes provides are sourced from Hugging Face's open-so
595
283
  - [💡 Common Workflows](#-common-workflows) - Quick examples
596
284
  - [🔧 Advanced Features](#-advanced-features) - Custom voices & personalities
597
285
  - [🔊 Remote Audio Setup](#-remote-audio-setup) - Play TTS from remote servers
598
- - [🛠️ Technical Documentation](#️-technical-documentation) - Audio architecture, cross-platform support, voice resolution
599
286
  - [🚨 Security Hardening Guide](docs/security-hardening-guide.md) - **REQUIRED if running OpenClaw on remote server**: SSH hardening, Fail2Ban, Tailscale, UFW, AIDE
600
287
  - [🔬 Technical Deep Dive](docs/technical-deep-dive.md) - How AgentVibes works under the hood
601
288
  - [❓ Troubleshooting](#-troubleshooting) - Common issues & fixes
@@ -614,87 +301,97 @@ All 50+ Piper voices AgentVibes provides are sourced from Hugging Face's open-so
614
301
 
615
302
  ## 📰 Latest Release
616
303
 
617
- **[v4.6.7 - Party Mode TTS Fixes](https://github.com/paulpreibisch/AgentVibes/releases/tag/v4.6.7)**
618
-
619
- Agent pretexts now spoken in party mode, markdown stripped before TTS, Windows session-start hook fixed to inject context reliably, and PreToolUse hook no longer errors on grep commands.
620
-
621
- ### 🐛 Recent Fixes (v4.6.3 / v4.6.4)
622
-
623
- - **Party mode correct voices** — agents now speak with their individually configured voices. `bmad-party-speak.ps1` was extracting the trailing number from the display name suffix (e.g. `14` from `Yara-14`) as the Piper speaker index — wrong. Fixed to look up the full speaker name in `speaker_id_map` from the `.onnx.json` file.
624
- - **macOS CI green** — `mktemp` with extension suffix (e.g. `tts-XXXXXX.wav`) silently fails on BSD mktemp. Fixed all 12 occurrences across the TTS pipeline scripts.
625
- - **macOS path symlink test fix** — `/var/folders/...` resolved to `/private/var/folders/...` in test assertions.
304
+ **[v3.6.0 - "Voice Explorer" Release](https://github.com/paulpreibisch/AgentVibes/releases/tag/v3.6.0)** 🎉
626
305
 
627
- ### 🎭 BMAD Party Mode — Multi-Agent Voice Conversations
306
+ ### 🎤 AgentVibes Voice Browser
628
307
 
629
- The BMad Method (Build More Architect Dreams) is an AI-driven development framework module that helps you build software from ideation through agentic implementation with specialized AI agents, guided workflows, and intelligent planning.
630
-
631
- Every agent in a BMAD discussion now speaks with their own individually configured voice, music, reverb, and personality — making the Architect, PM, Developer, QA, and Analyst immediately recognizable the moment they speak.
632
-
633
- **Auto-enabled** — party mode activates automatically when BMAD is detected. Configure agents visually:
308
+ **Browse and sample 914 voices in real-time!**
634
309
 
635
310
  ```bash
636
- npx agentvibes # Press B for BMad Tab
311
+ npx agentvibes-voice-browser
637
312
  ```
638
313
 
639
- **Each agent gets:**
640
- - 🎙️ **Their own voice** 914 to choose from, or auto-assign gender-aware
641
- - 🎵 **Their own music track** cinematic for the Architect, lo-fi for the Dev
642
- - 🎚️ **Their own volume** — fine-tune per-agent, or bulk-set all at once
643
- - 🎛️ **Their own reverb** studio, hall, cathedral, room, or none
644
- - 💬 **Their own pretext** "Winston says:..." before every line
645
- - 🎭 **Their own personality** — sarcastic, dramatic, pirate, cheerful...
646
- - 🔇 **No overlap** — agents wait for full audio before the next one speaks
647
- - ✨ **Markdown stripped** — no "asterisk asterisk" in TTS output
648
-
649
- ### 🎛️ BMad Tab — Full Visual Agent Configurator
650
-
651
- Manage every agent from an interactive table — same polish as the Voices tab:
652
-
653
- | Key | Action |
654
- |-----|--------|
655
- | `Space` | Preview agent with full profile (animated spinner while playing) |
656
- | `Enter` | Configure voice, music, volume, reverb, personality, pretext |
657
- | `A` | Auto-assign unique voices (gender-aware, no repeats) |
658
- | `B` | Bulk Edit — set music / volume / pretext / reverb for all agents |
659
- | `X` | Reset agent to defaults |
314
+ Interactive console browser with:
315
+ - 🎧 Real-time voice sampling - hear before you choose
316
+ - Favorite system - mark your top voices
317
+ - 🔍 Search & filter - find voices by personality, accent, gender
318
+ - 📦 One-click install - install directly from browser
319
+ - 🎨 Beautiful UI - stunning console interface
660
320
 
661
- The table shows **Voice, Gender, Provider, Reverb, Music, Vol, Pretext** columns. Voice names are automatically beautified: `16Speakers::Rose_Ibex` → `Rose Ibex`.
321
+ **914 Total Voices:**
322
+ - 904 Piper speaker variations (libritts-high)
323
+ - 10 curated personality voices
662
324
 
663
- ### 🖥️ SSH Receiver — Hear Your Headless Server
325
+ ### 🎯 Major Features
664
326
 
665
- Stream TTS from a cloud box, WSL2, or any voiceless server directly to your local machine over TCP:
327
+ **🏷️ Friendly Voice Names**
328
+ - No more cryptic IDs! Switch voices with names like "Ryan", "Joe", "Sarah"
329
+ - All 904+ voices have memorable, personality-matched names
330
+ - Voice metadata includes personalities, accents, and recommendations
666
331
 
667
332
  ```bash
668
- # Local: open TUI → Receiver tab → Start
669
- npx agentvibes
670
-
671
- # Remote: AgentVibes auto-detects the receiver and streams audio to you
333
+ # Before: /agent-vibes:switch en_US-libritts_r-medium-speaker-123
334
+ # After:
335
+ /agent-vibes:switch Ryan
672
336
  ```
673
337
 
674
- ### ~1 Second Faster TTS
338
+ **💬 Intro Text (Pretext) Feature**
339
+ - Custom prefix for all TTS announcements
340
+ - Set during installation or anytime after
341
+ - Perfect for personal branding: "FireBot: Starting analysis..."
342
+ - Up to 50 characters, UTF-8 and emoji support
675
343
 
676
- - 6 Node.js profile reads collapsed into 1 (~900ms saved per speech)
677
- - `inotifywait` queue worker — no polling delay
678
- - Cache cleanup runs off the critical path
344
+ ```bash
345
+ npx agentvibes config intro-text
346
+ ```
679
347
 
680
- ### 🎨 ANSI Colors Restored + Banner Toggle
348
+ **🎵 Custom Background Music**
349
+ - Upload your own audio files (.mp3, .wav, .ogg, .m4a)
350
+ - **Battle-tested security:** 180+ attack variations blocked
351
+ - Magic number validation ensures real audio files
352
+ - File ownership verification (UID checks)
353
+ - Audio duration validation (30-90s recommended, 300s max)
354
+ - Secure storage with 600 permissions
355
+ - Perfect for team audio branding
681
356
 
682
- Full color in the TTS banner. Silence it without muting audio:
683
357
  ```bash
684
- touch ~/.agentvibes/banner-disabled # or: "turn off the TTS banner" via MCP
358
+ npx agentvibes config music
685
359
  ```
686
360
 
361
+ **🎨 Interactive Installer**
362
+ - Preview voices during installation
363
+ - Sample all 16 background music tracks
364
+ - Audio environment auto-detection
365
+ - Cross-platform preview support
366
+
367
+ **🛡️ Security Hardening**
368
+ - **180+ attack variations tested** - Path traversal, symlinks, Unicode, null bytes
369
+ - **100% attack rejection rate** - All malicious attempts blocked
370
+ - **OWASP compliant** - CWE-22 path traversal prevention verified
371
+ - **Production certified** - Comprehensive security audit completed
372
+ - **Defense-in-depth** - 7 validation layers protect your system
373
+ - File ownership verification and secure storage (600 permissions)
374
+ - Security audit report: `docs/security/SECURITY-AUDIT.md`
375
+
687
376
  ### Quick Install
688
377
 
689
378
  ```bash
379
+ # Install AgentVibes
690
380
  npx agentvibes install
381
+
382
+ # Launch Voice Browser
383
+ npx agentvibes-voice-browser
691
384
  ```
692
385
 
693
- 💡 **Tip:** If `npx agentvibes` shows an older version: `npm cache clean --force && npx agentvibes@latest`
386
+ **🐞 Bug Fixes in v3.6.0:**
387
+ - Fixed `get_verbosity` MCP tool returning wrong level after fresh install (now reads from correct project directory, defaults to `high`)
388
+ - Fixed Voice Browser Soprano TTS detection, Custom Music race conditions, installer emoji rendering
389
+
390
+ 💡 **Tip:** If `npx agentvibes` shows an older version, clear cache: `npm cache clean --force && npx agentvibes@latest --help`
694
391
 
695
- 🐛 **Found a bug?** [GitHub Issues](https://github.com/paulpreibisch/AgentVibes/issues)
392
+ 🐛 **Found a bug?** Report at [GitHub Issues](https://github.com/paulpreibisch/AgentVibes/issues)
696
393
 
697
- [→ View Complete Release Notes](RELEASE_NOTES.md) | [→ View Previous Release (v4.0.1)](https://github.com/paulpreibisch/AgentVibes/releases/tag/v4.0.1) | [→ View All Releases](https://github.com/paulpreibisch/AgentVibes/releases)
394
+ [→ View Complete Release Notes](RELEASE_NOTES_v3.6.0.md) | [→ View All Releases](https://github.com/paulpreibisch/AgentVibes/releases)
698
395
 
699
396
  [↑ Back to top](#-table-of-contents)
700
397
 
@@ -746,20 +443,6 @@ Just code normally - AgentVibes automatically speaks task acknowledgments and co
746
443
 
747
444
  ---
748
445
 
749
- ### TUI Console Commands
750
-
751
- AgentVibes includes a full **Text User Interface (TUI)** built with blessed.js for managing voices, music, settings, and installation — all from a single interactive console.
752
-
753
- | Command | Description |
754
- |---------|-------------|
755
- | `npx agentvibes` | Smart detection — opens Settings if installed, Install if not |
756
- | `npx agentvibes install` | Open the Install tab directly |
757
- | `npx agentvibes config` | Open the Settings tab directly |
758
-
759
- Once inside, use **Tab** / **Shift+Tab** to switch between tabs: **Voices**, **Music**, **BMad**, **Settings**, **Receiver**, and **Install**. Use **[** / **]** to page through voice and music catalogs.
760
-
761
- ---
762
-
763
446
  **🍎 macOS Users (One-Time Setup):**
764
447
  ```bash
765
448
  brew install bash # Required for bash 5.x features
@@ -772,6 +455,64 @@ macOS ships with bash 3.2 (from 2007). After this, everything works perfectly!
772
455
 
773
456
  [↑ Back to top](#-table-of-contents)
774
457
 
458
+ ---
459
+
460
+ ## 🎤 AgentVibes Voice Browser
461
+
462
+ **The easiest way to find your perfect voice!**
463
+
464
+ ### Launch the Browser
465
+
466
+ ```bash
467
+ npx agentvibes-voice-browser
468
+ ```
469
+
470
+ ### Features
471
+
472
+ - **914 Voices** - Browse 904 Piper speakers + 10 curated voices
473
+ - **Real-Time Sampling** - Press ENTER to hear any voice instantly
474
+ - **Favorite System** - Mark favorites for quick access
475
+ - **Smart Search** - Filter by name, personality, accent, or gender
476
+ - **One-Click Install** - Press 'I' to install and switch to a voice
477
+ - **Beautiful UI** - Stunning console interface with blessed.js
478
+
479
+ ### Keyboard Shortcuts
480
+
481
+ | Key | Action |
482
+ |-----|--------|
483
+ | **ENTER** | Play voice sample |
484
+ | **I** | Install/Select voice for AgentVibes |
485
+ | **F** | Toggle favorite |
486
+ | **/** | Search voices |
487
+ | **ESC** | Clear search / Back |
488
+ | **↑/↓** | Navigate list |
489
+ | **G** | Jump to top |
490
+ | **Shift+G** | Jump to bottom |
491
+ | **H** | Show help |
492
+ | **Q** | Quit |
493
+
494
+ ### Voice Categories
495
+
496
+ **Curated Voices** (10 hand-picked personalities):
497
+ - Professional, Friendly, Authoritative, Warm, Energetic
498
+ - Technical, Calm, Narrator, Conversational, Enthusiastic
499
+
500
+ **Speaker Variations** (904 from libritts-high):
501
+ - Male and female speakers
502
+ - Various accents and tones
503
+ - High-quality neural voices
504
+ - Unique characteristics
505
+
506
+ ### Finding Your Perfect Voice
507
+
508
+ 1. **Launch browser:** `npx agentvibes-voice-browser`
509
+ 2. **Search by trait:** Press `/` and type "friendly" or "professional"
510
+ 3. **Sample voices:** Navigate with arrows, press ENTER to hear
511
+ 4. **Mark favorites:** Press 'F' on voices you like
512
+ 5. **Install:** Press 'I' to set as your AgentVibes voice
513
+
514
+ **Pro Tip:** Use the search to find voices matching your project's mood!
515
+
775
516
  [↑ Back to top](#-table-of-contents)
776
517
 
777
518
  ---
@@ -1119,11 +860,24 @@ AgentVibes provides **50+ slash commands** and **natural language MCP equivalent
1119
860
 
1120
861
  **[→ View Complete Command Reference](docs/commands.md)** - All voice, system, personality, sentiment, language, and BMAD commands with MCP equivalents
1121
862
 
863
+ ### Voice Browser Commands
864
+
865
+ ```bash
866
+ # Launch voice browser
867
+ npx agentvibes-voice-browser
868
+
869
+ # Or use global command (if installed globally)
870
+ agentvibes-voice-browser
871
+ ```
872
+
873
+ **MCP Equivalent:** Currently CLI-only (no MCP command)
874
+
1122
875
  ### Intro Text Commands
1123
876
 
1124
877
  ```bash
1125
- # Configure intro text — open Settings tab
1126
- npx agentvibes
878
+ # Configure intro text
879
+ /agent-vibes:config intro-text
880
+ npx agentvibes config intro-text
1127
881
 
1128
882
  # View current intro text
1129
883
  cat ~/.claude/config/intro-text.txt
@@ -1139,8 +893,16 @@ cat ~/.claude/config/intro-text.txt
1139
893
  ### Custom Music Commands
1140
894
 
1141
895
  ```bash
1142
- # Configure background music — open Music tab
1143
- npx agentvibes
896
+ # Configure background music
897
+ /agent-vibes:config music
898
+ npx agentvibes config music
899
+
900
+ # Menu options:
901
+ # 1. Change music - Upload new audio file
902
+ # 2. Remove music - Clear custom music
903
+ # 3. Reset to default - Restore built-in tracks
904
+ # 4. Enable/Disable - Toggle background music
905
+ # 5. Preview current - Sample current music
1144
906
  ```
1145
907
 
1146
908
  **MCP Equivalent:**
@@ -1248,7 +1010,7 @@ Every task acknowledgment plays **twice** - first in English, then in your targe
1248
1010
 
1249
1011
  ## 🗣️ Voice Library
1250
1012
 
1251
- Use the **AgentVibes TUI installer** (`/audio-browser`) to browse, sample, and install from 914 voices interactively.
1013
+ **NEW in v3.6.0:** Use the **[AgentVibes Voice Browser](#-agentvibes-voice-browser)** to browse, sample, and install from 914 voices! Launch with `npx agentvibes-voice-browser`.
1252
1014
 
1253
1015
  ### Friendly Voice Names
1254
1016
 
@@ -1341,85 +1103,6 @@ This design means **any TTS provider** can integrate with BMAD by replacing thes
1341
1103
 
1342
1104
  ---
1343
1105
 
1344
- ## 🤝 GitHub Copilot Integration
1345
-
1346
- **Use AgentVibes with GitHub Copilot in VS Code — same voices, same personalities, same MCP tools!**
1347
-
1348
- Copilot discovers AgentVibes through two mechanisms:
1349
-
1350
- 1. **`.github/copilot-instructions.md`** — VS Code automatically reads this file and tells Copilot *how* to speak (acknowledge at start, summarize at end, match verbosity, stay under 150 chars)
1351
- 2. **`.vscode/mcp.json`** — registers the AgentVibes MCP server so Copilot can call `text_to_speech`, `set_voice`, and other tools
1352
-
1353
- ### Setup
1354
-
1355
- **Step 1: Install AgentVibes** (if you haven't already)
1356
-
1357
- ```bash
1358
- npx agentvibes install
1359
- ```
1360
-
1361
- **Step 2: Configure VS Code MCP**
1362
-
1363
- Open the AgentVibes console and go to the **LLM** tab (press `L`):
1364
-
1365
- ```bash
1366
- npx agentvibes
1367
- ```
1368
-
1369
- Select **GitHub Copilot** and press Enter to install. This creates `.vscode/mcp.json` with the AgentVibes MCP server config and copies `.github/copilot-instructions.md` with the TTS protocol.
1370
-
1371
- You can also create `.vscode/mcp.json` manually in your project root:
1372
-
1373
- ```json
1374
- {
1375
- "servers": {
1376
- "agentvibes": {
1377
- "type": "stdio",
1378
- "command": "npx",
1379
- "args": ["-y", "--package=agentvibes", "agentvibes-mcp-server"]
1380
- }
1381
- }
1382
- }
1383
- ```
1384
-
1385
- VS Code starts the MCP server automatically when Copilot needs it — no manual server launch required.
1386
-
1387
- **Step 3: Verify**
1388
-
1389
- Open Copilot Chat in VS Code (Ctrl+Shift+I) and ask it to do something. You should hear an acknowledgment when Copilot starts working and a summary when it finishes.
1390
-
1391
- ### What Copilot Can Do
1392
-
1393
- Through the MCP tools, Copilot has the same voice capabilities as Claude Code:
1394
-
1395
- | Tool | What it does |
1396
- |------|-------------|
1397
- | `text_to_speech` | Speak text aloud |
1398
- | `set_voice` | Switch voices (e.g., "ryan", "katherine") |
1399
- | `set_personality` | Change personality (sarcastic, pirate, zen) |
1400
- | `set_speed` | Adjust speech rate |
1401
- | `set_verbosity` | Control detail level (low/medium/high) |
1402
- | `mute` / `unmute` | Toggle audio |
1403
- | `get_config` | Read current settings |
1404
-
1405
- ### BMAD Party Mode
1406
-
1407
- Copilot respects BMAD party mode. If `.bmad-agent-context` contains `party-mode`, each BMAD agent speaks with its own voice — the same per-agent routing that works in Claude Code.
1408
-
1409
- ### Differences from Claude Code
1410
-
1411
- | Feature | Claude Code | Copilot in VS Code |
1412
- |---------|------------|-------------|
1413
- | TTS Protocol | Injected via session-start hook | Read from `.github/copilot-instructions.md` |
1414
- | MCP config | `.mcp.json` (project root) | `.vscode/mcp.json` |
1415
- | Server lifecycle | Managed by Claude Code | Managed by VS Code (auto-start) |
1416
- | MCP tools | Same | Same |
1417
- | BMAD party mode | Supported | Supported |
1418
-
1419
- [↑ Back to top](#-table-of-contents)
1420
-
1421
- ---
1422
-
1423
1106
  ## 🤖 OpenClaw Integration
1424
1107
 
1425
1108
  **Use AgentVibes TTS with OpenClaw - the revolutionary AI assistant you can access via any instant messenger!**
@@ -2199,19 +1882,19 @@ Both do the exact same thing - MCP is more convenient, slash commands are more t
2199
1882
  - **Optional**: sox (audio effects), ffmpeg (background music, padding)
2200
1883
  - All TTS generation works without optional dependencies - they just enhance the experience
2201
1884
 
2202
- ### Voice Features
1885
+ ### Voice Browser & New Features
2203
1886
 
2204
- **Q: How do I browse and install voices?**
2205
- **A:** Use the built-in TUI installer by running `/audio-browser` in Claude Code. Navigate with arrow keys, press ENTER to sample voices, and select one to install. AgentVibes switches to the chosen voice automatically.
1887
+ **Q: How do I use the Voice Browser?**
1888
+ **A:** Simply run `npx agentvibes-voice-browser` and you'll see an interactive console with 914 voices. Use arrow keys to navigate, ENTER to sample voices, 'I' to install, 'F' to favorite, and '/' to search.
2206
1889
 
2207
1890
  **Q: What are friendly voice names?**
2208
1891
  **A:** Instead of technical IDs like `en_US-ryan-high`, you can now use simple names like "Ryan" when switching voices. All 904+ voices have friendly names matched to their characteristics.
2209
1892
 
2210
1893
  **Q: How do I set up custom intro text?**
2211
- **A:** During installation you'll be prompted for intro text. You can also configure it anytime via `npx agentvibes` Settings tab. Enter text like "FireBot: " and it will prefix all TTS announcements.
1894
+ **A:** During installation, you'll be prompted for intro text. You can also configure it anytime with `npx agentvibes config intro-text`. Enter text like "FireBot: " and it will prefix all TTS announcements.
2212
1895
 
2213
1896
  **Q: Can I use my own background music?**
2214
- **A:** Yes! Run `npx agentvibes` and open the Music tab. Select "Change music" and provide the path to your audio file (.mp3, .wav, .ogg, or .m4a). Files are validated for security and must be under 50MB.
1897
+ **A:** Yes! Run `npx agentvibes config music` and select "Change music". Provide the path to your audio file (.mp3, .wav, .ogg, or .m4a). Files are validated for security and must be under 50MB.
2215
1898
 
2216
1899
  **Q: What's the recommended duration for custom music?**
2217
1900
  **A:** Between 30-90 seconds is ideal for smooth looping. The system supports up to 300 seconds (5 minutes) but will warn you if the duration is non-optimal.
@@ -2219,11 +1902,14 @@ Both do the exact same thing - MCP is more convenient, slash commands are more t
2219
1902
  **Q: Are friendly voice names case-sensitive?**
2220
1903
  **A:** No! You can type "ryan", "Ryan", or "RYAN" - they all work. The voice resolution is case-insensitive.
2221
1904
 
1905
+ **Q: Can I favorite voices without installing them?**
1906
+ **A:** Yes! In the Voice Browser, press 'F' to mark any voice as a favorite. Favorites are saved and you can filter to show only favorites later.
1907
+
2222
1908
  **Q: Does custom music work with all TTS providers?**
2223
1909
  **A:** Yes! Custom background music works with Piper TTS, Soprano, macOS Say, and Windows SAPI.
2224
1910
 
2225
1911
  **Q: Can I preview music before setting it as my background?**
2226
- **A:** Yes! In `npx agentvibes` Music tab, select "Preview current" to hear your music. During installation, you can also sample all built-in tracks.
1912
+ **A:** Yes! When configuring custom music with `npx agentvibes config music`, you can select "Preview current" to hear your music. During installation, you can also sample all built-in tracks.
2227
1913
 
2228
1914
  **Q: What security measures protect custom music uploads?**
2229
1915
  **A:** AgentVibes implements **defense-in-depth security with 7 validation layers**, tested against 180+ attack variations: