agentvibes 5.12.0-alpha.0 โ 5.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.agentvibes/config.json +15 -1
- package/.agentvibes/install-manifest.json +342 -0
- package/.claude/activation-instructions +54 -54
- package/.claude/commands/agent-vibes-bmad-voices.md +117 -117
- package/.claude/commands/agent-vibes-rdp.md +24 -24
- package/.claude/config/audio-effects.cfg +5 -5
- package/.claude/config/audio-effects.cfg.bak-kokoro +7 -0
- package/.claude/config/background-music-enabled.txt +1 -1
- package/.claude/config/background-music-position.txt +27 -0
- package/.claude/config/background-music-volume.txt +1 -0
- package/.claude/config/background-music.cfg +1 -0
- package/.claude/config/background-music.txt +1 -0
- package/.claude/config/language.txt +1 -0
- package/.claude/config/personality.txt +1 -0
- package/.claude/config/tts-speech-rate.txt +1 -0
- package/.claude/config/tts-verbosity.txt +1 -0
- package/.claude/docs/TERMUX_SETUP.md +408 -408
- package/.claude/github-star-reminder.txt +1 -1
- package/.claude/hooks/play-tts-ssh-remote.sh +42 -5
- package/.claude/hooks/play-tts.sh +21 -9
- package/.claude/hooks-windows/audio-cache-utils.ps1.user.bak +119 -0
- package/.claude/hooks-windows/soprano-gradio-synth.py.user.bak +153 -0
- package/.claude/hooks-windows/tts-watcher.ps1 +55 -0
- package/.claude/piper-voices-dir.txt +1 -0
- package/.clawdbot/README.md +105 -105
- package/.mcp.json +22 -0
- package/LICENSE +190 -190
- package/README.md +11 -6
- package/RELEASE_NOTES.md +38 -0
- package/WINDOWS-SETUP.md +208 -208
- package/bin/agent-vibes +39 -39
- package/bin/mcp-server.js +121 -121
- package/bin/test-bmad-pr +78 -78
- package/mcp-server/QUICK_START.md +203 -203
- package/mcp-server/README.md +345 -345
- package/mcp-server/examples/claude_desktop_config.json +11 -11
- package/mcp-server/examples/claude_desktop_config_piper.json +9 -9
- package/mcp-server/examples/custom_instructions.md +169 -169
- package/mcp-server/pyproject.toml +52 -52
- package/mcp-server/requirements.txt +2 -2
- package/mcp-server/test_server.py +395 -395
- package/package.json +1 -1
- package/src/cli/list-personalities.js +110 -110
- package/src/cli/list-voices.js +114 -114
- package/src/commands/bmad-voices.js +394 -394
- package/src/console/app.js +1 -9
- package/src/console/brand-colors.js +13 -13
- package/src/console/constants/personalities.js +44 -44
- package/src/console/footer-config.js +0 -4
- package/src/console/navigation.js +0 -1
- package/src/console/tabs/agents-tab.js +14 -2
- package/src/console/tabs/help-tab.js +314 -314
- package/src/console/tabs/music-tab.js +101 -2
- package/src/console/tabs/placeholder-tab.js +0 -2
- package/src/console/tabs/readme-tab.js +272 -272
- package/src/console/tabs/settings-tab.js +13 -2
- package/src/console/tabs/setup-tab.js +30 -2
- package/src/console/tabs/voices-tab.js +19 -9
- package/src/console/widgets/destroy-list.js +25 -25
- package/src/console/widgets/notice.js +55 -55
- package/src/installer/language-screen.js +31 -31
- package/src/installer/music-file-input.js +304 -304
- package/src/services/language-service.js +47 -47
- package/src/services/navigation-service.js +1 -1
- package/src/utils/audio-format-validator.js +277 -277
- package/src/utils/dependency-checker.js +469 -469
- package/src/utils/file-ownership-verifier.js +358 -358
- package/src/utils/music-file-validator.js +285 -285
- package/src/utils/preview-list-prompt.js +144 -144
- package/src/utils/secure-music-storage.js +412 -412
- package/voice-assignments.json +8244 -8244
package/RELEASE_NOTES.md
CHANGED
|
@@ -1,5 +1,43 @@
|
|
|
1
1
|
# AgentVibes Release Notes
|
|
2
2
|
|
|
3
|
+
## ๐ v5.12.0 โ The Fable Week Overhaul (Stable)
|
|
4
|
+
|
|
5
|
+
**Released:** 2026-07-05 ยท now on `latest` โ `npm install agentvibes`
|
|
6
|
+
|
|
7
|
+
This turns the "Fable Week" alpha into a stable release. During a week of early access to Anthropic's new **Fable** model, we pointed it at the whole AgentVibes codebase and rebuilt the core properly.
|
|
8
|
+
|
|
9
|
+
### A stronger, shared core
|
|
10
|
+
|
|
11
|
+
Every time AgentVibes speaks it makes a lot of decisions โ which voice, which engine, whether to play here or send the audio to another machine, background music, volume, mute. That logic had been copied into several separate scripts (Mac/Linux, Windows, remote, and the voice server), and the copies slowly **drifted apart** โ a fix in one was missed in the others, which is why certain glitches kept coming back.
|
|
12
|
+
|
|
13
|
+
We replaced all of it with **one shared core** that every part of AgentVibes now follows โ one place to fix, one place to trust. What you'll notice:
|
|
14
|
+
|
|
15
|
+
- **Kokoro voices that were silent on Linux now work everywhere.**
|
|
16
|
+
- **Your voice choices stick** โ settings no longer get quietly overridden.
|
|
17
|
+
- **Volume, mute, and remote playback behave the same** across Mac, Linux, and Windows.
|
|
18
|
+
- **Safe by default** โ if the new core isn't available on your machine, AgentVibes falls back to the old behaviour, so it never just stops talking.
|
|
19
|
+
|
|
20
|
+
### Previews now play in the right place
|
|
21
|
+
|
|
22
|
+
Previewing a voice or track used to play on whatever machine you were sitting at โ which was silent if you'd set AgentVibes up to send its audio elsewhere. Now:
|
|
23
|
+
|
|
24
|
+
- **If you have SSH remote configured, previews play on your receiver; otherwise they play locally, like before.**
|
|
25
|
+
- This covers **voice previews** (Piper and Kokoro) from the Setup, Agent, and Settings screens, and **music/track previews** โ press Space to play, Space again to stop.
|
|
26
|
+
|
|
27
|
+
### A simpler voice menu
|
|
28
|
+
|
|
29
|
+
- We **removed the redundant Voices tab.** It only ever listed Piper voices and confused people, since choosing a voice for any provider already lives in **Setup**.
|
|
30
|
+
|
|
31
|
+
### Groundwork for what's next
|
|
32
|
+
|
|
33
|
+
- The receiver now also receives the **full path of the project folder** a message came from (a new `projectPath` field, alongside the project name it already got) โ laying the groundwork for upcoming enhancements.
|
|
34
|
+
|
|
35
|
+
### Reviewed before shipping
|
|
36
|
+
|
|
37
|
+
We ran three independent reviews over the changes โ security, correctness, and regressions โ and fixed every real issue before release.
|
|
38
|
+
|
|
39
|
+
---
|
|
40
|
+
|
|
3
41
|
## ๐งช v5.12.0-alpha.0 โ The "Fable Week" Overhaul (ALPHA / testing)
|
|
4
42
|
|
|
5
43
|
**Published:** 2026-07-04 ยท dist-tag **`alpha`** (not `latest`). Try it with `npm install agentvibes@alpha`.
|
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
|
package/bin/agent-vibes
CHANGED
|
@@ -1,40 +1,40 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* AgentVibes - Beautiful ElevenLabs TTS voice commands for Claude Code
|
|
5
|
-
* This file ensures proper execution when run via npx
|
|
6
|
-
*/
|
|
7
|
-
|
|
8
|
-
import { execFileSync } from 'node:child_process';
|
|
9
|
-
import path from 'node:path';
|
|
10
|
-
import fs from 'node:fs';
|
|
11
|
-
import { fileURLToPath } from 'node:url';
|
|
12
|
-
|
|
13
|
-
const __filename = fileURLToPath(import.meta.url);
|
|
14
|
-
const __dirname = path.dirname(__filename);
|
|
15
|
-
|
|
16
|
-
// Check if we're running in an npx temporary directory
|
|
17
|
-
const isNpxExecution = __dirname.includes('_npx') || __dirname.includes('.npm');
|
|
18
|
-
|
|
19
|
-
// Get CLI arguments
|
|
20
|
-
const arguments_ = process.argv.slice(2);
|
|
21
|
-
|
|
22
|
-
// Route through the TUI console (agentvibes.js) which handles install/config/etc
|
|
23
|
-
const installerPath = path.join(__dirname, 'agentvibes.js');
|
|
24
|
-
|
|
25
|
-
if (!fs.existsSync(installerPath)) {
|
|
26
|
-
console.error('Error: Could not find installer.js at', installerPath);
|
|
27
|
-
console.error('Current directory:', __dirname);
|
|
28
|
-
process.exit(1);
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
try {
|
|
32
|
-
// Security: Use execFileSync with array args to prevent command injection
|
|
33
|
-
// Arguments are passed as array elements, not string interpolation
|
|
34
|
-
execFileSync('node', [installerPath, ...arguments_], {
|
|
35
|
-
stdio: 'inherit',
|
|
36
|
-
cwd: path.dirname(__dirname),
|
|
37
|
-
});
|
|
38
|
-
} catch (error) {
|
|
39
|
-
process.exit(error.status || 1);
|
|
40
|
-
}
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* AgentVibes - Beautiful ElevenLabs TTS voice commands for Claude Code
|
|
5
|
+
* This file ensures proper execution when run via npx
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
import { execFileSync } from 'node:child_process';
|
|
9
|
+
import path from 'node:path';
|
|
10
|
+
import fs from 'node:fs';
|
|
11
|
+
import { fileURLToPath } from 'node:url';
|
|
12
|
+
|
|
13
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
14
|
+
const __dirname = path.dirname(__filename);
|
|
15
|
+
|
|
16
|
+
// Check if we're running in an npx temporary directory
|
|
17
|
+
const isNpxExecution = __dirname.includes('_npx') || __dirname.includes('.npm');
|
|
18
|
+
|
|
19
|
+
// Get CLI arguments
|
|
20
|
+
const arguments_ = process.argv.slice(2);
|
|
21
|
+
|
|
22
|
+
// Route through the TUI console (agentvibes.js) which handles install/config/etc
|
|
23
|
+
const installerPath = path.join(__dirname, 'agentvibes.js');
|
|
24
|
+
|
|
25
|
+
if (!fs.existsSync(installerPath)) {
|
|
26
|
+
console.error('Error: Could not find installer.js at', installerPath);
|
|
27
|
+
console.error('Current directory:', __dirname);
|
|
28
|
+
process.exit(1);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
try {
|
|
32
|
+
// Security: Use execFileSync with array args to prevent command injection
|
|
33
|
+
// Arguments are passed as array elements, not string interpolation
|
|
34
|
+
execFileSync('node', [installerPath, ...arguments_], {
|
|
35
|
+
stdio: 'inherit',
|
|
36
|
+
cwd: path.dirname(__dirname),
|
|
37
|
+
});
|
|
38
|
+
} catch (error) {
|
|
39
|
+
process.exit(error.status || 1);
|
|
40
|
+
}
|