agentvibes 3.5.5 โ 3.5.8
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/.claude/commands/agent-vibes/provider.md +0 -0
- package/.claude/config/background-music-position.txt +27 -0
- package/.claude/config/background-music-volume.txt +1 -1
- package/.claude/config/background-music.cfg +1 -0
- package/.claude/config/background-music.txt +1 -0
- package/.claude/config/tts-speech-rate.txt +1 -0
- package/.claude/config/tts-verbosity.txt +1 -0
- package/.claude/github-star-reminder.txt +1 -0
- package/.claude/hooks/audio-cache-utils.sh +0 -0
- package/.claude/hooks/audio-processor.sh +0 -0
- package/.claude/hooks/background-music-manager.sh +0 -0
- package/.claude/hooks/bmad-party-manager.sh +225 -0
- package/.claude/hooks/bmad-speak-enhanced.sh +0 -0
- package/.claude/hooks/bmad-speak.sh +0 -0
- package/.claude/hooks/bmad-tts-injector.sh +0 -0
- package/.claude/hooks/bmad-voice-manager.sh +0 -0
- package/.claude/hooks/clawdbot-receiver-SECURE.sh +0 -0
- package/.claude/hooks/clawdbot-receiver.sh +0 -0
- package/.claude/hooks/clean-audio-cache.sh +0 -0
- package/.claude/hooks/cleanup-cache.sh +0 -0
- package/.claude/hooks/configure-rdp-mode.sh +0 -0
- package/.claude/hooks/download-extra-voices.sh +0 -0
- package/.claude/hooks/effects-manager.sh +0 -0
- package/.claude/hooks/github-star-reminder.sh +0 -0
- package/.claude/hooks/language-manager.sh +0 -0
- package/.claude/hooks/learn-manager.sh +0 -0
- package/.claude/hooks/macos-voice-manager.sh +0 -0
- package/.claude/hooks/migrate-background-music.sh +0 -0
- package/.claude/hooks/migrate-to-agentvibes.sh +0 -0
- package/.claude/hooks/optimize-background-music.sh +0 -0
- package/.claude/hooks/personality-manager.sh +0 -0
- package/.claude/hooks/piper-download-voices.sh +0 -0
- package/.claude/hooks/piper-installer.sh +0 -0
- package/.claude/hooks/piper-multispeaker-registry.sh +0 -0
- package/.claude/hooks/piper-voice-manager.sh +0 -0
- package/.claude/hooks/play-tts-enhanced.sh +0 -0
- package/.claude/hooks/play-tts-macos.sh +0 -0
- package/.claude/hooks/play-tts-piper.sh +0 -0
- package/.claude/hooks/play-tts-soprano.sh +0 -0
- package/.claude/hooks/play-tts-ssh-remote.sh +0 -0
- package/.claude/hooks/play-tts-termux-ssh.sh +0 -0
- package/.claude/hooks/play-tts.sh +1 -1
- package/.claude/hooks/prepare-release.sh +0 -0
- package/.claude/hooks/provider-commands.sh +0 -0
- package/.claude/hooks/provider-manager.sh +2 -2
- package/.claude/hooks/replay-target-audio.sh +0 -0
- package/.claude/hooks/sentiment-manager.sh +0 -0
- package/.claude/hooks/session-start-tts.sh +0 -0
- package/.claude/hooks/soprano-gradio-synth.py +0 -0
- package/.claude/hooks/speed-manager.sh +0 -0
- package/.claude/hooks/stop.sh +38 -0
- package/.claude/hooks/termux-installer.sh +0 -0
- package/.claude/hooks/translate-manager.sh +0 -0
- package/.claude/hooks/translator.py +0 -0
- package/.claude/hooks/tts-queue-worker.sh +0 -0
- package/.claude/hooks/tts-queue.sh +0 -0
- package/.claude/hooks/verbosity-manager.sh +0 -0
- package/.claude/hooks/voice-manager.sh +0 -0
- package/.claude/piper-voices-dir.txt +1 -0
- package/.mcp.json +34 -0
- package/README.md +10 -25
- package/RELEASE_NOTES.md +78 -0
- package/bin/agent-vibes +21 -26
- package/bin/mcp-server.js +0 -0
- package/bin/mcp-server.sh +0 -0
- package/bin/test-bmad-pr +0 -0
- package/mcp-server/WINDOWS_SETUP.md +0 -0
- package/mcp-server/install-deps.js +0 -0
- package/mcp-server/test_server.py +0 -0
- package/package.json +1 -1
- package/setup-windows.ps1 +61 -13
- package/src/installer.js +87 -12
- package/src/utils/provider-validator.js +456 -0
- package/templates/agentvibes-receiver.sh +0 -0
- package/templates/audio/welcome-music.mp3 +0 -0
- package/.claude/config/background-music-default.txt +0 -1
- package/.claude/config/background-music-enabled.txt +0 -1
- package/.claude/config/reverb-level.txt +0 -1
|
File without changes
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
agent-vibes-dark-chill-step.mp3:49.006169
|
|
2
|
+
Agent Vibes Japanese City Pop v1.mp3:29.392744
|
|
3
|
+
Agent Vibes ChillWave v2.mp3:22.154467
|
|
4
|
+
Agent Vibes Bossa Nova v2.mp3:23.733424
|
|
5
|
+
Agent Vibes Tabla Dream Pop v1.mp3:19.101043
|
|
6
|
+
Agent Vibes Hawaiian slack key guitar v2.mp3:36.381950
|
|
7
|
+
AgentVibes Soft Flamenco.mp3:23.160000
|
|
8
|
+
Agent Vibes Arabic v2.mp3:21.922268
|
|
9
|
+
Agent Vibes Goa Trance v2.mp3:55.953741
|
|
10
|
+
Agent Vibes Ganawa Ambient v2.mp3:39.680205
|
|
11
|
+
Agent Vibes Celtic Harp v1.mp3:42.190476
|
|
12
|
+
Agent Vibes Harpsichord v2.mp3:21.739410
|
|
13
|
+
Agent Vibes Japanese City Pop v1-loop.mp3:13.917551
|
|
14
|
+
Agent Vibes Hawaiian slack key guitar v2-loop.mp3:12.977143
|
|
15
|
+
Agent Vibes Ganawa Ambient v2-loop.mp3:.00000000000000000002815996
|
|
16
|
+
Agent Vibes Tabla Dream Pop v1-loop.mp3:.00000000000000000009067943
|
|
17
|
+
Agent Vibes ChillWave v2-loop.mp3:.00000000000000000007080511
|
|
18
|
+
Agent Vibes Harpsichord v2-loop.mp3:.00000000000000000013140818
|
|
19
|
+
agent_vibes_japanese_city_pop_v1_loop.mp3:6.054512
|
|
20
|
+
agent_vibes_bossa_nova_v2_loop.mp3:5.369524
|
|
21
|
+
agent_vibes_salsa_v2_loop.mp3:9.972790
|
|
22
|
+
agent_vibes_cumbia_v1_loop.mp3:5.717823
|
|
23
|
+
agent_vibes_arabic_v2_loop.mp3:.00000000000000000006132724
|
|
24
|
+
agent_vibes_chillwave_v2_loop.mp3:14.628390
|
|
25
|
+
agent_vibes_bachata_v1_loop.mp3:.00000000000000000005344000
|
|
26
|
+
agentvibes_soft_flamenco_loop.mp3:.00000000000000000006934441
|
|
27
|
+
agent_vibes_goa_trance_v2_loop.mp3:.00000000000000000002499918
|
|
@@ -1 +1 @@
|
|
|
1
|
-
0.
|
|
1
|
+
0.30
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
enabled
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
enabled
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
1.3
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
high
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
20260212
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,225 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
#
|
|
3
|
+
# File: .claude/hooks/bmad-party-manager.sh
|
|
4
|
+
#
|
|
5
|
+
# AgentVibes - Finally, your AI Agents can Talk Back! Text-to-Speech WITH personality for AI Assistants!
|
|
6
|
+
# Website: https://agentvibes.org
|
|
7
|
+
# Repository: https://github.com/paulpreibisch/AgentVibes
|
|
8
|
+
#
|
|
9
|
+
# Co-created by Paul Preibisch with Claude AI
|
|
10
|
+
# Copyright (c) 2025 Paul Preibisch
|
|
11
|
+
#
|
|
12
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
13
|
+
# you may not use this file except in compliance with the License.
|
|
14
|
+
# You may obtain a copy of the License at
|
|
15
|
+
#
|
|
16
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
17
|
+
#
|
|
18
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
19
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
20
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
21
|
+
# See the License for the specific language governing permissions and
|
|
22
|
+
# limitations under the License.
|
|
23
|
+
#
|
|
24
|
+
# DISCLAIMER: This software is provided "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
25
|
+
# express or implied, including but not limited to the warranties of
|
|
26
|
+
# merchantability, fitness for a particular purpose and noninfringement.
|
|
27
|
+
# In no event shall the authors or copyright holders be liable for any claim,
|
|
28
|
+
# damages or other liability, whether in an action of contract, tort or
|
|
29
|
+
# otherwise, arising from, out of or in connection with the software or the
|
|
30
|
+
# use or other dealings in the software.
|
|
31
|
+
#
|
|
32
|
+
# ---
|
|
33
|
+
#
|
|
34
|
+
# @fileoverview BMAD Party Mode Voice Integration Manager
|
|
35
|
+
# @context Controls auto-enable/disable of multi-agent voice switching during BMAD party mode
|
|
36
|
+
# @architecture Opt-out flag management, auto-detection, status reporting
|
|
37
|
+
# @dependencies .bmad/_cfg/agent-manifest.csv, bmad-voices-enabled.flag, user-prompt-output.sh
|
|
38
|
+
# @entrypoints /agent-vibes:bmad-party slash command
|
|
39
|
+
# @patterns Auto-enable with opt-out, graceful degradation, feature detection
|
|
40
|
+
# @related user-prompt-output.sh, bmad-voice-manager.sh, Issue #33
|
|
41
|
+
|
|
42
|
+
# Fix locale warnings
|
|
43
|
+
export LC_ALL=C
|
|
44
|
+
|
|
45
|
+
PLUGIN_DIR=".claude/plugins"
|
|
46
|
+
DISABLE_FLAG="$PLUGIN_DIR/bmad-party-mode-disabled.flag"
|
|
47
|
+
BMAD_VOICES_FLAG="$PLUGIN_DIR/bmad-voices-enabled.flag"
|
|
48
|
+
BMAD_MANIFEST=".bmad/_cfg/agent-manifest.csv"
|
|
49
|
+
|
|
50
|
+
# Colors
|
|
51
|
+
GREEN='\033[0;32m'
|
|
52
|
+
YELLOW='\033[1;33m'
|
|
53
|
+
RED='\033[0;31m'
|
|
54
|
+
CYAN='\033[0;36m'
|
|
55
|
+
GRAY='\033[0;90m'
|
|
56
|
+
NC='\033[0m' # No Color
|
|
57
|
+
|
|
58
|
+
#
|
|
59
|
+
# @function is_bmad_installed
|
|
60
|
+
# @context Check if BMAD v6 is installed
|
|
61
|
+
# @returns 0=installed, 1=not installed
|
|
62
|
+
#
|
|
63
|
+
is_bmad_installed() {
|
|
64
|
+
[[ -f "$BMAD_MANIFEST" ]]
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
#
|
|
68
|
+
# @function is_bmad_voices_enabled
|
|
69
|
+
# @context Check if BMAD voice plugin is enabled
|
|
70
|
+
# @returns 0=enabled, 1=disabled
|
|
71
|
+
#
|
|
72
|
+
is_bmad_voices_enabled() {
|
|
73
|
+
[[ -f "$BMAD_VOICES_FLAG" ]]
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
#
|
|
77
|
+
# @function is_party_mode_enabled
|
|
78
|
+
# @context Check if party mode voice integration is enabled
|
|
79
|
+
# @returns 0=enabled, 1=disabled
|
|
80
|
+
#
|
|
81
|
+
is_party_mode_enabled() {
|
|
82
|
+
# Disabled if opt-out flag exists
|
|
83
|
+
[[ -f "$DISABLE_FLAG" ]] && return 1
|
|
84
|
+
|
|
85
|
+
# Enabled if BMAD + voice plugin active
|
|
86
|
+
is_bmad_installed && is_bmad_voices_enabled
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
#
|
|
90
|
+
# @function show_status
|
|
91
|
+
# @context Display current party mode voice integration status
|
|
92
|
+
#
|
|
93
|
+
show_status() {
|
|
94
|
+
echo -e "${CYAN}๐ญ BMAD Party Mode Voice Integration${NC}"
|
|
95
|
+
echo "โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ"
|
|
96
|
+
echo ""
|
|
97
|
+
|
|
98
|
+
# Check BMAD installation
|
|
99
|
+
if ! is_bmad_installed; then
|
|
100
|
+
echo -e "${RED}โ BMAD not installed${NC}"
|
|
101
|
+
echo -e "${GRAY} Party mode voice integration requires BMAD v6${NC}"
|
|
102
|
+
echo -e "${GRAY} Install: https://github.com/bmad-method/bmad${NC}"
|
|
103
|
+
echo ""
|
|
104
|
+
return 1
|
|
105
|
+
fi
|
|
106
|
+
|
|
107
|
+
echo -e "${GREEN}โ
BMAD v6 detected${NC}"
|
|
108
|
+
|
|
109
|
+
# Check voice plugin
|
|
110
|
+
if ! is_bmad_voices_enabled; then
|
|
111
|
+
echo -e "${RED}โ BMAD voice plugin disabled${NC}"
|
|
112
|
+
echo -e "${GRAY} Enable: /agent-vibes:bmad enable${NC}"
|
|
113
|
+
echo ""
|
|
114
|
+
return 1
|
|
115
|
+
fi
|
|
116
|
+
|
|
117
|
+
echo -e "${GREEN}โ
BMAD voice plugin enabled${NC}"
|
|
118
|
+
|
|
119
|
+
# Check party mode status
|
|
120
|
+
if is_party_mode_enabled; then
|
|
121
|
+
echo -e "${GREEN}โ
Party mode voices: ENABLED${NC}"
|
|
122
|
+
echo ""
|
|
123
|
+
echo -e "${CYAN}How it works:${NC}"
|
|
124
|
+
echo " When you run /bmad:core:workflows:party-mode,"
|
|
125
|
+
echo " each agent speaks with their unique voice:"
|
|
126
|
+
echo ""
|
|
127
|
+
echo " ๐๏ธ Winston (Architect) โ Michael"
|
|
128
|
+
echo " ๐ John (PM) โ Jessica Anne Bogart"
|
|
129
|
+
echo " ๐ป Amelia (Dev) โ Matthew Schmitz"
|
|
130
|
+
echo " ๐ Mary (Analyst) โ kristin"
|
|
131
|
+
echo " ... and more!"
|
|
132
|
+
echo ""
|
|
133
|
+
echo -e "${GRAY}Disable with: /agent-vibes:bmad-party disable${NC}"
|
|
134
|
+
else
|
|
135
|
+
echo -e "${YELLOW}โ ๏ธ Party mode voices: DISABLED (opt-out active)${NC}"
|
|
136
|
+
echo ""
|
|
137
|
+
echo -e "${GRAY}Enable with: /agent-vibes:bmad-party enable${NC}"
|
|
138
|
+
fi
|
|
139
|
+
|
|
140
|
+
echo ""
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
#
|
|
144
|
+
# @function enable_party_mode
|
|
145
|
+
# @context Enable party mode voice integration (remove opt-out flag)
|
|
146
|
+
#
|
|
147
|
+
enable_party_mode() {
|
|
148
|
+
# Verify prerequisites
|
|
149
|
+
if ! is_bmad_installed; then
|
|
150
|
+
echo -e "${RED}โ Cannot enable: BMAD not installed${NC}"
|
|
151
|
+
echo -e "${GRAY} Install BMAD v6 first${NC}"
|
|
152
|
+
return 1
|
|
153
|
+
fi
|
|
154
|
+
|
|
155
|
+
if ! is_bmad_voices_enabled; then
|
|
156
|
+
echo -e "${RED}โ Cannot enable: BMAD voice plugin disabled${NC}"
|
|
157
|
+
echo -e "${GRAY} Enable with: /agent-vibes:bmad enable${NC}"
|
|
158
|
+
return 1
|
|
159
|
+
fi
|
|
160
|
+
|
|
161
|
+
# Remove opt-out flag if it exists
|
|
162
|
+
if [[ -f "$DISABLE_FLAG" ]]; then
|
|
163
|
+
rm -f "$DISABLE_FLAG"
|
|
164
|
+
echo -e "${GREEN}โ
Party mode voices enabled${NC}"
|
|
165
|
+
echo ""
|
|
166
|
+
echo -e "${CYAN}๐ญ Multi-agent voice switching activated!${NC}"
|
|
167
|
+
echo " Run /bmad:core:workflows:party-mode to hear agents speak"
|
|
168
|
+
else
|
|
169
|
+
echo -e "${GREEN}โ
Party mode voices already enabled${NC}"
|
|
170
|
+
echo ""
|
|
171
|
+
echo -e "${GRAY}(Auto-enabled when BMAD detected)${NC}"
|
|
172
|
+
fi
|
|
173
|
+
|
|
174
|
+
echo ""
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
#
|
|
178
|
+
# @function disable_party_mode
|
|
179
|
+
# @context Disable party mode voice integration (create opt-out flag)
|
|
180
|
+
#
|
|
181
|
+
disable_party_mode() {
|
|
182
|
+
mkdir -p "$PLUGIN_DIR"
|
|
183
|
+
|
|
184
|
+
if [[ -f "$DISABLE_FLAG" ]]; then
|
|
185
|
+
echo -e "${YELLOW}โ ๏ธ Party mode voices already disabled${NC}"
|
|
186
|
+
return 0
|
|
187
|
+
fi
|
|
188
|
+
|
|
189
|
+
# Create opt-out flag
|
|
190
|
+
touch "$DISABLE_FLAG"
|
|
191
|
+
|
|
192
|
+
echo -e "${GREEN}โ
Party mode voices disabled${NC}"
|
|
193
|
+
echo ""
|
|
194
|
+
echo -e "${GRAY}Party mode will continue to work, but agents won't speak${NC}"
|
|
195
|
+
echo -e "${GRAY}Enable again with: /agent-vibes:bmad-party enable${NC}"
|
|
196
|
+
echo ""
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
# Main command dispatcher
|
|
200
|
+
case "${1:-status}" in
|
|
201
|
+
enable)
|
|
202
|
+
enable_party_mode
|
|
203
|
+
;;
|
|
204
|
+
disable)
|
|
205
|
+
disable_party_mode
|
|
206
|
+
;;
|
|
207
|
+
status)
|
|
208
|
+
show_status
|
|
209
|
+
;;
|
|
210
|
+
*)
|
|
211
|
+
echo -e "${CYAN}AgentVibes BMAD Party Mode Manager${NC}"
|
|
212
|
+
echo ""
|
|
213
|
+
echo "Usage: bmad-party-manager.sh {enable|disable|status}"
|
|
214
|
+
echo ""
|
|
215
|
+
echo "Commands:"
|
|
216
|
+
echo " enable Enable party mode voice integration"
|
|
217
|
+
echo " disable Disable party mode voice integration (opt-out)"
|
|
218
|
+
echo " status Show current status and configuration"
|
|
219
|
+
echo ""
|
|
220
|
+
echo "Party Mode Voice Integration:"
|
|
221
|
+
echo " โข Auto-enabled when BMAD v6 detected"
|
|
222
|
+
echo " โข Each agent speaks with unique voice during party mode"
|
|
223
|
+
echo " โข Opt-out available via disable command"
|
|
224
|
+
;;
|
|
225
|
+
esac
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -51,7 +51,7 @@ get_provider_config_path() {
|
|
|
51
51
|
local provider_file
|
|
52
52
|
|
|
53
53
|
# Check project-local first
|
|
54
|
-
if [[ -n "$CLAUDE_PROJECT_DIR" ]] && [[ -d "$CLAUDE_PROJECT_DIR/.claude" ]]; then
|
|
54
|
+
if [[ -n "${CLAUDE_PROJECT_DIR:-}" ]] && [[ -d "$CLAUDE_PROJECT_DIR/.claude" ]]; then
|
|
55
55
|
provider_file="$CLAUDE_PROJECT_DIR/.claude/tts-provider.txt"
|
|
56
56
|
else
|
|
57
57
|
# Search up directory tree for .claude/
|
|
@@ -134,7 +134,7 @@ set_active_provider() {
|
|
|
134
134
|
|
|
135
135
|
# Reset voice when switching providers to avoid incompatible voices
|
|
136
136
|
local voice_file
|
|
137
|
-
if [[ -n "$CLAUDE_PROJECT_DIR" ]] && [[ -d "$CLAUDE_PROJECT_DIR/.claude" ]]; then
|
|
137
|
+
if [[ -n "${CLAUDE_PROJECT_DIR:-}" ]] && [[ -d "$CLAUDE_PROJECT_DIR/.claude" ]]; then
|
|
138
138
|
voice_file="$CLAUDE_PROJECT_DIR/.claude/tts-voice.txt"
|
|
139
139
|
else
|
|
140
140
|
voice_file="$HOME/.claude/tts-voice.txt"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
#
|
|
3
|
+
# File: .claude/hooks/stop.sh
|
|
4
|
+
#
|
|
5
|
+
# AgentVibes Stop Hook - Wrapper that delegates to .agentvibes/
|
|
6
|
+
# This hook runs in LITE mode to extract and speak "Audio Summary:" markers
|
|
7
|
+
#
|
|
8
|
+
|
|
9
|
+
# Fix locale warnings
|
|
10
|
+
export LC_ALL=C
|
|
11
|
+
|
|
12
|
+
# Get script directory
|
|
13
|
+
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
14
|
+
PROJECT_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)"
|
|
15
|
+
|
|
16
|
+
# Path to mode configuration
|
|
17
|
+
MODE_FILE="$PROJECT_ROOT/.agentvibes/config/mode.txt"
|
|
18
|
+
|
|
19
|
+
# Check if AgentVibes is installed
|
|
20
|
+
AGENTVIBES_HOOKS="$PROJECT_ROOT/.agentvibes/hooks"
|
|
21
|
+
if [[ ! -d "$AGENTVIBES_HOOKS" ]]; then
|
|
22
|
+
# AgentVibes not installed, exit silently
|
|
23
|
+
exit 0
|
|
24
|
+
fi
|
|
25
|
+
|
|
26
|
+
# Read current mode (default to full if not set)
|
|
27
|
+
CURRENT_MODE="full"
|
|
28
|
+
if [[ -f "$MODE_FILE" ]]; then
|
|
29
|
+
CURRENT_MODE=$(cat "$MODE_FILE" 2>/dev/null | tr -d '[:space:]')
|
|
30
|
+
fi
|
|
31
|
+
|
|
32
|
+
# Only run stop hook in LITE mode
|
|
33
|
+
# (Full mode uses tool calls for TTS, not stop hooks)
|
|
34
|
+
if [[ "$CURRENT_MODE" == "lite" ]]; then
|
|
35
|
+
if [[ -f "$AGENTVIBES_HOOKS/stop-lite.sh" ]]; then
|
|
36
|
+
bash "$AGENTVIBES_HOOKS/stop-lite.sh" "$@"
|
|
37
|
+
fi
|
|
38
|
+
fi
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
/home/fire/.claude/piper-voices
|
package/.mcp.json
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
{
|
|
2
|
+
"mcpServers": {
|
|
3
|
+
"sonarqube": {
|
|
4
|
+
"command": "docker",
|
|
5
|
+
"args": [
|
|
6
|
+
"run",
|
|
7
|
+
"-i",
|
|
8
|
+
"--name",
|
|
9
|
+
"sonarqube-mcp-server-agentvibes",
|
|
10
|
+
"--rm",
|
|
11
|
+
"--dns",
|
|
12
|
+
"8.8.8.8",
|
|
13
|
+
"--dns",
|
|
14
|
+
"8.8.4.4",
|
|
15
|
+
"-e",
|
|
16
|
+
"SONARQUBE_TOKEN",
|
|
17
|
+
"-e",
|
|
18
|
+
"SONARQUBE_ORG",
|
|
19
|
+
"-e",
|
|
20
|
+
"STORAGE_PATH",
|
|
21
|
+
"mcp/sonarqube"
|
|
22
|
+
],
|
|
23
|
+
"env": {
|
|
24
|
+
"SONARQUBE_TOKEN": "${SONARQUBE_TOKEN}",
|
|
25
|
+
"SONARQUBE_ORG": "${SONARQUBE_ORG}",
|
|
26
|
+
"STORAGE_PATH": "${STORAGE_PATH}"
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
"pieces": {
|
|
30
|
+
"type": "sse",
|
|
31
|
+
"url": "http://localhost:39300/model_context_protocol/2024-11-05/sse"
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
package/README.md
CHANGED
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
[](https://github.com/paulpreibisch/AgentVibes/actions/workflows/publish.yml)
|
|
12
12
|
[](https://opensource.org/licenses/Apache-2.0)
|
|
13
13
|
|
|
14
|
-
**Author**: Paul Preibisch ([@997Fire](https://x.com/997Fire)) | **Version**: v3.5.
|
|
14
|
+
**Author**: Paul Preibisch ([@997Fire](https://x.com/997Fire)) | **Version**: v3.5.8
|
|
15
15
|
|
|
16
16
|
---
|
|
17
17
|
|
|
@@ -41,11 +41,11 @@ Whether you're coding in Claude Code, chatting in Claude Desktop, using Warp Ter
|
|
|
41
41
|
### ๐ฏ Key Features
|
|
42
42
|
|
|
43
43
|
**๐ช NEW IN v3.5.5 โ Native Windows Support:**
|
|
44
|
-
- ๐ฅ๏ธ **Windows Native TTS** -
|
|
45
|
-
- ๐ต **Background Music** - 16 genre tracks
|
|
46
|
-
- ๐๏ธ **Reverb & Audio Effects** - 5 reverb levels via ffmpeg
|
|
47
|
-
- ๐ **Verbosity Control** -
|
|
48
|
-
- ๐จ **Beautiful Installer** - `npx agentvibes install`
|
|
44
|
+
- ๐ฅ๏ธ **Windows Native TTS** - Soprano, Piper, and Windows SAPI providers. No WSL required!
|
|
45
|
+
- ๐ต **Background Music** - 16 genre tracks mixed under voice
|
|
46
|
+
- ๐๏ธ **Reverb & Audio Effects** - 5 reverb levels via ffmpeg
|
|
47
|
+
- ๐ **Verbosity Control** - High, Medium, or Low settings
|
|
48
|
+
- ๐จ **Beautiful Installer** - `npx agentvibes install` or `.\setup-windows.ps1`
|
|
49
49
|
|
|
50
50
|
**โก v3.4.0 Highlights:**
|
|
51
51
|
- ๐ค **Soprano TTS Provider** - Ultra-fast neural TTS with 20x CPU, 2000x GPU acceleration (thanks [@nathanchase](https://github.com/nathanchase)!)
|
|
@@ -97,7 +97,7 @@ All 50+ Piper voices AgentVibes provides are sourced from Hugging Face's open-so
|
|
|
97
97
|
- [๐ฑ Android/Termux](#-quick-setup-android--termux-claude-code-on-your-phone) - Run Claude Code on your phone
|
|
98
98
|
- [๐ Prerequisites](#-prerequisites) - What you actually need (Node.js + optional tools)
|
|
99
99
|
- [โจ What is AgentVibes?](#-what-is-agentvibes) - Overview & key features
|
|
100
|
-
- [๐ฐ Latest Release](#-latest-release) - v3.5.
|
|
100
|
+
- [๐ฐ Latest Release](#-latest-release) - v3.5.8 Security & UX + v3.5.5 Native Windows Support
|
|
101
101
|
- [๐ช Windows Setup Guide for Claude Desktop](mcp-server/WINDOWS_SETUP.md) - Complete Windows installation with WSL & Python
|
|
102
102
|
|
|
103
103
|
### AgentVibes MCP (Natural Language Control)
|
|
@@ -141,26 +141,11 @@ All 50+ Piper voices AgentVibes provides are sourced from Hugging Face's open-so
|
|
|
141
141
|
|
|
142
142
|
## ๐ฐ Latest Release
|
|
143
143
|
|
|
144
|
-
**[v3.5.
|
|
144
|
+
**[v3.5.8 - Security & Provider Validation](https://github.com/paulpreibisch/AgentVibes/releases/tag/v3.5.8)** ๐ก๏ธ
|
|
145
145
|
|
|
146
|
-
|
|
146
|
+
Critical security update: Fixed command injection vulnerabilities, HOME directory injection prevention, and path traversal protection. Soprano TTS installed via pipx now correctly detected. Enhanced provider detection messaging and debug logging.
|
|
147
147
|
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
**Key Highlights:**
|
|
151
|
-
- ๐ฅ๏ธ **Native Windows TTS** - Three providers: Soprano, Piper, and Windows SAPI. No WSL needed!
|
|
152
|
-
- ๐ต **Background Music** - 16 genre tracks (Bachata, Flamenco, Bossa Nova, City Pop, and more)
|
|
153
|
-
- ๐๏ธ **Reverb & Effects** - 5 reverb levels via ffmpeg aecho filter
|
|
154
|
-
- ๐ **Verbosity Control** - High (full reasoning), Medium (key updates), Low (essential only)
|
|
155
|
-
- ๐จ **Beautiful Installer** - Figlet banner, directory explanations, provider detection
|
|
156
|
-
- ๐งช **93/93 Tests Passing** - 46 Windows + 47 cross-platform
|
|
157
|
-
- ๐ก๏ธ **Security Hardened** - Path traversal prevention, input sanitization, resource disposal
|
|
158
|
-
|
|
159
|
-
**Perfect For:**
|
|
160
|
-
- Windows developers wanting native TTS without WSL
|
|
161
|
-
- Teams needing zero-setup voice (Windows SAPI works out of the box)
|
|
162
|
-
- Users wanting background music and reverb effects
|
|
163
|
-
- Anyone installing via `npx agentvibes install` on Windows
|
|
148
|
+
**Foundation Release:** [v3.5.5 - Native Windows Support](https://github.com/paulpreibisch/AgentVibes/releases/tag/v3.5.5) brings Windows support (Soprano, Piper, SAPI), background music (16 genre tracks), reverb/audio effects, and verbosity control. [See release notes](RELEASE_NOTES.md) for complete v3.5.5-3.5.8 history.
|
|
164
149
|
|
|
165
150
|
๐ก **Tip:** If `npx agentvibes` shows an older version or missing commands, clear your npm cache: `npm cache clean --force && npx agentvibes@latest --help`
|
|
166
151
|
|
package/RELEASE_NOTES.md
CHANGED
|
@@ -1,5 +1,83 @@
|
|
|
1
1
|
# AgentVibes Release Notes
|
|
2
2
|
|
|
3
|
+
## ๐ก๏ธ v3.5.8 - Provider Validation Security & UX Improvements
|
|
4
|
+
|
|
5
|
+
**Release Date:** February 12, 2026
|
|
6
|
+
|
|
7
|
+
### ๐ฏ Summary
|
|
8
|
+
|
|
9
|
+
Critical security and reliability update for provider detection. Fixes command injection vulnerabilities in validation code, prevents HOME directory injection attacks, and improves UX with explicit provider detection messaging. Soprano TTS installed via pipx is now correctly detected (previously showed "not installed" due to ES module import error). All 8 critical code review issues resolved with comprehensive security hardening and enhanced error reporting.
|
|
10
|
+
|
|
11
|
+
### โจ Key Improvements
|
|
12
|
+
|
|
13
|
+
- **๐ Security Fixes:** Fixed command injection vulnerability (template strings โ array form), prevented HOME injection attacks, added path traversal protection
|
|
14
|
+
- **โ
Provider Detection:** Soprano via pipx now correctly detected; added checkedLocations tracking for transparency
|
|
15
|
+
- **๐ฌ Better Messaging:** Explicit "Detected and selected!" confirmation; detailed error messages showing what was checked
|
|
16
|
+
- **๐งช Test Coverage:** Enhanced tests verify actual detection values, not just types
|
|
17
|
+
- **๐ Debugging:** Added [DEBUG] logging for troubleshooting provider issues
|
|
18
|
+
|
|
19
|
+
### ๐ด Critical Fixes
|
|
20
|
+
|
|
21
|
+
1. **Command Injection Prevention** - All execSync calls now use array form (security: CLAUDE.md)
|
|
22
|
+
2. **HOME Directory Injection** - Switched to os.homedir() instead of process.env.HOME
|
|
23
|
+
3. **Path Traversal Protection** - Added path.resolve() validation for pipx venv directories
|
|
24
|
+
|
|
25
|
+
### ๐ก Medium Fixes
|
|
26
|
+
|
|
27
|
+
4. **Pipx Logic Improved** - Tracks checked locations even on success (transparency)
|
|
28
|
+
5. **Silent Failures Eliminated** - Added [DEBUG] error logging for diagnostics
|
|
29
|
+
6. **Test Quality Enhanced** - Verify message content, not just types
|
|
30
|
+
7. **Documentation** - Added JSDoc comments explaining security-critical imports
|
|
31
|
+
8. **Error Differentiation** - Better distinction between different failure types
|
|
32
|
+
|
|
33
|
+
### ๐ Technical Impact
|
|
34
|
+
|
|
35
|
+
- Soprano detection now works reliably for both pip and pipx installations
|
|
36
|
+
- Reduced false negatives in provider validation
|
|
37
|
+
- Enhanced security posture aligned with CLAUDE.md security mandates
|
|
38
|
+
- Improved debuggability with explicit error messages
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
## ๐ง v3.5.7 - CLI Fix: npx Command Output & Startup Hooks
|
|
43
|
+
|
|
44
|
+
**Release Date:** February 12, 2026
|
|
45
|
+
|
|
46
|
+
Fixes critical bug where `npx agent-vibes install` and other commands produced no output, making CLI unusable. Root cause: bin/agent-vibes used dynamic import without passing arguments to installer.js on local execution. Also removed broken hook configurations (pre_compact.py, notification.ts) that didn't exist and caused startup errors in Claude Code settings.
|
|
47
|
+
|
|
48
|
+
### ๐ฏ What's Fixed
|
|
49
|
+
|
|
50
|
+
- **npx agent-vibes now works** - `npx agent-vibes install`, `npx agent-vibes --help`, all commands produce proper output
|
|
51
|
+
- **Startup hook errors gone** - Removed non-existent hook references from settings.json (pre_compact.py, notification.ts)
|
|
52
|
+
- **CLI execution proper** - Both npx and local execution now use execFileSync with proper argument passing
|
|
53
|
+
|
|
54
|
+
### ๐ Technical Details
|
|
55
|
+
|
|
56
|
+
**Before v3.5.7:**
|
|
57
|
+
```javascript
|
|
58
|
+
// bin/agent-vibes (local execution path)
|
|
59
|
+
import('../src/installer.js'); // โ No args, doesn't await
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
**After v3.5.7:**
|
|
63
|
+
```javascript
|
|
64
|
+
// bin/agent-vibes (all execution paths)
|
|
65
|
+
execFileSync('node', [installerPath, ...arguments_], {
|
|
66
|
+
stdio: 'inherit',
|
|
67
|
+
cwd: isNpxExecution ? path.dirname(__dirname) : process.cwd(),
|
|
68
|
+
}); // โ
Passes args, proper I/O
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
---
|
|
72
|
+
|
|
73
|
+
## ๐ง v3.5.6 - Bug Fix: Bash Hook Parameter Handling
|
|
74
|
+
|
|
75
|
+
**Release Date:** February 11, 2026
|
|
76
|
+
|
|
77
|
+
Fixes critical regression in v3.5.5 where bash hooks failed with unbound variable errors when called with optional parameters under strict mode. Affects `play-tts.sh` and `provider-manager.sh`.
|
|
78
|
+
|
|
79
|
+
---
|
|
80
|
+
|
|
3
81
|
## ๐ฆ v3.5.5 - Native Windows Support: Soprano, Piper & SAPI Providers
|
|
4
82
|
|
|
5
83
|
**Release Date:** February 12, 2026
|