agentvibes 5.2.1 → 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 (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 +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 +42 -120
  115. package/.claude/hooks/play-tts-termux-ssh.sh +0 -0
  116. package/.claude/hooks/play-tts.sh +48 -37
  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 -274
  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 -481
  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 -515
  182. package/RELEASE_NOTES.md +1132 -1884
  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/console/tabs/setup-tab.js +9 -6
  206. package/src/console/tabs/voices-tab.js +9 -3
  207. package/src/installer.js +42 -5
  208. package/src/services/llm-provider-service.js +13 -0
  209. package/templates/agentvibes-receiver.sh +158 -483
  210. package/templates/audio/welcome-music.mp3 +0 -0
  211. package/.agentvibes/bmad-voice-map.json +0 -104
  212. package/.agentvibes/copilot-sessions.log +0 -4
  213. package/.claude/config/audio-effects-bmad.cfg +0 -50
  214. package/.claude/config/background-music-enabled.txt +0 -1
  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.2.1
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,335 +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.2.1 — Multi-LLM Identity & Install Polish
43
+ ## 🌟 NEW FEATURE HIGHLIGHTS
47
44
 
48
- - **Copilot gets its own voice + pretext + music** — "Copilot here" with bossa nova, fully distinct from Claude Code and Codex.
49
- - **Per-tool MCP configs with explicit identity** — `.vscode/mcp.json`, `.codex/config.toml`, `~/.copilot/mcp-config.json` each set their own `AGENTVIBES_LLM`.
50
- - **`get_config` MCP tool returns detected LLM** — calling assistants can confirm their routing and respond with the right voice.
51
- - **Setup nav: Install → Install → Install → Configure → Configure → Configure** — keyboard flow walks all three providers' Configures before landing on Default.
52
- - **Claude Code default background music** set to Chillwave.
53
- - **Linux compatibility refinements** — CRLF, permissions, transport provider override.
45
+ ### 🎤 Agent Vibes v1.0 Voice Browser
54
46
 
55
- ## 🎯 v5.2.0 — Remote Voice Preview + Caveman Mode + Voice Ratings
47
+ ![Voice Browser Banner](docs/installation-screenshots/voice-browser-screenshot.png)
56
48
 
57
- - **Caveman verbosity mode** Ultra-terse TTS fragments. Set via `/agent-vibes:verbosity caveman`.
58
- - **👍/👎 voice ratings** — Press `+` to thumbs up, `-` to thumbs down in any voice list. Replaces star favorites.
59
- - **Remote voice preview** — TUI voice preview works on headless servers via SSH receiver. No local audio needed.
60
- - **SSH receiver routing** — `ssh-remote` and `agentvibes-receiver` are now first-class providers.
61
- - **Voice validation hardened** — Multi-speaker `::` format, cross-platform base64, no backslash injection.
62
-
63
- ## 🛡️ v5.1.4 — TTS Resilience Overhaul + Default LLM Provider
64
-
65
- - **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.
66
- - **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).
67
- - **Copilot CLI support** — `installCopilotMcp` now writes both `.vscode/mcp.json` (Copilot Chat) AND `~/.copilot/mcp-config.json` (Copilot CLI — different product, different config path).
68
- - **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.
69
- - **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.
70
- - **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.
71
- - **Per-LLM voice wins over explicit `VoiceOverride`** — LLMs echo back `get_config` results on every call, which was overriding per-LLM routing. Fixed.
72
- - **`lessac-medium` → `lessac-high`** default for codex — Silent synthesis failure workaround.
73
- - **Scratch file rename + ASCII-only encoding** — Eliminates accumulating compound audio files and CP1252 parse errors on Windows.
74
- - **Setup → Install confirmation** now advances focus to the next provider row (Install → Install → Install flow).
75
-
76
- ---
77
-
78
- ## 🛡️ v5.1.3 — Hardening Pass (Adversarial Review Followup)
79
-
80
- - **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.
81
- - **`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.
82
- - **`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.
83
-
84
- ---
85
-
86
- ## 🔀 v5.1.2 — MCP Per-LLM Routing Hotfix
87
-
88
- - **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`.
89
- - **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.
90
- - **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).
91
-
92
- 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.
93
-
94
- ---
95
-
96
- ## 🩹 v5.1.1 — Windows TTS Hook Hotfix
97
-
98
- - **`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.
99
-
100
- ---
101
-
102
- ## 🎙️ NEW IN v5.1.0 — Voice Picker Overhaul + Auto-Save Agent Modal
103
-
104
- - **Auto-save in agent modal** — Voice/personality/music/reverb/pretext changes save automatically as you edit them. Brief "✓ Saved!" toast confirms each change.
105
- - **Unique LibriTTS names** — 904 speakers get deterministic surnames: **Anna Bell**, **Anna Carter**, …, **Anna Quinn**. No more "Anna-2", "Anna-3" duplicates.
106
- - **Pink ♀ / blue ♂ gender symbols** — Colored gender indicators in the main Voices tab and all voice picker modals.
107
- - **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.
108
- - **PgUp / PgDn / Home / End** in voice pickers
109
- - **3 new background music tracks** — Late Night Hip Hop Groove, Drifting Down the Hall, Midnight Charleston Stomp
110
- - **Search bar removed from voice pickers** — replaced by first-letter jump (faster, no focus issues)
111
- - **Voices tab corruption fix** — uninstalled rows no longer lose their Provider column when navigated onto
112
- - **Music + Voices tab blink artifacts gone**
113
-
114
- ---
115
-
116
- ## 🚀 v5.0.0 — Multi-Provider Support: Claude Code + Copilot + Codex
117
-
118
- - **GitHub Copilot + OpenAI Codex in VS Code** — AgentVibes now supports all three major AI coding assistants. Install and configure each from the TUI.
119
- - **One Setup tab** — 4-step wizard (Language → Deps → TTS Engine → Providers) replaces old installer + LLM tabs. Returning users skip to Providers.
120
- - **Per-provider audio config** — Each LLM gets its own Voice, TTS Engine, Reverb, Music, and Pretext via Configure modal.
121
- - **Settings redesigned** — Clean flat list: Language, TTS Engine, Voice, Verbosity, Audio Destination, Config Storage, Re-run Wizard.
122
- - **Voice picker upgraded** — 3-column display, Space bar preview, scroll stays in place.
123
-
124
- ---
125
-
126
- ## 🐛 v4.6.8 — Fresh Install Crash Fix
127
-
128
- - **Settings tab crash fixed** — no longer crashes when navigating to Settings on a fresh install with no voice configured
129
- - **macOS test fix** — replay path assertion handles `/var` → `/private/var` symlink
130
- - **BMAD pretext parsing improved** — voices pretext extracted correctly from `bmad-voices.md`
131
-
132
- ---
133
-
134
- ## 🎙️ v4.6.7 — Party Mode TTS Fixes
135
-
136
- - **Agent pretexts now spoken in party mode** — "John, Product Manager here" was being silently dropped due to a pre-synthesis timing bug. Fixed.
137
- - **No more spoken asterisks** — markdown stripped before TTS in party mode
138
- - **Windows session start TTS fixed** — hook now outputs proper JSON so TTS activates reliably on session start
139
- - **PreToolUse hook no longer errors** on grep/regex commands
140
-
141
- ---
142
-
143
- ## 🧭 v4.6.6 — Natural TUI Navigation
144
-
145
- 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.
146
-
147
- ---
148
-
149
- ## 🔧 NEW IN v4.6.5 — Line Endings, TUI Non-Interactive Hint, Release Process
150
-
151
- - **`.gitattributes`** — enforces `LF` for shell scripts/JS/JSON/markdown, `CRLF` for PowerShell; stops `bin/` files showing as modified on Windows
152
- - **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
153
-
154
- ---
155
-
156
- ## 🐛 NEW IN v4.6.4 — CI & macOS Fixes
157
-
158
- - **macOS `mktemp` fixed** — 12 calls now use BSD-compatible syntax (XXXXXX at end, then rename to add extension)
159
- - **CI test suite green** — macOS path symlink, execute permission, and parallel mktesk race all fixed
160
-
161
- ---
162
-
163
- ## 🐛 NEW IN v4.6.3 — Party Mode Correct Voices
164
-
165
- - **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.
166
-
167
- ---
168
-
169
- ## 🐛 NEW IN v4.6.2 — Party Mode Voices, LibriTTS Speaker Fix, Agent Pretext
170
-
171
- - **Party mode agents now speak in their unique voices** — SKILL.md wired to `bmad-speak.ps1` per agent
172
- - **LibriTTS speaker IDs resolved correctly** — `Holly-7` is speaker 322, not 7
173
- - **Agent pretext spoken on Windows** — "Mary, Business Analyst here." before every response
174
- - **`parseMultiSpeaker` fallback** — works on fresh installs before `.onnx.json` is patched
175
-
176
- ---
177
-
178
- ## 🌟 NEW IN v4.6.1 — Party Mode Voice Clarity + Agent Config UI Polish
179
-
180
- ### 🔊 Voice Volume Fixed in Party Mode
181
-
182
- - **`normalize=0`** added to ffmpeg `amix` — prevents voices being silenced to 50% when mixed with background music
183
- - **Voice boost `volume=1.5`** applied to every TTS stream — agents are now loud and clear
184
- - **Music intro reduced to 1 second** (`adelay=1000`) — less dead air before each agent speaks
185
- - **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)
186
-
187
- ### 🎛️ BMAD Agent Config — Preview + Split Fields
188
-
189
- - **Music Track** and **Music Vol** are now separate fields in the agent editor — each opens its own dialog
190
- - **Preview button** plays the selected voice with full effects: personality, reverb, background music track and volume
191
- - **Blinking indicator** (`►█`) highlights the focused button — reuses the shared `attachBtnBlink` utility
192
- - **Preview spinner** animates while audio is playing
193
- - **Tab→Save hint** shown in the volume input dialog
194
-
195
- ### 🚻 Voice Gender Auto-Assign Fixed
196
-
197
- - `inferGender` now strips the numeric suffix from LibriTTS speaker names (e.g. `anna-9` → `anna`) before looking up gender
198
- - Expanded `GENDER_MAP` with 60+ first names covering all bundled voices
199
- - `libritts` blanket-male override removed — LibriTTS voices are now inferred per-name
200
-
201
- ### 🐛 Other Fixes
202
-
203
- - Volume dialog text now uses `cyan`/`white` — no more invisible-on-dark-background instructions
204
- - After saving agent settings, focus correctly returns to the agent list (Enter re-opens the agent)
205
- - Boundary navigation in agent fields no longer jumps to buttons prematurely
206
-
207
- ---
208
-
209
- ## 🌟 NEW IN v4.6 — Party Mode Auto-Install + Volume Fix
210
-
211
- ### 🎉 BMAD Party Mode TTS — Zero Setup
212
-
213
- Every agent now speaks automatically in any BMAD project — no manual hook configuration needed:
214
-
215
- - Installer copies `bmad-party-speak.sh` (Linux/macOS/WSL) or `bmad-party-speak.ps1` (Windows) to `~/.claude/hooks/`
216
- - `PostToolUse` hook registered in `~/.claude/settings.json` automatically
217
- - `npx agentvibes update` keeps the scripts fresh across all platforms
218
-
219
- ### 🔊 Background Music Volume Default: 20%
220
-
221
- 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.
222
-
223
- ### 🐛 Installer Navigation Fix
224
-
225
- Pressing ← on the completion screen no longer jumps back to the installation step.
226
-
227
- ### 🧪 628 Tests, Zero Failures
228
-
229
- ---
230
-
231
- ## 🌟 v4.5 — "Speak Every Language" Release
232
-
233
- ### 🌍 Multilingual TUI — 9 Languages
234
-
235
- Every screen, button, and label in `npx agentvibes` is now fully translated:
236
-
237
- - **English, Spanish, French, German, Portuguese, Japanese, Korean, Chinese (Simplified), Italian**
238
- - Language selection on first launch — pick your language before anything else
239
- - Language sub-tab in Settings — switch live, no restart needed
240
- - All tab labels, buttons, footer hints, status messages, and BMAD/Receiver tabs translated
241
- - Per-language i18n files (`src/i18n/en.js`, `es.js`, `fr.js`, ...) with English fallback
242
-
243
- ### 🪟 Windows Security Hardening
244
-
245
- - **Unpredictable temp files** — `randomUUID()` replaces `Date.now()` in all temp filenames (JS + PowerShell)
246
- - **No shell injection** — `spawnSync` replaces `execSync(..., { shell: true })` for `which` lookups
247
- - **Smart music player detection** — `detectMp3Player()` replaces hardcoded `ffplay` on Windows
248
- - **Boolean fix** — `isWindowsTerminal` now returns `true/false`, not the `WT_SESSION` UUID string
249
-
250
- ### 🎙️ Cross-Platform BMAD Speak
251
-
252
- 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.
253
-
254
- - `bmad-speak.js` — cross-platform entry point; auto-routes to PowerShell on Windows or bash on Mac/Linux
255
- - `bmad-speak.ps1` — native Windows BMAD speak with per-agent personality routing
256
-
257
- ### 🧪 600 Tests, Zero Failures
258
-
259
- ---
260
-
261
- ## 🌟 v4.4 — Full Platform Parity Release
262
-
263
- ### 🪟 Windows MCP Parity — 27/27 Tools Working
264
-
265
- All MCP tools now work natively on Windows. Previously 12 tools silently failed due to missing scripts:
266
-
267
- - **6 new PowerShell scripts** — personality-manager, speed-manager, language-manager, learn-manager, verbosity-manager, clean-audio-cache
268
- - **Unified provider naming** — `piper` and `sapi` on all platforms (no more `windows-piper`/`windows-sapi`)
269
- - **replay command** added to voice-manager for Windows
270
- - **Adversarial review** — 24 issues found, 10 fixed (3 CRITICAL, 4 HIGH, 3 MEDIUM)
271
- - **28 new tests** covering script parity, effects round-trip, provider management, and naming consistency
272
- - **Feature-platform matrix** — [docs/feature-platform-matrix.md](docs/feature-platform-matrix.md) tracks all 85 features across Linux, macOS, Windows, and WSL
273
-
274
- ### Bug Fixes (HIGH)
275
- - ffmpeg stderr redirected to temp file instead of literal `"NUL"` file
276
- - `AGENTVIBES_NO_PLAY` env var properly cleaned up on error paths
277
- - `PIPER_SPEAKER` env var no longer leaks between voice switches
278
- - Provider config now uses project-local `.claude` (not always global)
279
- - Text sanitization relaxed — `$50 (USD)` no longer becomes `50 USD`
280
-
281
- ---
282
-
283
- ## 🌟 v4.3 — Windows Parity + BMAD Party Mode
284
-
285
- ### 🎭 BMAD Party Mode — Every Agent Has Its Own Voice
286
-
287
- 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.
288
-
289
- **Every BMAD agent now speaks with their own unique voice, music, and personality.**
290
-
291
- When party mode runs a multi-agent discussion, the Architect, PM, Developer, QA, and Analyst each sound completely different — making every role immediately recognizable.
292
-
293
- **Auto-enabled** — if BMAD is installed, party mode activates automatically. Open the BMad Tab to configure each agent:
294
-
295
- ```bash
296
- npx agentvibes # Press B to open the BMad Tab
297
- ```
298
-
299
- **Per-agent configuration:**
300
- - 🎙️ **Voice** — 914 voices to choose from, auto-assigned gender-aware
301
- - 🎵 **Background Music** — Unique ambient track per agent (cinematic, lo-fi, jazz...)
302
- - 🎚️ **Music Volume** — Per-agent level, or set all at once via Bulk Edit
303
- - 🎛️ **Reverb** — none / room / hall / cathedral / studio per agent
304
- - 💬 **Pretext** — Custom intro phrase ("Winston says:..." before every line)
305
- - 🎭 **Personality** — sarcastic, dramatic, pirate, cheerful, and more
306
- - 🔇 **No Overlap** — Speech lock ensures agents never talk over each other
307
- - ✨ **Markdown-Clean** — Asterisks and formatting stripped before TTS
308
-
309
- ### 🎛️ BMad Tab — Visual Agent Configurator
310
-
311
- 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:
312
-
313
- ```bash
314
- npx agentvibes # Press B for BMad Tab
315
- ```
316
-
317
- | Agent | Voice | Gender | Provider | Reverb | Music | Vol | Pretext |
318
- |-------|-------|--------|----------|--------|-------|-----|---------|
319
- | 🏢 Winston | Rose Ibex | Female | Piper (LibriTTS) | studio | jazz | 65% | Winston says |
320
- | 🧠 Larry | Kusal | Male | Piper | hall | cinematic | 80% | Larry says |
321
-
322
- **Highlights:**
323
- - **Beautified voice names** — `16Speakers::Rose_Ibex` shows as `Rose Ibex`; `en_US-kusal-medium` shows as `Kusal`
324
- - **Gender & Provider columns** — see voice metadata at a glance, just like the Voices tab
325
- - **Inline row hints** — navigate to any agent and see `[Space] Preview [Enter] Configure` on the row itself
326
- - **Preview spinner** — animated `⠋⠙⠹⠸` braille spinner while audio plays
327
-
328
- | Key | Action |
329
- |-----|--------|
330
- | `↑↓` / `jk` | Navigate agents |
331
- | `Space` | Preview agent (spinner shows while playing) |
332
- | `Enter` | Configure voice, music, volume, reverb, personality, pretext |
333
- | `A` | Auto-assign unique voices (gender-aware, no repeats) |
334
- | `B` | Bulk Edit — set music / volume / pretext / reverb for all agents |
335
- | `X` | Reset agent to defaults |
336
-
337
- ---
338
-
339
- ### 🖥️ SSH Receiver — Hear Your Headless Server
340
-
341
- **Run Claude on a cloud box and hear the TTS on your local machine.**
342
-
343
- 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.
49
+ **🎤 Browse, Sample & Install 914 Voices in Real-Time**
344
50
 
345
51
  ```bash
346
- # On your local machine — open TUI, go to Receiver tab, click Start
347
- npx agentvibes
348
-
349
- # On the remote server — AgentVibes auto-detects the receiver and streams
52
+ npx agentvibes-voice-browser
350
53
  ```
351
54
 
352
- Zero-config forwarding. Works with Piper, macOS Say, and Soprano.
353
-
354
- ---
355
-
356
- ### ⚡ TTS Latency -~1 Second
55
+ The new **AgentVibes Voice Browser** is an interactive console application that lets you:
357
56
 
358
- - **Batched Node.js calls** 6 separate profile reads collapsed into 1 (~900ms saved)
359
- - **inotifywait queue** — file-event-based worker, no polling delay
360
- - **Background cache cleanup** off the critical path every 10th call
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
361
62
 
362
- ---
63
+ **914 Total Voices:**
64
+ - 904 High-Quality Piper TTS Speakers (libritts-high model)
65
+ - 10 Hand-Curated Personality Voices
363
66
 
364
- ### 🎨 ANSI Banner Colors + Toggle
67
+ **Perfect for:**
68
+ - Finding your ideal AI voice
69
+ - Exploring voice characteristics
70
+ - Quick voice switching
71
+ - Building favorite collections
365
72
 
366
- Full color in the TTS banner (gold voice, cyan reverb, traffic-light cache). Hide it without muting:
367
-
368
- ```bash
369
- touch ~/.agentvibes/banner-disabled # or say "turn off the TTS banner"
370
- ```
73
+ Launch now: `npx agentvibes-voice-browser`
371
74
 
372
75
  ---
373
76
 
@@ -375,10 +78,8 @@ touch ~/.agentvibes/banner-disabled # or say "turn off the TTS banner"
375
78
 
376
79
  **Add custom prefixes to every TTS announcement!**
377
80
 
378
- Configure via the AgentVibes TUI Settings tab:
379
-
380
81
  ```bash
381
- npx agentvibes # Navigate to Settings tab
82
+ npx agentvibes config intro-text
382
83
  ```
383
84
 
384
85
  Transform generic AI responses into your personal brand:
@@ -412,7 +113,7 @@ Transform generic AI responses into your personal brand:
412
113
  - `"CodeBot: "` - Development assistant
413
114
  - `"Chef AI: "` - Cooking helper
414
115
 
415
- Configure via: `npx agentvibes` Settings tab
116
+ Configure now: `npx agentvibes config intro-text`
416
117
 
417
118
  ---
418
119
 
@@ -420,13 +121,11 @@ Configure via: `npx agentvibes` → Settings tab
420
121
 
421
122
  **Upload your own background music with battle-tested security!**
422
123
 
423
- Configure via the AgentVibes TUI Music tab:
424
-
425
124
  ```bash
426
- npx agentvibes # Navigate to Music tab
125
+ npx agentvibes config music
427
126
  ```
428
127
 
429
- 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.
430
129
 
431
130
  **Supported Formats:**
432
131
  - 🎵 MP3 (.mp3)
@@ -451,10 +150,10 @@ Replace the default background tracks with your own audio files.
451
150
  - Duration warnings for non-optimal lengths
452
151
 
453
152
  **Perfect for:**
454
- - 🎮 **Making coding fun** - Your favorite beats while you build
455
- - 🎼 **Setting the mood** - Match the music to the task (lo-fi for debugging, epic for shipping)
456
- - 🗂️ **Identifying projects** - Different track per repo so you always know which project Claude is in
457
- - 🎹 **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
458
157
 
459
158
  **Features:**
460
159
  - Preview before setting
@@ -470,7 +169,7 @@ Replace the default background tracks with your own audio files.
470
169
  4. Enable/Disable - Toggle background music
471
170
  5. Preview current - Sample your music
472
171
 
473
- Configure via: `npx agentvibes` Music tab
172
+ Configure now: `npx agentvibes config music`
474
173
 
475
174
  **Security Certified:** See full audit report at `docs/security/SECURITY-AUDIT.md`
476
175
 
@@ -478,24 +177,14 @@ Configure via: `npx agentvibes` → Music tab
478
177
 
479
178
  ### 🎯 Key Features
480
179
 
481
- **🌟 v4.2BMAD Party Mode & SSH Receiver:**
482
- - 🎭 **BMAD Party Mode Voices** Each agent speaks with their unique voice, music, reverb, personality
483
- - 🖥️ **SSH Receiver Tab** Stream TTS audio from headless servers to your local machine over TCP
484
- - 🎛️ **BMad Tab (TUI)** Visual agent configurator with auto-assign and bulk edit
485
- - **TTS Latency -1s** Batched Node.js calls, inotifywait queue, background cleanup
486
- - 🎨 **ANSI Banner Colors Restored** Gold/cyan/traffic-light colors in TTS info banner
487
- - 🔕 **Banner Toggle** — Hide TTS banner without muting (`~/.agentvibes/banner-disabled`)
488
- - 🔇 **No Party Mode Overlap** Agents wait for full audio before next speaks
489
- - 🧹 **Markdown-Clean Speech** — Asterisks/formatting stripped automatically from party mode
490
-
491
- **🌟 NEW IN v3.6.0 — Voice Explorer Release:**
492
- - 🏷️ **Friendly Voice Names** - "Ryan" instead of "en_US-libritts_r-medium-speaker-123"
493
- - 💬 **Intro Text (Pretext)** - Custom prefix for all TTS ("FireBot: Starting...")
494
- - 🎵 **Custom Background Music** - Upload your own audio files with battle-tested security
495
- - 🎨 **Interactive Installer** - Preview voices and music during installation
496
- - 🛡️ **Security Hardening** - 180+ attack variations tested, 100% blocked, OWASP compliant
497
-
498
- **🪟 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:**
499
188
  - 🖥️ **Windows Native TTS** - Soprano, Piper, and Windows SAPI providers. No WSL required!
500
189
  - 🎵 **Background Music** - 16 genre tracks mixed under voice
501
190
  - 🎛️ **Reverb & Audio Effects** - 5 reverb levels via ffmpeg
@@ -512,7 +201,7 @@ Configure via: `npx agentvibes` → Music tab
512
201
  - 🎭 **Multi-Provider Support** - Soprano (neural), Piper TTS (50+ free voices), macOS Say (100+ built-in), or Windows SAPI
513
202
  - 🎙️ **27+ Professional AI Voices** - Character voices, accents, and unique personalities
514
203
  - 🎙️ **Verbosity Control** - Choose how much Claude speaks (LOW, MEDIUM, HIGH)
515
- - 🎙️ **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
516
205
  - 🔊 **SSH Audio Optimization** - Auto-detects remote sessions and eliminates static (VS Code Remote SSH, cloud dev)
517
206
 
518
207
  **🎭 Personalization:**
@@ -553,11 +242,10 @@ All 50+ Piper voices AgentVibes provides are sourced from Hugging Face's open-so
553
242
  - [📋 Prerequisites](#-prerequisites) - What you actually need (Node.js + optional tools)
554
243
  - [✨ What is AgentVibes?](#-what-is-agentvibes) - Overview & key features
555
244
  - [🌟 NEW FEATURE HIGHLIGHTS](#-new-feature-highlights) - **START HERE!**
556
- - [🎭 BMAD Party Mode](#-bmad-party-mode--multi-agent-voice-conversations) - Per-agent voices, music, reverb
557
- - [🖥️ 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
558
246
  - [💬 Intro Text](#-intro-text-pretext---your-personal-ai-branding) - Custom TTS prefixes
559
247
  - [🎵 Custom Background Music](#-custom-background-music---complete-audio-control) - Upload your own tracks
560
- - [📰 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
561
249
  - [🪟 Windows Setup Guide for Claude Desktop](mcp-server/WINDOWS_SETUP.md) - Complete Windows installation with WSL & Python
562
250
 
563
251
  ### AgentVibes MCP (Natural Language Control)
@@ -567,6 +255,7 @@ All 50+ Piper voices AgentVibes provides are sourced from Hugging Face's open-so
567
255
  - [For Claude Code](docs/mcp-setup.md#for-claude-code) - Project-specific setup
568
256
 
569
257
  ### Core Features
258
+ - [🎤 AgentVibes Voice Browser](#-agentvibes-voice-browser) - **Browse and sample 914 voices interactively**
570
259
  - [🎤 Commands Reference](#-commands-reference) - All available commands
571
260
  - [🎙️ Verbosity Control](#%EF%B8%8F-verbosity-control) - Control how much Claude speaks (low/medium/high)
572
261
  - [🎭 Personalities vs Sentiments](#-personalities-vs-sentiments) - Two systems explained
@@ -575,7 +264,6 @@ All 50+ Piper voices AgentVibes provides are sourced from Hugging Face's open-so
575
264
  - [🎙️ AgentVibes Receiver - NEW!](#%EF%B8%8F-agentvibes-receiver-remote-audio-streaming-from-voiceless-servers) - Remote audio streaming from voiceless servers
576
265
 
577
266
  ### Integrations & Platforms
578
- - [🤝 GitHub Copilot Integration](#-github-copilot-integration) - Use AgentVibes TTS with GitHub Copilot CLI
579
267
  - [🤖 OpenClaw Integration](#-openclaw-integration) - Use AgentVibes with OpenClaw messaging platform
580
268
  - [🎙️ AgentVibes Skill for OpenClaw](#-agentvibes-skill-for-openclaw---what-you-get) - 50+ voices, effects, personalities for OpenClaw
581
269
  - [📱 AgentVibes Receiver](#-agentvibes-receiver-local-phone-) - Remote audio on phones/local machines
@@ -585,7 +273,6 @@ All 50+ Piper voices AgentVibes provides are sourced from Hugging Face's open-so
585
273
  - [💡 Common Workflows](#-common-workflows) - Quick examples
586
274
  - [🔧 Advanced Features](#-advanced-features) - Custom voices & personalities
587
275
  - [🔊 Remote Audio Setup](#-remote-audio-setup) - Play TTS from remote servers
588
- - [🛠️ Technical Documentation](#️-technical-documentation) - Audio architecture, cross-platform support, voice resolution
589
276
  - [🚨 Security Hardening Guide](docs/security-hardening-guide.md) - **REQUIRED if running OpenClaw on remote server**: SSH hardening, Fail2Ban, Tailscale, UFW, AIDE
590
277
  - [🔬 Technical Deep Dive](docs/technical-deep-dive.md) - How AgentVibes works under the hood
591
278
  - [❓ Troubleshooting](#-troubleshooting) - Common issues & fixes
@@ -604,87 +291,99 @@ All 50+ Piper voices AgentVibes provides are sourced from Hugging Face's open-so
604
291
 
605
292
  ## 📰 Latest Release
606
293
 
607
- **[v4.6.7 - Party Mode TTS Fixes](https://github.com/paulpreibisch/AgentVibes/releases/tag/v4.6.7)**
608
-
609
- 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.
610
-
611
- ### 🐛 Recent Fixes (v4.6.3 / v4.6.4)
612
-
613
- - **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.
614
- - **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.
615
- - **macOS path symlink test fix** — `/var/folders/...` resolved to `/private/var/folders/...` in test assertions.
294
+ **[v3.6.0 - "Voice Explorer" Release](https://github.com/paulpreibisch/AgentVibes/releases/tag/v3.6.0)** 🎉
616
295
 
617
- ### 🎭 BMAD Party Mode — Multi-Agent Voice Conversations
296
+ ### 🎤 AgentVibes Voice Browser
618
297
 
619
- 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.
298
+ **Browse and sample 914 voices in real-time!**
620
299
 
621
- 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.
622
-
623
- **Auto-enabled** — party mode activates automatically when BMAD is detected. Configure agents visually:
300
+ ![AgentVibes Voice Browser](docs/installation-screenshots/voice-browser-screenshot.png)
624
301
 
625
302
  ```bash
626
- npx agentvibes # Press B for BMad Tab
303
+ npx agentvibes-voice-browser
627
304
  ```
628
305
 
629
- **Each agent gets:**
630
- - 🎙️ **Their own voice** 914 to choose from, or auto-assign gender-aware
631
- - 🎵 **Their own music track** cinematic for the Architect, lo-fi for the Dev
632
- - 🎚️ **Their own volume** — fine-tune per-agent, or bulk-set all at once
633
- - 🎛️ **Their own reverb** studio, hall, cathedral, room, or none
634
- - 💬 **Their own pretext** "Winston says:..." before every line
635
- - 🎭 **Their own personality** — sarcastic, dramatic, pirate, cheerful...
636
- - 🔇 **No overlap** — agents wait for full audio before the next one speaks
637
- - ✨ **Markdown stripped** — no "asterisk asterisk" in TTS output
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
638
312
 
639
- ### 🎛️ BMad Tab — Full Visual Agent Configurator
313
+ **914 Total Voices:**
314
+ - 904 Piper speaker variations (libritts-high)
315
+ - 10 curated personality voices
640
316
 
641
- Manage every agent from an interactive table — same polish as the Voices tab:
317
+ ### 🎯 Major Features
642
318
 
643
- | Key | Action |
644
- |-----|--------|
645
- | `Space` | Preview agent with full profile (animated spinner while playing) |
646
- | `Enter` | Configure voice, music, volume, reverb, personality, pretext |
647
- | `A` | Auto-assign unique voices (gender-aware, no repeats) |
648
- | `B` | Bulk Edit — set music / volume / pretext / reverb for all agents |
649
- | `X` | Reset agent to defaults |
650
-
651
- The table shows **Voice, Gender, Provider, Reverb, Music, Vol, Pretext** columns. Voice names are automatically beautified: `16Speakers::Rose_Ibex` → `Rose Ibex`.
652
-
653
- ### 🖥️ SSH Receiver — Hear Your Headless Server
654
-
655
- 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
656
323
 
657
324
  ```bash
658
- # Local: open TUI → Receiver tab → Start
659
- npx agentvibes
660
-
661
- # 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
662
328
  ```
663
329
 
664
- ### ~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
665
335
 
666
- - 6 Node.js profile reads collapsed into 1 (~900ms saved per speech)
667
- - `inotifywait` queue worker — no polling delay
668
- - Cache cleanup runs off the critical path
336
+ ```bash
337
+ npx agentvibes config intro-text
338
+ ```
669
339
 
670
- ### 🎨 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
671
348
 
672
- Full color in the TTS banner. Silence it without muting audio:
673
349
  ```bash
674
- touch ~/.agentvibes/banner-disabled # or: "turn off the TTS banner" via MCP
350
+ npx agentvibes config music
675
351
  ```
676
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
+
677
368
  ### Quick Install
678
369
 
679
370
  ```bash
371
+ # Install AgentVibes
680
372
  npx agentvibes install
373
+
374
+ # Launch Voice Browser
375
+ npx agentvibes-voice-browser
681
376
  ```
682
377
 
683
- 💡 **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
684
381
 
685
- 🐛 **Found a bug?** [GitHub Issues](https://github.com/paulpreibisch/AgentVibes/issues)
382
+ 💡 **Tip:** If `npx agentvibes` shows an older version, clear cache: `npm cache clean --force && npx agentvibes@latest --help`
686
383
 
687
- [→ 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)
384
+ 🐛 **Found a bug?** Report at [GitHub Issues](https://github.com/paulpreibisch/AgentVibes/issues)
385
+
386
+ [→ View Complete Release Notes](RELEASE_NOTES_v3.6.0.md) | [→ View All Releases](https://github.com/paulpreibisch/AgentVibes/releases)
688
387
 
689
388
  [↑ Back to top](#-table-of-contents)
690
389
 
@@ -736,20 +435,6 @@ Just code normally - AgentVibes automatically speaks task acknowledgments and co
736
435
 
737
436
  ---
738
437
 
739
- ### TUI Console Commands
740
-
741
- 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.
742
-
743
- | Command | Description |
744
- |---------|-------------|
745
- | `npx agentvibes` | Smart detection — opens Settings if installed, Install if not |
746
- | `npx agentvibes install` | Open the Install tab directly |
747
- | `npx agentvibes config` | Open the Settings tab directly |
748
-
749
- 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.
750
-
751
- ---
752
-
753
438
  **🍎 macOS Users (One-Time Setup):**
754
439
  ```bash
755
440
  brew install bash # Required for bash 5.x features
@@ -762,6 +447,67 @@ macOS ships with bash 3.2 (from 2007). After this, everything works perfectly!
762
447
 
763
448
  [↑ Back to top](#-table-of-contents)
764
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
+
765
511
  [↑ Back to top](#-table-of-contents)
766
512
 
767
513
  ---
@@ -1109,11 +855,24 @@ AgentVibes provides **50+ slash commands** and **natural language MCP equivalent
1109
855
 
1110
856
  **[→ View Complete Command Reference](docs/commands.md)** - All voice, system, personality, sentiment, language, and BMAD commands with MCP equivalents
1111
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
+
1112
870
  ### Intro Text Commands
1113
871
 
1114
872
  ```bash
1115
- # Configure intro text — open Settings tab
1116
- npx agentvibes
873
+ # Configure intro text
874
+ /agent-vibes:config intro-text
875
+ npx agentvibes config intro-text
1117
876
 
1118
877
  # View current intro text
1119
878
  cat ~/.claude/config/intro-text.txt
@@ -1129,8 +888,16 @@ cat ~/.claude/config/intro-text.txt
1129
888
  ### Custom Music Commands
1130
889
 
1131
890
  ```bash
1132
- # Configure background music — open Music tab
1133
- 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
1134
901
  ```
1135
902
 
1136
903
  **MCP Equivalent:**
@@ -1238,7 +1005,7 @@ Every task acknowledgment plays **twice** - first in English, then in your targe
1238
1005
 
1239
1006
  ## 🗣️ Voice Library
1240
1007
 
1241
- 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`.
1242
1009
 
1243
1010
  ### Friendly Voice Names
1244
1011
 
@@ -1331,85 +1098,6 @@ This design means **any TTS provider** can integrate with BMAD by replacing thes
1331
1098
 
1332
1099
  ---
1333
1100
 
1334
- ## 🤝 GitHub Copilot Integration
1335
-
1336
- **Use AgentVibes with GitHub Copilot in VS Code — same voices, same personalities, same MCP tools!**
1337
-
1338
- Copilot discovers AgentVibes through two mechanisms:
1339
-
1340
- 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)
1341
- 2. **`.vscode/mcp.json`** — registers the AgentVibes MCP server so Copilot can call `text_to_speech`, `set_voice`, and other tools
1342
-
1343
- ### Setup
1344
-
1345
- **Step 1: Install AgentVibes** (if you haven't already)
1346
-
1347
- ```bash
1348
- npx agentvibes install
1349
- ```
1350
-
1351
- **Step 2: Configure VS Code MCP**
1352
-
1353
- Open the AgentVibes console and go to the **LLM** tab (press `L`):
1354
-
1355
- ```bash
1356
- npx agentvibes
1357
- ```
1358
-
1359
- 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.
1360
-
1361
- You can also create `.vscode/mcp.json` manually in your project root:
1362
-
1363
- ```json
1364
- {
1365
- "servers": {
1366
- "agentvibes": {
1367
- "type": "stdio",
1368
- "command": "npx",
1369
- "args": ["-y", "--package=agentvibes", "agentvibes-mcp-server"]
1370
- }
1371
- }
1372
- }
1373
- ```
1374
-
1375
- VS Code starts the MCP server automatically when Copilot needs it — no manual server launch required.
1376
-
1377
- **Step 3: Verify**
1378
-
1379
- 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.
1380
-
1381
- ### What Copilot Can Do
1382
-
1383
- Through the MCP tools, Copilot has the same voice capabilities as Claude Code:
1384
-
1385
- | Tool | What it does |
1386
- |------|-------------|
1387
- | `text_to_speech` | Speak text aloud |
1388
- | `set_voice` | Switch voices (e.g., "ryan", "katherine") |
1389
- | `set_personality` | Change personality (sarcastic, pirate, zen) |
1390
- | `set_speed` | Adjust speech rate |
1391
- | `set_verbosity` | Control detail level (low/medium/high) |
1392
- | `mute` / `unmute` | Toggle audio |
1393
- | `get_config` | Read current settings |
1394
-
1395
- ### BMAD Party Mode
1396
-
1397
- 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.
1398
-
1399
- ### Differences from Claude Code
1400
-
1401
- | Feature | Claude Code | Copilot in VS Code |
1402
- |---------|------------|-------------|
1403
- | TTS Protocol | Injected via session-start hook | Read from `.github/copilot-instructions.md` |
1404
- | MCP config | `.mcp.json` (project root) | `.vscode/mcp.json` |
1405
- | Server lifecycle | Managed by Claude Code | Managed by VS Code (auto-start) |
1406
- | MCP tools | Same | Same |
1407
- | BMAD party mode | Supported | Supported |
1408
-
1409
- [↑ Back to top](#-table-of-contents)
1410
-
1411
- ---
1412
-
1413
1101
  ## 🤖 OpenClaw Integration
1414
1102
 
1415
1103
  **Use AgentVibes TTS with OpenClaw - the revolutionary AI assistant you can access via any instant messenger!**
@@ -2189,19 +1877,19 @@ Both do the exact same thing - MCP is more convenient, slash commands are more t
2189
1877
  - **Optional**: sox (audio effects), ffmpeg (background music, padding)
2190
1878
  - All TTS generation works without optional dependencies - they just enhance the experience
2191
1879
 
2192
- ### Voice Features
1880
+ ### Voice Browser & New Features
2193
1881
 
2194
- **Q: How do I browse and install voices?**
2195
- **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.
2196
1884
 
2197
1885
  **Q: What are friendly voice names?**
2198
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.
2199
1887
 
2200
1888
  **Q: How do I set up custom intro text?**
2201
- **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.
2202
1890
 
2203
1891
  **Q: Can I use my own background music?**
2204
- **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.
2205
1893
 
2206
1894
  **Q: What's the recommended duration for custom music?**
2207
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.
@@ -2209,11 +1897,14 @@ Both do the exact same thing - MCP is more convenient, slash commands are more t
2209
1897
  **Q: Are friendly voice names case-sensitive?**
2210
1898
  **A:** No! You can type "ryan", "Ryan", or "RYAN" - they all work. The voice resolution is case-insensitive.
2211
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
+
2212
1903
  **Q: Does custom music work with all TTS providers?**
2213
1904
  **A:** Yes! Custom background music works with Piper TTS, Soprano, macOS Say, and Windows SAPI.
2214
1905
 
2215
1906
  **Q: Can I preview music before setting it as my background?**
2216
- **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.
2217
1908
 
2218
1909
  **Q: What security measures protect custom music uploads?**
2219
1910
  **A:** AgentVibes implements **defense-in-depth security with 7 validation layers**, tested against 180+ attack variations: