agentvibes 5.10.1 → 5.11.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 (160) hide show
  1. package/.agentvibes/config.json +15 -1
  2. package/.agentvibes/install-manifest.json +342 -0
  3. package/.claude/audio/ui/CREDITS.txt +16 -0
  4. package/.claude/audio/ui/bling-success.wav +0 -0
  5. package/.claude/commands/agent-vibes/receiver.md +64 -0
  6. package/.claude/commands/agent-vibes-bmad-voices.md +117 -117
  7. package/.claude/commands/agent-vibes-rdp.md +24 -24
  8. package/.claude/config/audio-effects.cfg +5 -4
  9. package/.claude/config/audio-effects.cfg.sample +52 -52
  10. package/.claude/config/background-music-enabled.txt +1 -1
  11. package/.claude/config/background-music-position.txt +27 -0
  12. package/.claude/config/background-music-volume.txt +1 -0
  13. package/.claude/config/background-music.cfg +1 -0
  14. package/.claude/config/background-music.txt +1 -0
  15. package/.claude/config/language.txt +1 -0
  16. package/.claude/config/personality.txt +1 -0
  17. package/.claude/config/reverb-level.txt +1 -0
  18. package/.claude/config/tts-speech-rate.txt +1 -0
  19. package/.claude/config/tts-verbosity.txt +1 -0
  20. package/.claude/docs/TERMUX_SETUP.md +408 -408
  21. package/.claude/github-star-reminder.txt +1 -1
  22. package/.claude/hooks/audio-cache-utils.sh +0 -0
  23. package/.claude/hooks/audio-processor.sh +57 -18
  24. package/.claude/hooks/background-music-manager.sh +0 -0
  25. package/.claude/hooks/bmad-party-speak.sh +0 -0
  26. package/.claude/hooks/bmad-speak-enhanced.sh +0 -0
  27. package/.claude/hooks/bmad-speak.sh +0 -0
  28. package/.claude/hooks/bmad-tts-injector.sh +0 -0
  29. package/.claude/hooks/bmad-voice-manager.sh +0 -0
  30. package/.claude/hooks/clawdbot-receiver-SECURE.sh +0 -0
  31. package/.claude/hooks/clawdbot-receiver.sh +0 -0
  32. package/.claude/hooks/clean-audio-cache.sh +0 -0
  33. package/.claude/hooks/cleanup-cache.sh +0 -0
  34. package/.claude/hooks/configure-rdp-mode.sh +0 -0
  35. package/.claude/hooks/download-extra-voices.sh +0 -0
  36. package/.claude/hooks/effects-manager.sh +0 -0
  37. package/.claude/hooks/github-star-reminder.sh +0 -0
  38. package/.claude/hooks/kokoro-installer.sh +117 -0
  39. package/.claude/hooks/kokoro-server.py +219 -0
  40. package/.claude/hooks/kokoro-tts.py +141 -0
  41. package/.claude/hooks/language-manager.sh +0 -0
  42. package/.claude/hooks/learn-manager.sh +0 -0
  43. package/.claude/hooks/macos-voice-manager.sh +0 -0
  44. package/.claude/hooks/migrate-background-music.sh +0 -0
  45. package/.claude/hooks/migrate-to-agentvibes.sh +0 -0
  46. package/.claude/hooks/optimize-background-music.sh +0 -0
  47. package/.claude/hooks/path-resolver.sh +0 -0
  48. package/.claude/hooks/personality-manager.sh +0 -0
  49. package/.claude/hooks/piper-download-voices.sh +39 -16
  50. package/.claude/hooks/piper-installer.sh +11 -6
  51. package/.claude/hooks/piper-multispeaker-registry.sh +0 -0
  52. package/.claude/hooks/piper-voice-manager.sh +6 -6
  53. package/.claude/hooks/play-tts-agentvibes-receiver-for-voiceless-connections.sh +3 -1
  54. package/.claude/hooks/play-tts-agentvibes-receiver.sh +1 -0
  55. package/.claude/hooks/play-tts-elevenlabs.sh +360 -0
  56. package/.claude/hooks/play-tts-enhanced.sh +0 -0
  57. package/.claude/hooks/play-tts-kokoro.sh +127 -0
  58. package/.claude/hooks/play-tts-macos.sh +0 -0
  59. package/.claude/hooks/play-tts-piper.sh +0 -0
  60. package/.claude/hooks/play-tts-soprano.sh +0 -0
  61. package/.claude/hooks/play-tts-ssh-remote.sh +9 -2
  62. package/.claude/hooks/play-tts-termux-ssh.sh +3 -1
  63. package/.claude/hooks/play-tts-windows-receiver.sh +0 -0
  64. package/.claude/hooks/play-tts.sh +78 -2
  65. package/.claude/hooks/prepare-release.sh +0 -0
  66. package/.claude/hooks/provider-commands.sh +71 -22
  67. package/.claude/hooks/provider-manager.sh +15 -7
  68. package/.claude/hooks/replay-target-audio.sh +0 -0
  69. package/.claude/hooks/requirements.txt +6 -6
  70. package/.claude/hooks/sentiment-manager.sh +0 -0
  71. package/.claude/hooks/session-start-tts.sh +0 -0
  72. package/.claude/hooks/soprano-gradio-synth.py +139 -139
  73. package/.claude/hooks/speed-manager.sh +0 -0
  74. package/.claude/hooks/stop-tts.sh +0 -0
  75. package/.claude/hooks/termux-installer.sh +0 -0
  76. package/.claude/hooks/translate-manager.sh +0 -0
  77. package/.claude/hooks/translator.py +237 -237
  78. package/.claude/hooks/tts-queue-worker.sh +0 -0
  79. package/.claude/hooks/tts-queue.sh +0 -0
  80. package/.claude/hooks/verbosity-manager.sh +0 -0
  81. package/.claude/hooks/voice-manager.sh +0 -0
  82. package/.claude/hooks-windows/audio-cache-utils.ps1.user.bak +119 -0
  83. package/.claude/hooks-windows/kokoro-server.py +219 -0
  84. package/.claude/hooks-windows/kokoro-tts.py +107 -0
  85. package/.claude/hooks-windows/play-tts-kokoro.ps1 +191 -0
  86. package/.claude/hooks-windows/play-tts.ps1 +29 -1
  87. package/.claude/hooks-windows/soprano-gradio-synth.py +153 -153
  88. package/.claude/hooks-windows/soprano-gradio-synth.py.user.bak +153 -0
  89. package/.claude/piper-voices-dir.txt +1 -0
  90. package/.claude/verbosity.txt +1 -1
  91. package/.clawdbot/README.md +105 -105
  92. package/.mcp.json +6 -19
  93. package/README.md +12 -86
  94. package/RELEASE_NOTES.md +60 -0
  95. package/WINDOWS-SETUP.md +208 -208
  96. package/bin/agent-vibes +39 -39
  97. package/bin/agentvibes-voice-browser.js +0 -0
  98. package/bin/agentvibes.js +0 -0
  99. package/bin/mcp-server.js +121 -121
  100. package/bin/mcp-server.sh +0 -0
  101. package/bin/test-bmad-pr +78 -78
  102. package/mcp-server/QUICK_START.md +203 -203
  103. package/mcp-server/README.md +345 -345
  104. package/mcp-server/WINDOWS_SETUP.md +0 -0
  105. package/mcp-server/examples/claude_desktop_config.json +11 -11
  106. package/mcp-server/examples/claude_desktop_config_piper.json +9 -9
  107. package/mcp-server/examples/custom_instructions.md +169 -169
  108. package/mcp-server/install-deps.js +0 -0
  109. package/mcp-server/server.py +1807 -1807
  110. package/mcp-server/test_server.py +0 -0
  111. package/package.json +4 -3
  112. package/src/cli/list-personalities.js +110 -110
  113. package/src/cli/list-voices.js +114 -114
  114. package/src/commands/bmad-voices.js +394 -394
  115. package/src/commands/install-mcp.js +3 -3
  116. package/src/console/app.js +25 -9
  117. package/src/console/audio-env.js +85 -1
  118. package/src/console/brand-colors.js +13 -13
  119. package/src/console/constants/personalities.js +44 -44
  120. package/src/console/navigation.js +4 -0
  121. package/src/console/tabs/agents-tab.js +12 -6
  122. package/src/console/tabs/help-tab.js +314 -314
  123. package/src/console/tabs/music-tab.js +7 -25
  124. package/src/console/tabs/readme-tab.js +272 -272
  125. package/src/console/tabs/setup-tab.js +1704 -120
  126. package/src/console/tabs/voices-tab.js +72 -88
  127. package/src/console/widgets/destroy-list.js +25 -25
  128. package/src/console/widgets/format-utils.js +14 -2
  129. package/src/console/widgets/help-bar.js +55 -0
  130. package/src/console/widgets/notice.js +55 -55
  131. package/src/console/widgets/reverb-picker.js +429 -41
  132. package/src/console/widgets/track-picker.js +60 -51
  133. package/src/i18n/de.js +2 -1
  134. package/src/i18n/en.js +1 -0
  135. package/src/i18n/es.js +2 -1
  136. package/src/i18n/fr.js +2 -1
  137. package/src/i18n/hi.js +2 -1
  138. package/src/i18n/ja.js +2 -1
  139. package/src/i18n/ko.js +2 -1
  140. package/src/i18n/pt.js +2 -1
  141. package/src/i18n/strings.js +9 -9
  142. package/src/i18n/zh-CN.js +2 -1
  143. package/src/installer/language-screen.js +31 -31
  144. package/src/installer/music-file-input.js +304 -304
  145. package/src/installer.js +95 -7
  146. package/src/services/config-service.js +264 -264
  147. package/src/services/language-service.js +47 -47
  148. package/src/services/provider-service.js +35 -0
  149. package/src/services/provider-voice-catalog.js +126 -0
  150. package/src/services/tts-engine-service.js +51 -2
  151. package/src/utils/audio-duration-validator.js +53 -10
  152. package/src/utils/audio-format-validator.js +277 -277
  153. package/src/utils/dependency-checker.js +469 -469
  154. package/src/utils/file-ownership-verifier.js +358 -358
  155. package/src/utils/music-file-validator.js +285 -285
  156. package/src/utils/preview-list-prompt.js +144 -136
  157. package/src/utils/provider-validator.js +70 -0
  158. package/src/utils/secure-music-storage.js +412 -412
  159. package/templates/agentvibes-receiver.sh +235 -231
  160. package/templates/audio/welcome-music.mp3 +0 -0
package/.mcp.json CHANGED
@@ -1,34 +1,21 @@
1
1
  {
2
2
  "mcpServers": {
3
- "firecrawl": {
4
- "command": "npx",
5
- "args": [
6
- "firecrawl-mcp"
7
- ]
8
- },
9
- "context7": {
3
+ "firecrawl-mcp": {
10
4
  "command": "npx",
11
5
  "args": [
12
6
  "-y",
13
- "@upstash/context7-mcp"
14
- ],
15
- "env": {
16
- "CONTEXT7_API_KEY": "${CONTEXT7_API_KEY}"
17
- }
18
- }
19
- }
20
- }
21
- awl-mcp"
7
+ "firecrawl-mcp"
22
8
  ]
23
9
  },
24
- "context7": {
10
+ "agentvibes": {
25
11
  "command": "npx",
26
12
  "args": [
27
13
  "-y",
28
- "@upstash/context7-mcp"
14
+ "--package=agentvibes",
15
+ "agentvibes-mcp-server"
29
16
  ],
30
17
  "env": {
31
- "CONTEXT7_API_KEY": "${CONTEXT7_API_KEY}"
18
+ "AGENTVIBES_MCP_FALLBACK": "copilot"
32
19
  }
33
20
  }
34
21
  }
package/README.md CHANGED
@@ -11,7 +11,7 @@
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.10.0
14
+ **Author**: Paul Preibisch ([@997Fire](https://x.com/997Fire)) | **Version**: v5.11.0
15
15
 
16
16
  ---
17
17
 
@@ -347,7 +347,7 @@ All 50+ Piper voices AgentVibes provides are sourced from Hugging Face's open-so
347
347
  - [🎤 Voices Tab](#-voices-tab) - Browse & sample 914 voices in the TUI
348
348
  - [💬 Intro Text](#-intro-text-pretext---your-personal-ai-branding) - Custom TTS prefixes
349
349
  - [🎵 Custom Background Music](#-custom-background-music---complete-audio-control) - Upload your own tracks
350
- - [📰 Latest Release](#-latest-release) - v5.5.0 with Per-LLM Audio Routing, Windows Installer Resilience
350
+ - [📰 Latest Release](#-latest-release) - v5.11.0 with Kokoro & ElevenLabs Providers, Audio Effects
351
351
  - [🪟 Windows Setup Guide for Claude Desktop](mcp-server/WINDOWS_SETUP.md) - Complete Windows installation with WSL & Python
352
352
 
353
353
  ### AgentVibes MCP (Natural Language Control)
@@ -394,94 +394,20 @@ All 50+ Piper voices AgentVibes provides are sourced from Hugging Face's open-so
394
394
 
395
395
  ## 📰 Latest Release
396
396
 
397
- **[v3.6.0 - "Voice Explorer" Release](https://github.com/paulpreibisch/AgentVibes/releases/tag/v5.7.5)** 🎉
397
+ **[v5.11.0 Kokoro & ElevenLabs Providers + Audio Effects](https://github.com/paulpreibisch/AgentVibes/releases/tag/v5.11.0)** 🎉
398
398
 
399
- ### 🎤 Voices Tab Browse & Sample 914 Voices
399
+ AgentVibes 5.11.0 adds two new TTS engines, combinable audio effects, a streamlined voices tab, and a deterministically green test suite.
400
400
 
401
- **Built into the TUI — launch with `npx agentvibes` then press V**
401
+ ### Highlights
402
402
 
403
- ![AgentVibes Voices Tab](https://raw.githubusercontent.com/paulpreibisch/AgentVibes/master/docs/installation-screenshots/screenshot-voices.png)
403
+ - **🆕 Kokoro provider** — high-quality **local neural** voices (CPU, no GPU needed), including Chinese / Japanese / Korean, with in-TUI dependency install.
404
+ - **🆕 ElevenLabs provider** — premium **cloud** voices via an in-app API-key dialog.
405
+ - **🎚️ Combinable audio effects** — stack **Reverb** (Room / Hall / Cathedral), **Echo** (short / cave), and **Chorus**; preview live with Space.
406
+ - **🪟 Windows SAPI** routing fixed, and a **🎨 unified selector chrome** across every picker.
407
+ - **🎤 Streamlined voices tab** — keystroke-only (Enter selects, `f` favorites ★); **BMAD auto-assign** now follows the active provider.
408
+ - **🧪 Rock-solid CI** — eliminated the flaky failures; the test suite is deterministically green.
404
409
 
405
- - 🎧 Real-time voice sampling - press Space to hear before you choose
406
- - ⭐ Favorite system - mark your top voices
407
- - 🔍 Search & filter - find voices by personality, accent, gender
408
- - 📦 One-click select - press Enter to install directly
409
- - 🎨 Beautiful UI - built into the AgentVibes TUI
410
-
411
- **914 Total Voices:**
412
- - 904 Piper speaker variations (libritts-high)
413
- - 10 curated personality voices
414
-
415
- ### 🎯 Major Features
416
-
417
- **🏷️ Friendly Voice Names**
418
- - No more cryptic IDs! Switch voices with names like "Ryan", "Joe", "Sarah"
419
- - All 904+ voices have memorable, personality-matched names
420
- - Voice metadata includes personalities, accents, and recommendations
421
-
422
- ```bash
423
- # Before: /agent-vibes:switch en_US-libritts_r-medium-speaker-123
424
- # After:
425
- /agent-vibes:switch Ryan
426
- ```
427
-
428
- **💬 Intro Text (Pretext) Feature**
429
- - Custom prefix for all TTS announcements
430
- - Set during installation or anytime after
431
- - Perfect for personal branding: "FireBot: Starting analysis..."
432
- - Up to 50 characters, UTF-8 and emoji support
433
-
434
- ```bash
435
- npx agentvibes config intro-text
436
- ```
437
-
438
- **🎵 Custom Background Music**
439
- - Upload your own audio files (.mp3, .wav, .ogg, .m4a)
440
- - **Battle-tested security:** 180+ attack variations blocked
441
- - Magic number validation ensures real audio files
442
- - File ownership verification (UID checks)
443
- - Audio duration validation (30-90s recommended, 300s max)
444
- - Secure storage with 600 permissions
445
- - Perfect for team audio branding
446
-
447
- ```bash
448
- npx agentvibes config music
449
- ```
450
-
451
- **🎨 Interactive Installer**
452
- - Preview voices during installation
453
- - Sample all 16 background music tracks
454
- - Audio environment auto-detection
455
- - Cross-platform preview support
456
-
457
- **🛡️ Security Hardening**
458
- - **180+ attack variations tested** - Path traversal, symlinks, Unicode, null bytes
459
- - **100% attack rejection rate** - All malicious attempts blocked
460
- - **OWASP compliant** - CWE-22 path traversal prevention verified
461
- - **Production certified** - Comprehensive security audit completed
462
- - **Defense-in-depth** - 7 validation layers protect your system
463
- - File ownership verification and secure storage (600 permissions)
464
- - Security audit report: `docs/security/SECURITY-AUDIT.md`
465
-
466
- ### Quick Install
467
-
468
- ```bash
469
- # Install AgentVibes
470
- npx agentvibes install
471
-
472
- # Browse voices in the TUI
473
- npx agentvibes # press V for Voices tab
474
- ```
475
-
476
- **🐞 Bug Fixes in v3.6.0:**
477
- - Fixed `get_verbosity` MCP tool returning wrong level after fresh install (now reads from correct project directory, defaults to `high`)
478
- - Fixed Voice Browser Soprano TTS detection, Custom Music race conditions, installer emoji rendering
479
-
480
- 💡 **Tip:** If `npx agentvibes` shows an older version, clear cache: `npm cache clean --force && npx agentvibes@latest --help`
481
-
482
- 🐛 **Found a bug?** Report at [GitHub Issues](https://github.com/paulpreibisch/AgentVibes/issues)
483
-
484
- [→ View Complete Release Notes](RELEASE_NOTES_v3.6.0.md) | [→ View All Releases](https://github.com/paulpreibisch/AgentVibes/releases)
410
+ 📖 Full details: [RELEASE_NOTES.md](RELEASE_NOTES.md) | [→ All Releases](https://github.com/paulpreibisch/AgentVibes/releases)
485
411
 
486
412
  [↑ Back to top](#-table-of-contents)
487
413
 
package/RELEASE_NOTES.md CHANGED
@@ -1,5 +1,65 @@
1
1
  # AgentVibes Release Notes
2
2
 
3
+ ## 🎙️ v5.11.0 — Kokoro & ElevenLabs Providers, Unified Pickers, Windows SAPI, Rock-Solid CI
4
+
5
+ **Released:** 2026-06-26
6
+
7
+ This is a big one. AgentVibes gains two new TTS engines — **Kokoro** (high-quality local neural voices, including Chinese/Japanese/Korean) and **ElevenLabs** (premium cloud voices) — combinable audio effects, a unified selector UI, a Windows SAPI routing fix, and a deterministically green test suite. It also rolls up everything from the earlier 5.11.0 preview (LibriTTS 900+ voices, setup UX).
8
+
9
+ ### 🆕 New TTS Provider: Kokoro (local neural voices)
10
+ - Browse and preview Kokoro voices from the Setup tab using the standardized picker.
11
+ - **CPU synthesis** path so it runs without a GPU.
12
+ - Smart dependency detection with in-TUI install dialogs — installs `kokoro`, `soundfile`, and `numpy` together, with a real progress bar (not just a spinner).
13
+ - **CJK support**: Chinese, Japanese, and Korean voices, with per-language `misaki` / `pyopenjtalk` dependency handling and native sample phrases.
14
+ - Windows playback fixed (Forms assembly load, correct paths, clearer exit-code errors).
15
+ - A readiness "bling" cue (bundled CC0 sound) signals when a voice is ready to preview.
16
+
17
+ ### 🆕 New TTS Provider: ElevenLabs (premium cloud voices)
18
+ - API-key dialog built into the Setup tab, with a navigation hint and Escape-to-close.
19
+ - Routed through the same per-LLM voice system as every other provider.
20
+
21
+ ### 🎚️ New: Combinable Audio Effects — Reverb · Echo · Chorus
22
+ Give any voice real character. A new multi-select effects modal lets you stack **reverb**, **echo**, and **chorus** independently:
23
+ - **Reverb:** Room, Hall, Cathedral, and Warm (reverb + bass).
24
+ - **Echo:** Echo (short delay) and Cave Echo (long) — brand new; there was no echo before.
25
+ - **Chorus** for a richer, doubled timbre.
26
+ - Effects **combine** (e.g. a little reverb *plus* a short echo), preview live with Space, and the picker now speaks the effect name and shows a spinner while auditioning.
27
+
28
+ ### 🎨 Unified Selector Chrome
29
+ - All selector pickers (voices, tracks, reverb/effects) now share a common help bar, title style, and a fixed-width voice-row formatter — a consistent look and aligned status columns across every picker.
30
+
31
+ ### 🪟 Windows SAPI Routing Fixed
32
+ - The bash hook router now recognizes the `sapi` / `windows-sapi` provider and routes to `play-tts-sapi.ps1` correctly (previously errored with "Unknown provider: sapi").
33
+
34
+ ### 🎤 Voices & BMAD Tab Improvements
35
+ - **Streamlined, keystroke-only voice list.** Removed the redundant Switch / Favorite / Download button row — **Enter** selects (and downloads an uninstalled Piper voice first), **Space** previews, and **`f`** toggles a favorite ★. Thumbs-up/thumbs-down collapsed into a single favorite star.
36
+ - **Removed the confusing "Install BMAD Voices" button.** Bulk voice downloads are available from the CLI (`npx agentvibes voices download`) instead.
37
+ - **BMAD auto-assign now respects the active provider.** Pressing **[A] Auto-assign** previously always picked Piper voices; it now assigns voices from whichever provider is currently selected (Piper, Kokoro, ElevenLabs, soprano, …).
38
+
39
+ ### 🎛️ Picker & Preview Polish
40
+ - **Effects preview:** correct voice + effect routing, an inline spinner on the item row, and a `pyopenjtalk` install prompt where needed.
41
+ - **Track picker:** uses an `ffmpeg → pacat` pipe on headless PulseAudio TCP servers so previews work in remote/headless setups.
42
+ - **Navigation:** pressing a tab's shortcut key while already on that tab is now a no-op.
43
+
44
+ ### 🧪 Rock-Solid CI (no more flaky failures)
45
+ - Eliminated the intermittent CI red: fixed a `blessed.log()`-after-teardown crash in the Voices tab that randomly failed an innocent test file, and added a coverage runner (`scripts/run-coverage.mjs`) that gates on the actual reported test results instead of node's flaky `--test-force-exit` exit code. Real failures still fail the build; node's force-exit artifacts are tolerated.
46
+ - Test audio is fully silenced during runs (marker file + env flags) so the suite never bleeds to your speakers.
47
+
48
+ ### 🐛 Audio Robustness Fixes
49
+ - `getAudioDuration()` now attaches an error listener to its `which ffprobe` probe (previously this could throw an unhandled error and crash on Windows, where `which` doesn't exist) and bounds both spawns with 5s/10s timeouts so a stalled `ffprobe` can never hang the caller.
50
+ - The interactive voice-preview prompt now releases (`pause()`) the stdin handle it opens, so the process exits cleanly instead of lingering.
51
+
52
+ ### 📦 Also in 5.11.0 (earlier preview)
53
+ - LibriTTS 900+ voice library offer during install (~114 MB, 904 speakers).
54
+ - Linux Piper install now uses the project's own `piper-installer.sh --non-interactive`.
55
+ - Setup tab: spinner during engine install, smarter Tab navigation to Continue, install timeout raised to 30 minutes.
56
+
57
+ ### 🛡️ Quality
58
+ - Full test suite green. New audio code covered: `audio-duration-validator` 96%, `preview-list-prompt` 90%.
59
+ - Known pre-existing: `piper-voice-manager.sh` / `piper-installer.sh` use partial shell strict mode; tracked for a future hardening pass.
60
+
61
+ ---
62
+
3
63
  ## 🔧 v5.9.0 — SSH Remote + Windows Home Directory Fixes
4
64
 
5
65
  **Released:** 2026-05-18
package/WINDOWS-SETUP.md CHANGED
@@ -1,208 +1,208 @@
1
- # AgentVibes Windows Native Setup
2
-
3
- This folder contains AgentVibes configured for **native Windows** (not WSL) with three TTS providers available.
4
-
5
- ## Quick Start
6
-
7
- ### 1. Open in VS Code (Native Windows)
8
-
9
- - **File > Open Folder** > Select this folder (`agentvibes-in-windows`)
10
- - Make sure you're opening in **native Windows VS Code** (not WSL remote)
11
-
12
- ### 2. Open PowerShell Terminal
13
-
14
- - **Terminal > New Terminal**
15
- - Change shell to **PowerShell** (if needed)
16
-
17
- ### 3. Run Setup
18
-
19
- ```powershell
20
- .\setup-windows.ps1
21
- ```
22
-
23
- This script will:
24
- - Check PowerShell version (5.1+)
25
- - Create `.claude` directories
26
- - Let you choose TTS provider (Piper or SAPI)
27
- - Install Piper if you choose it
28
- - Download a default voice model
29
- - Test TTS
30
- - Configure for first use
31
-
32
- ### 4. Install Dependencies
33
-
34
- ```powershell
35
- npm install
36
- ```
37
-
38
- ### 5. Start Using AgentVibes
39
-
40
- Open a Claude Code session in this project. The SessionStart hook will automatically inject TTS protocol instructions, causing Claude to speak all responses.
41
-
42
- ## TTS Providers
43
-
44
- ### Option 1: Soprano (Best Quality)
45
- - **Quality**: Ultra-high (80M parameter neural model)
46
- - **Voices**: Single high-quality voice (Soprano-1.1-80M)
47
- - **Download**: `pip install soprano-tts`
48
- - **Setup**: Start WebUI with `soprano-webui` or API with `uvicorn soprano.server:app`
49
- - **Speed**: GPU-accelerated, very fast
50
- - **Features**: Gradio WebUI mode, OpenAI-compatible API mode, CLI fallback
51
-
52
- To set up Soprano:
53
- ```powershell
54
- # Install Soprano
55
- pip install soprano-tts
56
-
57
- # Start WebUI (recommended - stays running in background)
58
- soprano-webui
59
-
60
- # Set provider
61
- .\.claude\hooks-windows\provider-manager.ps1 set soprano
62
-
63
- # Test
64
- .\.claude\hooks-windows\play-tts-soprano.ps1 "Hello from Soprano"
65
- ```
66
-
67
- ### Option 2: Windows Piper (Recommended for Offline)
68
- - **Quality**: High (neural voices)
69
- - **Voices**: 50+ available
70
- - **Download**: ~100MB
71
- - **Setup**: Automatic (run `setup-windows.ps1`)
72
- - **Speed**: Offline synthesis
73
- - **Features**: All AgentVibes features supported
74
-
75
- ### Option 3: Windows SAPI (Built-in, Zero Setup)
76
- - **Quality**: Basic
77
- - **Voices**: ~10 built-in (David, Zira, Mark)
78
- - **Download**: 0 MB (no installation needed)
79
- - **Setup**: Select during `setup-windows.ps1`
80
- - **Speed**: Fast
81
- - **Features**: Core TTS only
82
-
83
- ## Claude Code Integration
84
-
85
- AgentVibes hooks into Claude Code via `.claude/settings.json`. The SessionStart hook runs automatically when Claude starts a session:
86
-
87
- ```json
88
- {
89
- "hooks": {
90
- "SessionStart": [{
91
- "hooks": [{
92
- "type": "command",
93
- "command": "powershell -NoProfile -ExecutionPolicy Bypass -File \"$CLAUDE_PROJECT_DIR\\.claude\\hooks-windows\\session-start-tts.ps1\""
94
- }]
95
- }]
96
- }
97
- }
98
- ```
99
-
100
- This injects TTS protocol instructions so Claude speaks every response using the configured provider.
101
-
102
- ## Manual Commands
103
-
104
- Test TTS manually:
105
-
106
- ```powershell
107
- # Test current provider
108
- .\.claude\hooks-windows\play-tts.ps1 "Hello from Windows"
109
-
110
- # Test specific providers
111
- .\.claude\hooks-windows\play-tts-windows-sapi.ps1 "Hello SAPI"
112
- .\.claude\hooks-windows\play-tts-windows-piper.ps1 "Hello Piper"
113
- .\.claude\hooks-windows\play-tts-soprano.ps1 "Hello Soprano"
114
-
115
- # List available voices
116
- .\.claude\hooks-windows\voice-manager-windows.ps1 list
117
-
118
- # Switch voice (for Piper/SAPI)
119
- .\.claude\hooks-windows\voice-manager-windows.ps1 switch "en_US-lessac-high"
120
-
121
- # List providers
122
- .\.claude\hooks-windows\provider-manager.ps1 list
123
-
124
- # Switch provider
125
- .\.claude\hooks-windows\provider-manager.ps1 set soprano
126
- .\.claude\hooks-windows\provider-manager.ps1 set windows-piper
127
- .\.claude\hooks-windows\provider-manager.ps1 set windows-sapi
128
- ```
129
-
130
- ## Troubleshooting
131
-
132
- ### PowerShell Execution Policy Error
133
-
134
- If you get an "execution policy" error, run:
135
-
136
- ```powershell
137
- Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
138
- ```
139
-
140
- Then try again.
141
-
142
- ### No Audio Playing
143
-
144
- 1. Check Windows volume isn't muted
145
- 2. Try switching to SAPI provider (zero-setup): `.\.claude\hooks-windows\provider-manager.ps1 set windows-sapi`
146
- 3. Test SAPI directly: `.\.claude\hooks-windows\play-tts-windows-sapi.ps1 "test"`
147
-
148
- ### Soprano Not Detected
149
-
150
- 1. Ensure soprano-webui is running: `soprano-webui`
151
- 2. Check port 7860 is accessible: `Test-NetConnection -ComputerName 127.0.0.1 -Port 7860`
152
- 3. Set custom port if needed: `$env:SOPRANO_PORT = "8080"` before running TTS
153
-
154
- ### Piper Installation Failed
155
-
156
- 1. Check internet connection
157
- 2. Run setup again: `.\setup-windows.ps1`
158
- 3. Or manually download from: https://github.com/rhasspy/piper/releases
159
-
160
- ### Can't Find Voice
161
-
162
- For Piper, voices are stored in: `%USERPROFILE%\.claude\piper-voices\`
163
-
164
- You can download additional voices with `.\download-piper-voices.ps1`.
165
-
166
- ## Architecture
167
-
168
- ```
169
- agentvibes-in-windows/
170
- ├── .claude/
171
- │ ├── hooks-windows/ # PowerShell TTS scripts
172
- │ │ ├── play-tts.ps1 # Main router (dispatches to active provider)
173
- │ │ ├── play-tts-soprano.ps1 # Soprano provider
174
- │ │ ├── play-tts-windows-piper.ps1 # Piper provider
175
- │ │ ├── play-tts-windows-sapi.ps1 # SAPI provider
176
- │ │ ├── soprano-gradio-synth.py # Python helper for Soprano Gradio API
177
- │ │ ├── provider-manager.ps1 # Provider switching
178
- │ │ ├── voice-manager-windows.ps1 # Voice management
179
- │ │ ├── session-start-tts.ps1 # SessionStart hook (injects TTS protocol)
180
- │ │ └── audio-cache-utils.ps1 # Audio cache cleanup
181
- │ ├── settings.json # Claude Code hooks config
182
- │ ├── audio/ # Audio cache (auto-created)
183
- │ ├── piper-voices/ # Piper voice models (auto-created)
184
- │ └── tts-provider.txt # Active provider config
185
- ├── setup-windows.ps1 # Installation script
186
- ├── download-piper-voices.ps1 # Download additional Piper voices
187
- └── WINDOWS-SETUP.md # This file
188
- ```
189
-
190
- ## What's Different from WSL
191
-
192
- | Feature | WSL Version | Windows Native |
193
- |---------|-------------|----------------|
194
- | **TTS Scripts** | Bash shell scripts (.sh) | PowerShell scripts (.ps1) |
195
- | **Audio** | PulseAudio/paplay | System.Media.SoundPlayer |
196
- | **Providers** | Piper, macOS, Termux, Soprano | Piper, SAPI, Soprano |
197
- | **Setup** | WSL + PulseAudio config | Native Windows only |
198
- | **Hook Dir** | `.claude/hooks/` | `.claude/hooks-windows/` |
199
-
200
- ## Support
201
-
202
- - **Documentation**: https://agentvibes.org
203
- - **Issues**: https://github.com/paulpreibisch/AgentVibes/issues
204
-
205
- ---
206
-
207
- **Version**: 2.0 (Windows Native + Soprano)
208
- **Last Updated**: 2026-02-11
1
+ # AgentVibes Windows Native Setup
2
+
3
+ This folder contains AgentVibes configured for **native Windows** (not WSL) with three TTS providers available.
4
+
5
+ ## Quick Start
6
+
7
+ ### 1. Open in VS Code (Native Windows)
8
+
9
+ - **File > Open Folder** > Select this folder (`agentvibes-in-windows`)
10
+ - Make sure you're opening in **native Windows VS Code** (not WSL remote)
11
+
12
+ ### 2. Open PowerShell Terminal
13
+
14
+ - **Terminal > New Terminal**
15
+ - Change shell to **PowerShell** (if needed)
16
+
17
+ ### 3. Run Setup
18
+
19
+ ```powershell
20
+ .\setup-windows.ps1
21
+ ```
22
+
23
+ This script will:
24
+ - Check PowerShell version (5.1+)
25
+ - Create `.claude` directories
26
+ - Let you choose TTS provider (Piper or SAPI)
27
+ - Install Piper if you choose it
28
+ - Download a default voice model
29
+ - Test TTS
30
+ - Configure for first use
31
+
32
+ ### 4. Install Dependencies
33
+
34
+ ```powershell
35
+ npm install
36
+ ```
37
+
38
+ ### 5. Start Using AgentVibes
39
+
40
+ Open a Claude Code session in this project. The SessionStart hook will automatically inject TTS protocol instructions, causing Claude to speak all responses.
41
+
42
+ ## TTS Providers
43
+
44
+ ### Option 1: Soprano (Best Quality)
45
+ - **Quality**: Ultra-high (80M parameter neural model)
46
+ - **Voices**: Single high-quality voice (Soprano-1.1-80M)
47
+ - **Download**: `pip install soprano-tts`
48
+ - **Setup**: Start WebUI with `soprano-webui` or API with `uvicorn soprano.server:app`
49
+ - **Speed**: GPU-accelerated, very fast
50
+ - **Features**: Gradio WebUI mode, OpenAI-compatible API mode, CLI fallback
51
+
52
+ To set up Soprano:
53
+ ```powershell
54
+ # Install Soprano
55
+ pip install soprano-tts
56
+
57
+ # Start WebUI (recommended - stays running in background)
58
+ soprano-webui
59
+
60
+ # Set provider
61
+ .\.claude\hooks-windows\provider-manager.ps1 set soprano
62
+
63
+ # Test
64
+ .\.claude\hooks-windows\play-tts-soprano.ps1 "Hello from Soprano"
65
+ ```
66
+
67
+ ### Option 2: Windows Piper (Recommended for Offline)
68
+ - **Quality**: High (neural voices)
69
+ - **Voices**: 50+ available
70
+ - **Download**: ~100MB
71
+ - **Setup**: Automatic (run `setup-windows.ps1`)
72
+ - **Speed**: Offline synthesis
73
+ - **Features**: All AgentVibes features supported
74
+
75
+ ### Option 3: Windows SAPI (Built-in, Zero Setup)
76
+ - **Quality**: Basic
77
+ - **Voices**: ~10 built-in (David, Zira, Mark)
78
+ - **Download**: 0 MB (no installation needed)
79
+ - **Setup**: Select during `setup-windows.ps1`
80
+ - **Speed**: Fast
81
+ - **Features**: Core TTS only
82
+
83
+ ## Claude Code Integration
84
+
85
+ AgentVibes hooks into Claude Code via `.claude/settings.json`. The SessionStart hook runs automatically when Claude starts a session:
86
+
87
+ ```json
88
+ {
89
+ "hooks": {
90
+ "SessionStart": [{
91
+ "hooks": [{
92
+ "type": "command",
93
+ "command": "powershell -NoProfile -ExecutionPolicy Bypass -File \"$CLAUDE_PROJECT_DIR\\.claude\\hooks-windows\\session-start-tts.ps1\""
94
+ }]
95
+ }]
96
+ }
97
+ }
98
+ ```
99
+
100
+ This injects TTS protocol instructions so Claude speaks every response using the configured provider.
101
+
102
+ ## Manual Commands
103
+
104
+ Test TTS manually:
105
+
106
+ ```powershell
107
+ # Test current provider
108
+ .\.claude\hooks-windows\play-tts.ps1 "Hello from Windows"
109
+
110
+ # Test specific providers
111
+ .\.claude\hooks-windows\play-tts-windows-sapi.ps1 "Hello SAPI"
112
+ .\.claude\hooks-windows\play-tts-windows-piper.ps1 "Hello Piper"
113
+ .\.claude\hooks-windows\play-tts-soprano.ps1 "Hello Soprano"
114
+
115
+ # List available voices
116
+ .\.claude\hooks-windows\voice-manager-windows.ps1 list
117
+
118
+ # Switch voice (for Piper/SAPI)
119
+ .\.claude\hooks-windows\voice-manager-windows.ps1 switch "en_US-lessac-high"
120
+
121
+ # List providers
122
+ .\.claude\hooks-windows\provider-manager.ps1 list
123
+
124
+ # Switch provider
125
+ .\.claude\hooks-windows\provider-manager.ps1 set soprano
126
+ .\.claude\hooks-windows\provider-manager.ps1 set windows-piper
127
+ .\.claude\hooks-windows\provider-manager.ps1 set windows-sapi
128
+ ```
129
+
130
+ ## Troubleshooting
131
+
132
+ ### PowerShell Execution Policy Error
133
+
134
+ If you get an "execution policy" error, run:
135
+
136
+ ```powershell
137
+ Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
138
+ ```
139
+
140
+ Then try again.
141
+
142
+ ### No Audio Playing
143
+
144
+ 1. Check Windows volume isn't muted
145
+ 2. Try switching to SAPI provider (zero-setup): `.\.claude\hooks-windows\provider-manager.ps1 set windows-sapi`
146
+ 3. Test SAPI directly: `.\.claude\hooks-windows\play-tts-windows-sapi.ps1 "test"`
147
+
148
+ ### Soprano Not Detected
149
+
150
+ 1. Ensure soprano-webui is running: `soprano-webui`
151
+ 2. Check port 7860 is accessible: `Test-NetConnection -ComputerName 127.0.0.1 -Port 7860`
152
+ 3. Set custom port if needed: `$env:SOPRANO_PORT = "8080"` before running TTS
153
+
154
+ ### Piper Installation Failed
155
+
156
+ 1. Check internet connection
157
+ 2. Run setup again: `.\setup-windows.ps1`
158
+ 3. Or manually download from: https://github.com/rhasspy/piper/releases
159
+
160
+ ### Can't Find Voice
161
+
162
+ For Piper, voices are stored in: `%USERPROFILE%\.claude\piper-voices\`
163
+
164
+ You can download additional voices with `.\download-piper-voices.ps1`.
165
+
166
+ ## Architecture
167
+
168
+ ```
169
+ agentvibes-in-windows/
170
+ ├── .claude/
171
+ │ ├── hooks-windows/ # PowerShell TTS scripts
172
+ │ │ ├── play-tts.ps1 # Main router (dispatches to active provider)
173
+ │ │ ├── play-tts-soprano.ps1 # Soprano provider
174
+ │ │ ├── play-tts-windows-piper.ps1 # Piper provider
175
+ │ │ ├── play-tts-windows-sapi.ps1 # SAPI provider
176
+ │ │ ├── soprano-gradio-synth.py # Python helper for Soprano Gradio API
177
+ │ │ ├── provider-manager.ps1 # Provider switching
178
+ │ │ ├── voice-manager-windows.ps1 # Voice management
179
+ │ │ ├── session-start-tts.ps1 # SessionStart hook (injects TTS protocol)
180
+ │ │ └── audio-cache-utils.ps1 # Audio cache cleanup
181
+ │ ├── settings.json # Claude Code hooks config
182
+ │ ├── audio/ # Audio cache (auto-created)
183
+ │ ├── piper-voices/ # Piper voice models (auto-created)
184
+ │ └── tts-provider.txt # Active provider config
185
+ ├── setup-windows.ps1 # Installation script
186
+ ├── download-piper-voices.ps1 # Download additional Piper voices
187
+ └── WINDOWS-SETUP.md # This file
188
+ ```
189
+
190
+ ## What's Different from WSL
191
+
192
+ | Feature | WSL Version | Windows Native |
193
+ |---------|-------------|----------------|
194
+ | **TTS Scripts** | Bash shell scripts (.sh) | PowerShell scripts (.ps1) |
195
+ | **Audio** | PulseAudio/paplay | System.Media.SoundPlayer |
196
+ | **Providers** | Piper, macOS, Termux, Soprano | Piper, SAPI, Soprano |
197
+ | **Setup** | WSL + PulseAudio config | Native Windows only |
198
+ | **Hook Dir** | `.claude/hooks/` | `.claude/hooks-windows/` |
199
+
200
+ ## Support
201
+
202
+ - **Documentation**: https://agentvibes.org
203
+ - **Issues**: https://github.com/paulpreibisch/AgentVibes/issues
204
+
205
+ ---
206
+
207
+ **Version**: 2.0 (Windows Native + Soprano)
208
+ **Last Updated**: 2026-02-11