agentvibes 5.3.0 → 5.4.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 (219) 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 +4 -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-speak-enhanced.sh +0 -0
  88. package/.claude/hooks/bmad-speak.sh +6 -13
  89. package/.claude/hooks/bmad-tts-injector.sh +0 -0
  90. package/.claude/hooks/bmad-voice-manager.sh +0 -0
  91. package/.claude/hooks/clawdbot-receiver-SECURE.sh +25 -23
  92. package/.claude/hooks/clawdbot-receiver.sh +4 -28
  93. package/.claude/hooks/clean-audio-cache.sh +0 -0
  94. package/.claude/hooks/cleanup-cache.sh +0 -0
  95. package/.claude/hooks/configure-rdp-mode.sh +0 -0
  96. package/.claude/hooks/download-extra-voices.sh +0 -0
  97. package/.claude/hooks/effects-manager.sh +0 -0
  98. package/.claude/hooks/github-star-reminder.sh +0 -0
  99. package/.claude/hooks/language-manager.sh +0 -0
  100. package/.claude/hooks/learn-manager.sh +0 -0
  101. package/.claude/hooks/macos-voice-manager.sh +0 -0
  102. package/.claude/hooks/migrate-background-music.sh +0 -0
  103. package/.claude/hooks/migrate-to-agentvibes.sh +0 -0
  104. package/.claude/hooks/optimize-background-music.sh +0 -0
  105. package/.claude/hooks/personality-manager.sh +0 -0
  106. package/.claude/hooks/piper-download-voices.sh +0 -0
  107. package/.claude/hooks/piper-installer.sh +1 -1
  108. package/.claude/hooks/piper-multispeaker-registry.sh +0 -0
  109. package/.claude/hooks/piper-voice-manager.sh +0 -0
  110. package/.claude/hooks/play-tts-enhanced.sh +0 -0
  111. package/.claude/hooks/play-tts-macos.sh +6 -12
  112. package/.claude/hooks/play-tts-piper.sh +50 -79
  113. package/.claude/hooks/play-tts-soprano.sh +9 -43
  114. package/.claude/hooks/play-tts-ssh-remote.sh +43 -215
  115. package/.claude/hooks/play-tts-termux-ssh.sh +0 -0
  116. package/.claude/hooks/play-tts.sh +31 -31
  117. package/.claude/hooks/post-response.sh +41 -0
  118. package/.claude/hooks/prepare-release.sh +0 -0
  119. package/.claude/hooks/provider-commands.sh +0 -0
  120. package/.claude/hooks/provider-manager.sh +0 -0
  121. package/.claude/hooks/replay-target-audio.sh +0 -0
  122. package/.claude/hooks/requirements.txt +6 -6
  123. package/.claude/hooks/sentiment-manager.sh +0 -0
  124. package/.claude/hooks/session-start-tts.sh +56 -39
  125. package/.claude/hooks/soprano-gradio-synth.py +139 -139
  126. package/.claude/hooks/speed-manager.sh +0 -0
  127. package/.claude/hooks/stop.sh +63 -0
  128. package/.claude/hooks/termux-installer.sh +0 -0
  129. package/.claude/hooks/translate-manager.sh +0 -0
  130. package/.claude/hooks/translator.py +237 -237
  131. package/.claude/hooks/tts-queue-worker.sh +0 -0
  132. package/.claude/hooks/tts-queue.sh +0 -0
  133. package/.claude/hooks/verbosity-manager.sh +0 -0
  134. package/.claude/hooks/voice-manager.sh +26 -4
  135. package/.claude/hooks-windows/audio-cache-utils.ps1 +119 -119
  136. package/.claude/hooks-windows/bmad-party-speak.ps1 +278 -278
  137. package/.claude/hooks-windows/bmad-speak.ps1 +264 -264
  138. package/.claude/hooks-windows/clean-audio-cache.ps1 +53 -53
  139. package/.claude/hooks-windows/effects-manager.ps1 +294 -294
  140. package/.claude/hooks-windows/language-manager.ps1 +193 -193
  141. package/.claude/hooks-windows/learn-manager.ps1 +241 -241
  142. package/.claude/hooks-windows/personality-manager.ps1 +266 -266
  143. package/.claude/hooks-windows/play-tts-soprano.ps1 +5 -5
  144. package/.claude/hooks-windows/play-tts-termux-ssh.ps1 +138 -138
  145. package/.claude/hooks-windows/play-tts-windows-piper.ps1 +164 -0
  146. package/.claude/hooks-windows/play-tts-windows-sapi.ps1 +108 -0
  147. package/.claude/hooks-windows/play-tts.ps1 +104 -513
  148. package/.claude/hooks-windows/provider-manager.ps1 +158 -192
  149. package/.claude/hooks-windows/session-start-tts.ps1 +55 -46
  150. package/.claude/hooks-windows/soprano-gradio-synth.py +153 -153
  151. package/.claude/hooks-windows/speed-manager.ps1 +166 -166
  152. package/.claude/hooks-windows/voice-manager-windows.ps1 +176 -260
  153. package/.claude/output-styles/agent-vibes.md +202 -202
  154. package/.claude/personalities/angry.md +14 -14
  155. package/.claude/personalities/annoying.md +14 -14
  156. package/.claude/personalities/crass.md +14 -14
  157. package/.claude/personalities/dramatic.md +14 -14
  158. package/.claude/personalities/dry-humor.md +50 -50
  159. package/.claude/personalities/flirty.md +20 -20
  160. package/.claude/personalities/funny.md +14 -14
  161. package/.claude/personalities/grandpa.md +32 -32
  162. package/.claude/personalities/millennial.md +14 -14
  163. package/.claude/personalities/moody.md +14 -14
  164. package/.claude/personalities/normal.md +16 -16
  165. package/.claude/personalities/pirate.md +14 -14
  166. package/.claude/personalities/poetic.md +14 -14
  167. package/.claude/personalities/professional.md +14 -14
  168. package/.claude/personalities/rapper.md +55 -55
  169. package/.claude/personalities/robot.md +14 -14
  170. package/.claude/personalities/sarcastic.md +38 -38
  171. package/.claude/personalities/sassy.md +14 -14
  172. package/.claude/personalities/surfer-dude.md +14 -14
  173. package/.claude/personalities/zen.md +14 -14
  174. package/.claude/piper-voices-dir.txt +1 -0
  175. package/.claude/settings.json +25 -15
  176. package/.claude/verbosity.txt +1 -1
  177. package/.clawdbot/README.md +105 -105
  178. package/.clawdbot/skill/SKILL.md +149 -145
  179. package/.mcp.json +30 -11
  180. package/CLAUDE.md +170 -215
  181. package/README.md +206 -525
  182. package/RELEASE_NOTES.md +1132 -1976
  183. package/WINDOWS-SETUP.md +208 -208
  184. package/bin/agent-vibes +0 -0
  185. package/bin/agentvibes-voice-browser.js +64 -1289
  186. package/bin/agentvibes.js +0 -0
  187. package/bin/ensure-soprano-running.sh +43 -0
  188. package/bin/mcp-server.js +121 -121
  189. package/bin/mcp-server.sh +0 -0
  190. package/bin/test-bmad-pr +78 -78
  191. package/mcp-server/QUICK_START.md +203 -203
  192. package/mcp-server/README.md +345 -345
  193. package/mcp-server/WINDOWS_SETUP.md +260 -260
  194. package/mcp-server/docs/troubleshooting-audio.md +313 -313
  195. package/mcp-server/examples/claude_desktop_config.json +11 -11
  196. package/mcp-server/examples/claude_desktop_config_piper.json +9 -9
  197. package/mcp-server/examples/custom_instructions.md +169 -169
  198. package/mcp-server/install-deps.js +130 -130
  199. package/mcp-server/pyproject.toml +52 -52
  200. package/mcp-server/requirements.txt +2 -2
  201. package/mcp-server/server.py +1451 -1578
  202. package/mcp-server/test_server.py +395 -395
  203. package/package.json +1 -3
  204. package/setup-windows.ps1 +815 -815
  205. package/src/installer.js +42 -5
  206. package/templates/agentvibes-receiver.sh +158 -483
  207. package/templates/audio/welcome-music.mp3 +0 -0
  208. package/.agentvibes/bmad-voice-map.json +0 -104
  209. package/.agentvibes/copilot-sessions.log +0 -4
  210. package/.claude/config/audio-effects-bmad.cfg +0 -50
  211. package/.claude/config/background-music-enabled.txt +0 -1
  212. package/.claude/config/intro-text.txt +0 -1
  213. package/.claude/config/personality.txt +0 -1
  214. package/.claude/config/piper-speech-rate.txt +0 -4
  215. package/.claude/config/piper-target-speech-rate.txt +0 -1
  216. package/.claude/config/reverb-level.txt +0 -1
  217. package/.claude/config/tts-target-speech-rate.txt +0 -1
  218. package/voice-assignments.json +0 -8245
  219. /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.4.0
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,41 @@
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.0 — Take 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 FEATURE HIGHLIGHTS
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
45
+ ### 🎤 Agent Vibes v1.0 Voice Browser
198
46
 
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
47
+ ![Voice Browser Banner](docs/installation-screenshots/voice-browser-screenshot.png)
204
48
 
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:
49
+ **🎤 Browse, Sample & Install 914 Voices in Real-Time**
322
50
 
323
51
  ```bash
324
- npx agentvibes # Press B for BMad Tab
52
+ npx agentvibes-voice-browser
325
53
  ```
326
54
 
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 |
331
-
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 |
346
-
347
- ---
55
+ The new **AgentVibes Voice Browser** is an interactive console application that lets you:
348
56
 
349
- ### 🖥️ SSH Receiver Hear Your Headless Server
57
+ - 🎧 **Hear Before You Choose** - Real-time audio sampling with one keypress
58
+ - ⭐ **Mark Your Favorites** - Build your personal voice collection
59
+ - 🔍 **Smart Search** - Filter by name, personality, accent, or gender
60
+ - 📦 **One-Click Install** - Press 'I' to instantly switch to any voice
61
+ - 🎨 **Beautiful Interface** - Stunning terminal UI powered by blessed.js
350
62
 
351
- **Run Claude on a cloud box and hear the TTS on your local machine.**
63
+ **914 Total Voices:**
64
+ - 904 High-Quality Piper TTS Speakers (libritts-high model)
65
+ - 10 Hand-Curated Personality Voices
352
66
 
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.
354
-
355
- ```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
360
- ```
361
-
362
- Zero-config forwarding. Works with Piper, macOS Say, and Soprano.
363
-
364
- ---
365
-
366
- ### ⚡ TTS Latency -~1 Second
67
+ **Perfect for:**
68
+ - Finding your ideal AI voice
69
+ - Exploring voice characteristics
70
+ - Quick voice switching
71
+ - Building favorite collections
367
72
 
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:
377
-
378
- ```bash
379
- touch ~/.agentvibes/banner-disabled # or say "turn off the TTS banner"
380
- ```
73
+ Launch now: `npx agentvibes-voice-browser`
381
74
 
382
75
  ---
383
76
 
@@ -385,10 +78,8 @@ touch ~/.agentvibes/banner-disabled # or say "turn off the TTS banner"
385
78
 
386
79
  **Add custom prefixes to every TTS announcement!**
387
80
 
388
- Configure via the AgentVibes TUI Settings tab:
389
-
390
81
  ```bash
391
- npx agentvibes # Navigate to Settings tab
82
+ npx agentvibes config intro-text
392
83
  ```
393
84
 
394
85
  Transform generic AI responses into your personal brand:
@@ -422,7 +113,7 @@ Transform generic AI responses into your personal brand:
422
113
  - `"CodeBot: "` - Development assistant
423
114
  - `"Chef AI: "` - Cooking helper
424
115
 
425
- Configure via: `npx agentvibes` Settings tab
116
+ Configure now: `npx agentvibes config intro-text`
426
117
 
427
118
  ---
428
119
 
@@ -430,13 +121,11 @@ Configure via: `npx agentvibes` → Settings tab
430
121
 
431
122
  **Upload your own background music with battle-tested security!**
432
123
 
433
- Configure via the AgentVibes TUI Music tab:
434
-
435
124
  ```bash
436
- npx agentvibes # Navigate to Music tab
125
+ npx agentvibes config music
437
126
  ```
438
127
 
439
- Replace the default background tracks with your own audio files.
128
+ Replace the default background tracks with your own audio files for complete sonic branding.
440
129
 
441
130
  **Supported Formats:**
442
131
  - 🎵 MP3 (.mp3)
@@ -461,10 +150,10 @@ Replace the default background tracks with your own audio files.
461
150
  - Duration warnings for non-optimal lengths
462
151
 
463
152
  **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
153
+ - 🎸 **Team Audio Branding** - Company theme music
154
+ - 🎮 **Gaming Sessions** - Epic background tracks
155
+ - 🎼 **Personal Playlists** - Your favorite instrumental
156
+ - 🎹 **Focus Music** - Lo-fi, classical, ambient
468
157
 
469
158
  **Features:**
470
159
  - Preview before setting
@@ -480,7 +169,7 @@ Replace the default background tracks with your own audio files.
480
169
  4. Enable/Disable - Toggle background music
481
170
  5. Preview current - Sample your music
482
171
 
483
- Configure via: `npx agentvibes` Music tab
172
+ Configure now: `npx agentvibes config music`
484
173
 
485
174
  **Security Certified:** See full audit report at `docs/security/SECURITY-AUDIT.md`
486
175
 
@@ -488,24 +177,14 @@ Configure via: `npx agentvibes` → Music tab
488
177
 
489
178
  ### 🎯 Key Features
490
179
 
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:**
180
+ **🎛️ NEW IN v5.4.0TUI Installer & Fixes:**
181
+ - 🖥️ **TUI Installer** - Interactive terminal UI: browse voices, configure providers, enable BMAD party mode
182
+ - 🔧 **Spinner Fix** - Resolved `spinner.info is not a function` crash on WSL/Linux
183
+ - 🐛 **Circular Dependency Fix** - Removed self-referential `agentvibes@^3.5.9` dep that silently broke installs
184
+ - 🎵 **Background Music Volume Fix** - Restored `bg_volume="0.20"` fallback in `audio-processor.sh`
185
+ - 📂 **PROJECT_ROOT Fix** - `play-tts.sh` now correctly resolves project root for per-project config
186
+
187
+ **🪟 v3.5.5Native Windows Support:**
509
188
  - 🖥️ **Windows Native TTS** - Soprano, Piper, and Windows SAPI providers. No WSL required!
510
189
  - 🎵 **Background Music** - 16 genre tracks mixed under voice
511
190
  - 🎛️ **Reverb & Audio Effects** - 5 reverb levels via ffmpeg
@@ -522,7 +201,7 @@ Configure via: `npx agentvibes` → Music tab
522
201
  - 🎭 **Multi-Provider Support** - Soprano (neural), Piper TTS (50+ free voices), macOS Say (100+ built-in), or Windows SAPI
523
202
  - 🎙️ **27+ Professional AI Voices** - Character voices, accents, and unique personalities
524
203
  - 🎙️ **Verbosity Control** - Choose how much Claude speaks (LOW, MEDIUM, HIGH)
525
- - 🎙️ **AgentVibes MCP** - Natural language control ("Switch to Aria voice") for Claude Code & Desktop
204
+ - 🎙️ **AgentVibes MCP** - Natural language control ("Switch to Aria voice") for Claude Code, Desktop & Warp
526
205
  - 🔊 **SSH Audio Optimization** - Auto-detects remote sessions and eliminates static (VS Code Remote SSH, cloud dev)
527
206
 
528
207
  **🎭 Personalization:**
@@ -563,11 +242,10 @@ All 50+ Piper voices AgentVibes provides are sourced from Hugging Face's open-so
563
242
  - [📋 Prerequisites](#-prerequisites) - What you actually need (Node.js + optional tools)
564
243
  - [✨ What is AgentVibes?](#-what-is-agentvibes) - Overview & key features
565
244
  - [🌟 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
245
+ - [🎤 Voice Browser v1.0](#-agent-vibes-v10-voice-browser) - Browse & sample 914 voices
568
246
  - [💬 Intro Text](#-intro-text-pretext---your-personal-ai-branding) - Custom TTS prefixes
569
247
  - [🎵 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
248
+ - [📰 Latest Release](#-latest-release) - v3.6.0 "Voice Explorer" with Voice Browser, Friendly Names, Custom Music
571
249
  - [🪟 Windows Setup Guide for Claude Desktop](mcp-server/WINDOWS_SETUP.md) - Complete Windows installation with WSL & Python
572
250
 
573
251
  ### AgentVibes MCP (Natural Language Control)
@@ -577,6 +255,7 @@ All 50+ Piper voices AgentVibes provides are sourced from Hugging Face's open-so
577
255
  - [For Claude Code](docs/mcp-setup.md#for-claude-code) - Project-specific setup
578
256
 
579
257
  ### Core Features
258
+ - [🎤 AgentVibes Voice Browser](#-agentvibes-voice-browser) - **Browse and sample 914 voices interactively**
580
259
  - [🎤 Commands Reference](#-commands-reference) - All available commands
581
260
  - [🎙️ Verbosity Control](#%EF%B8%8F-verbosity-control) - Control how much Claude speaks (low/medium/high)
582
261
  - [🎭 Personalities vs Sentiments](#-personalities-vs-sentiments) - Two systems explained
@@ -585,7 +264,6 @@ All 50+ Piper voices AgentVibes provides are sourced from Hugging Face's open-so
585
264
  - [🎙️ AgentVibes Receiver - NEW!](#%EF%B8%8F-agentvibes-receiver-remote-audio-streaming-from-voiceless-servers) - Remote audio streaming from voiceless servers
586
265
 
587
266
  ### Integrations & Platforms
588
- - [🤝 GitHub Copilot Integration](#-github-copilot-integration) - Use AgentVibes TTS with GitHub Copilot CLI
589
267
  - [🤖 OpenClaw Integration](#-openclaw-integration) - Use AgentVibes with OpenClaw messaging platform
590
268
  - [🎙️ AgentVibes Skill for OpenClaw](#-agentvibes-skill-for-openclaw---what-you-get) - 50+ voices, effects, personalities for OpenClaw
591
269
  - [📱 AgentVibes Receiver](#-agentvibes-receiver-local-phone-) - Remote audio on phones/local machines
@@ -595,7 +273,6 @@ All 50+ Piper voices AgentVibes provides are sourced from Hugging Face's open-so
595
273
  - [💡 Common Workflows](#-common-workflows) - Quick examples
596
274
  - [🔧 Advanced Features](#-advanced-features) - Custom voices & personalities
597
275
  - [🔊 Remote Audio Setup](#-remote-audio-setup) - Play TTS from remote servers
598
- - [🛠️ Technical Documentation](#️-technical-documentation) - Audio architecture, cross-platform support, voice resolution
599
276
  - [🚨 Security Hardening Guide](docs/security-hardening-guide.md) - **REQUIRED if running OpenClaw on remote server**: SSH hardening, Fail2Ban, Tailscale, UFW, AIDE
600
277
  - [🔬 Technical Deep Dive](docs/technical-deep-dive.md) - How AgentVibes works under the hood
601
278
  - [❓ Troubleshooting](#-troubleshooting) - Common issues & fixes
@@ -614,87 +291,99 @@ All 50+ Piper voices AgentVibes provides are sourced from Hugging Face's open-so
614
291
 
615
292
  ## 📰 Latest Release
616
293
 
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)
294
+ **[v3.6.0 - "Voice Explorer" Release](https://github.com/paulpreibisch/AgentVibes/releases/tag/v3.6.0)** 🎉
622
295
 
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.
296
+ ### 🎤 AgentVibes Voice Browser
626
297
 
627
- ### 🎭 BMAD Party Mode Multi-Agent Voice Conversations
298
+ **Browse and sample 914 voices in real-time!**
628
299
 
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:
300
+ ![AgentVibes Voice Browser](docs/installation-screenshots/voice-browser-screenshot.png)
634
301
 
635
302
  ```bash
636
- npx agentvibes # Press B for BMad Tab
303
+ npx agentvibes-voice-browser
637
304
  ```
638
305
 
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
306
+ Interactive console browser with:
307
+ - 🎧 Real-time voice sampling - hear before you choose
308
+ - Favorite system - mark your top voices
309
+ - 🔍 Search & filter - find voices by personality, accent, gender
310
+ - 📦 One-click install - install directly from browser
311
+ - 🎨 Beautiful UI - stunning console interface
650
312
 
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 |
313
+ **914 Total Voices:**
314
+ - 904 Piper speaker variations (libritts-high)
315
+ - 10 curated personality voices
660
316
 
661
- The table shows **Voice, Gender, Provider, Reverb, Music, Vol, Pretext** columns. Voice names are automatically beautified: `16Speakers::Rose_Ibex` → `Rose Ibex`.
317
+ ### 🎯 Major Features
662
318
 
663
- ### 🖥️ SSH Receiver — Hear Your Headless Server
664
-
665
- Stream TTS from a cloud box, WSL2, or any voiceless server directly to your local machine over TCP:
319
+ **🏷️ Friendly Voice Names**
320
+ - No more cryptic IDs! Switch voices with names like "Ryan", "Joe", "Sarah"
321
+ - All 904+ voices have memorable, personality-matched names
322
+ - Voice metadata includes personalities, accents, and recommendations
666
323
 
667
324
  ```bash
668
- # Local: open TUI → Receiver tab → Start
669
- npx agentvibes
670
-
671
- # Remote: AgentVibes auto-detects the receiver and streams audio to you
325
+ # Before: /agent-vibes:switch en_US-libritts_r-medium-speaker-123
326
+ # After:
327
+ /agent-vibes:switch Ryan
672
328
  ```
673
329
 
674
- ### ~1 Second Faster TTS
330
+ **💬 Intro Text (Pretext) Feature**
331
+ - Custom prefix for all TTS announcements
332
+ - Set during installation or anytime after
333
+ - Perfect for personal branding: "FireBot: Starting analysis..."
334
+ - Up to 50 characters, UTF-8 and emoji support
675
335
 
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
336
+ ```bash
337
+ npx agentvibes config intro-text
338
+ ```
679
339
 
680
- ### 🎨 ANSI Colors Restored + Banner Toggle
340
+ **🎵 Custom Background Music**
341
+ - Upload your own audio files (.mp3, .wav, .ogg, .m4a)
342
+ - **Battle-tested security:** 180+ attack variations blocked
343
+ - Magic number validation ensures real audio files
344
+ - File ownership verification (UID checks)
345
+ - Audio duration validation (30-90s recommended, 300s max)
346
+ - Secure storage with 600 permissions
347
+ - Perfect for team audio branding
681
348
 
682
- Full color in the TTS banner. Silence it without muting audio:
683
349
  ```bash
684
- touch ~/.agentvibes/banner-disabled # or: "turn off the TTS banner" via MCP
350
+ npx agentvibes config music
685
351
  ```
686
352
 
353
+ **🎨 Interactive Installer**
354
+ - Preview voices during installation
355
+ - Sample all 16 background music tracks
356
+ - Audio environment auto-detection
357
+ - Cross-platform preview support
358
+
359
+ **🛡️ Security Hardening**
360
+ - **180+ attack variations tested** - Path traversal, symlinks, Unicode, null bytes
361
+ - **100% attack rejection rate** - All malicious attempts blocked
362
+ - **OWASP compliant** - CWE-22 path traversal prevention verified
363
+ - **Production certified** - Comprehensive security audit completed
364
+ - **Defense-in-depth** - 7 validation layers protect your system
365
+ - File ownership verification and secure storage (600 permissions)
366
+ - Security audit report: `docs/security/SECURITY-AUDIT.md`
367
+
687
368
  ### Quick Install
688
369
 
689
370
  ```bash
371
+ # Install AgentVibes
690
372
  npx agentvibes install
373
+
374
+ # Launch Voice Browser
375
+ npx agentvibes-voice-browser
691
376
  ```
692
377
 
693
- 💡 **Tip:** If `npx agentvibes` shows an older version: `npm cache clean --force && npx agentvibes@latest`
378
+ **🐞 Bug Fixes in v3.6.0:**
379
+ - Fixed `get_verbosity` MCP tool returning wrong level after fresh install (now reads from correct project directory, defaults to `high`)
380
+ - Fixed Voice Browser Soprano TTS detection, Custom Music race conditions, installer emoji rendering
381
+
382
+ 💡 **Tip:** If `npx agentvibes` shows an older version, clear cache: `npm cache clean --force && npx agentvibes@latest --help`
694
383
 
695
- 🐛 **Found a bug?** [GitHub Issues](https://github.com/paulpreibisch/AgentVibes/issues)
384
+ 🐛 **Found a bug?** Report at [GitHub Issues](https://github.com/paulpreibisch/AgentVibes/issues)
696
385
 
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)
386
+ [→ View Complete Release Notes](RELEASE_NOTES_v3.6.0.md) | [→ View All Releases](https://github.com/paulpreibisch/AgentVibes/releases)
698
387
 
699
388
  [↑ Back to top](#-table-of-contents)
700
389
 
@@ -746,20 +435,6 @@ Just code normally - AgentVibes automatically speaks task acknowledgments and co
746
435
 
747
436
  ---
748
437
 
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
438
  **🍎 macOS Users (One-Time Setup):**
764
439
  ```bash
765
440
  brew install bash # Required for bash 5.x features
@@ -772,6 +447,67 @@ macOS ships with bash 3.2 (from 2007). After this, everything works perfectly!
772
447
 
773
448
  [↑ Back to top](#-table-of-contents)
774
449
 
450
+ ---
451
+
452
+ ## 🎤 AgentVibes Voice Browser
453
+
454
+ **The easiest way to find your perfect voice!**
455
+
456
+ ![AgentVibes Voice Browser](docs/installation-screenshots/voice-browser-screenshot.png)
457
+ *Browse, sample, and install from 914 voices with real-time audio preview*
458
+
459
+ ### Launch the Browser
460
+
461
+ ```bash
462
+ npx agentvibes-voice-browser
463
+ ```
464
+
465
+ ### Features
466
+
467
+ - **914 Voices** - Browse 904 Piper speakers + 10 curated voices
468
+ - **Real-Time Sampling** - Press ENTER to hear any voice instantly
469
+ - **Favorite System** - Mark favorites for quick access
470
+ - **Smart Search** - Filter by name, personality, accent, or gender
471
+ - **One-Click Install** - Press 'I' to install and switch to a voice
472
+ - **Beautiful UI** - Stunning console interface with blessed.js
473
+
474
+ ### Keyboard Shortcuts
475
+
476
+ | Key | Action |
477
+ |-----|--------|
478
+ | **ENTER** | Play voice sample |
479
+ | **I** | Install/Select voice for AgentVibes |
480
+ | **F** | Toggle favorite |
481
+ | **/** | Search voices |
482
+ | **ESC** | Clear search / Back |
483
+ | **↑/↓** | Navigate list |
484
+ | **G** | Jump to top |
485
+ | **Shift+G** | Jump to bottom |
486
+ | **H** | Show help |
487
+ | **Q** | Quit |
488
+
489
+ ### Voice Categories
490
+
491
+ **Curated Voices** (10 hand-picked personalities):
492
+ - Professional, Friendly, Authoritative, Warm, Energetic
493
+ - Technical, Calm, Narrator, Conversational, Enthusiastic
494
+
495
+ **Speaker Variations** (904 from libritts-high):
496
+ - Male and female speakers
497
+ - Various accents and tones
498
+ - High-quality neural voices
499
+ - Unique characteristics
500
+
501
+ ### Finding Your Perfect Voice
502
+
503
+ 1. **Launch browser:** `npx agentvibes-voice-browser`
504
+ 2. **Search by trait:** Press `/` and type "friendly" or "professional"
505
+ 3. **Sample voices:** Navigate with arrows, press ENTER to hear
506
+ 4. **Mark favorites:** Press 'F' on voices you like
507
+ 5. **Install:** Press 'I' to set as your AgentVibes voice
508
+
509
+ **Pro Tip:** Use the search to find voices matching your project's mood!
510
+
775
511
  [↑ Back to top](#-table-of-contents)
776
512
 
777
513
  ---
@@ -1119,11 +855,24 @@ AgentVibes provides **50+ slash commands** and **natural language MCP equivalent
1119
855
 
1120
856
  **[→ View Complete Command Reference](docs/commands.md)** - All voice, system, personality, sentiment, language, and BMAD commands with MCP equivalents
1121
857
 
858
+ ### Voice Browser Commands
859
+
860
+ ```bash
861
+ # Launch voice browser
862
+ npx agentvibes-voice-browser
863
+
864
+ # Or use global command (if installed globally)
865
+ agentvibes-voice-browser
866
+ ```
867
+
868
+ **MCP Equivalent:** Currently CLI-only (no MCP command)
869
+
1122
870
  ### Intro Text Commands
1123
871
 
1124
872
  ```bash
1125
- # Configure intro text — open Settings tab
1126
- npx agentvibes
873
+ # Configure intro text
874
+ /agent-vibes:config intro-text
875
+ npx agentvibes config intro-text
1127
876
 
1128
877
  # View current intro text
1129
878
  cat ~/.claude/config/intro-text.txt
@@ -1139,8 +888,16 @@ cat ~/.claude/config/intro-text.txt
1139
888
  ### Custom Music Commands
1140
889
 
1141
890
  ```bash
1142
- # Configure background music — open Music tab
1143
- npx agentvibes
891
+ # Configure background music
892
+ /agent-vibes:config music
893
+ npx agentvibes config music
894
+
895
+ # Menu options:
896
+ # 1. Change music - Upload new audio file
897
+ # 2. Remove music - Clear custom music
898
+ # 3. Reset to default - Restore built-in tracks
899
+ # 4. Enable/Disable - Toggle background music
900
+ # 5. Preview current - Sample current music
1144
901
  ```
1145
902
 
1146
903
  **MCP Equivalent:**
@@ -1248,7 +1005,7 @@ Every task acknowledgment plays **twice** - first in English, then in your targe
1248
1005
 
1249
1006
  ## 🗣️ Voice Library
1250
1007
 
1251
- Use the **AgentVibes TUI installer** (`/audio-browser`) to browse, sample, and install from 914 voices interactively.
1008
+ **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
1009
 
1253
1010
  ### Friendly Voice Names
1254
1011
 
@@ -1341,85 +1098,6 @@ This design means **any TTS provider** can integrate with BMAD by replacing thes
1341
1098
 
1342
1099
  ---
1343
1100
 
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
1101
  ## 🤖 OpenClaw Integration
1424
1102
 
1425
1103
  **Use AgentVibes TTS with OpenClaw - the revolutionary AI assistant you can access via any instant messenger!**
@@ -2199,19 +1877,19 @@ Both do the exact same thing - MCP is more convenient, slash commands are more t
2199
1877
  - **Optional**: sox (audio effects), ffmpeg (background music, padding)
2200
1878
  - All TTS generation works without optional dependencies - they just enhance the experience
2201
1879
 
2202
- ### Voice Features
1880
+ ### Voice Browser & New Features
2203
1881
 
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.
1882
+ **Q: How do I use the Voice Browser?**
1883
+ **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
1884
 
2207
1885
  **Q: What are friendly voice names?**
2208
1886
  **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
1887
 
2210
1888
  **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.
1889
+ **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
1890
 
2213
1891
  **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.
1892
+ **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
1893
 
2216
1894
  **Q: What's the recommended duration for custom music?**
2217
1895
  **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 +1897,14 @@ Both do the exact same thing - MCP is more convenient, slash commands are more t
2219
1897
  **Q: Are friendly voice names case-sensitive?**
2220
1898
  **A:** No! You can type "ryan", "Ryan", or "RYAN" - they all work. The voice resolution is case-insensitive.
2221
1899
 
1900
+ **Q: Can I favorite voices without installing them?**
1901
+ **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.
1902
+
2222
1903
  **Q: Does custom music work with all TTS providers?**
2223
1904
  **A:** Yes! Custom background music works with Piper TTS, Soprano, macOS Say, and Windows SAPI.
2224
1905
 
2225
1906
  **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.
1907
+ **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
1908
 
2228
1909
  **Q: What security measures protect custom music uploads?**
2229
1910
  **A:** AgentVibes implements **defense-in-depth security with 7 validation layers**, tested against 180+ attack variations: