agentvibes 5.1.4 → 5.2.1
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 +23 -13
- package/.claude/commands/agent-vibes/verbosity.md +98 -89
- package/.claude/config/audio-effects.cfg +4 -1
- package/.claude/hooks/audio-cache-utils.sh +246 -246
- package/.claude/hooks/background-music-manager.sh +404 -404
- package/.claude/hooks/bmad-speak-enhanced.sh +165 -165
- package/.claude/hooks/bmad-speak.sh +290 -290
- package/.claude/hooks/bmad-tts-injector.sh +568 -568
- package/.claude/hooks/bmad-voice-manager.sh +928 -928
- package/.claude/hooks/clawdbot-receiver-SECURE.sh +129 -129
- package/.claude/hooks/clawdbot-receiver.sh +107 -107
- package/.claude/hooks/clean-audio-cache.sh +22 -22
- package/.claude/hooks/cleanup-cache.sh +106 -106
- package/.claude/hooks/configure-rdp-mode.sh +137 -137
- package/.claude/hooks/download-extra-voices.sh +244 -244
- package/.claude/hooks/effects-manager.sh +268 -268
- package/.claude/hooks/github-star-reminder.sh +154 -154
- package/.claude/hooks/language-manager.sh +362 -362
- package/.claude/hooks/learn-manager.sh +492 -492
- package/.claude/hooks/macos-voice-manager.sh +205 -205
- package/.claude/hooks/migrate-background-music.sh +125 -125
- package/.claude/hooks/migrate-to-agentvibes.sh +161 -161
- package/.claude/hooks/optimize-background-music.sh +87 -87
- package/.claude/hooks/path-resolver.sh +60 -60
- package/.claude/hooks/personality-manager.sh +448 -448
- package/.claude/hooks/piper-download-voices.sh +233 -225
- package/.claude/hooks/piper-installer.sh +292 -292
- package/.claude/hooks/piper-multispeaker-registry.sh +171 -171
- package/.claude/hooks/piper-voice-manager.sh +125 -0
- package/.claude/hooks/play-tts-agentvibes-receiver-for-voiceless-connections.sh +97 -90
- package/.claude/hooks/play-tts-enhanced.sh +105 -105
- package/.claude/hooks/play-tts-piper.sh +16 -5
- package/.claude/hooks/play-tts-ssh-remote.sh +168 -167
- package/.claude/hooks/play-tts-termux-ssh.sh +169 -169
- package/.claude/hooks/play-tts.sh +35 -14
- package/.claude/hooks/prepare-release.sh +54 -54
- package/.claude/hooks/provider-commands.sh +617 -617
- package/.claude/hooks/provider-manager.sh +399 -399
- package/.claude/hooks/replay-target-audio.sh +95 -95
- package/.claude/hooks/sentiment-manager.sh +201 -201
- package/.claude/hooks/session-start-tts.sh +4 -1
- package/.claude/hooks/speed-manager.sh +291 -291
- package/.claude/hooks/stop-tts.sh +84 -84
- package/.claude/hooks/termux-installer.sh +261 -261
- package/.claude/hooks/translate-manager.sh +341 -341
- package/.claude/hooks/tts-queue-worker.sh +145 -145
- package/.claude/hooks/tts-queue.sh +165 -165
- package/.claude/hooks/verbosity-manager.sh +185 -178
- package/.claude/hooks/voice-manager.sh +552 -548
- package/.claude/hooks-windows/download-extra-voices.ps1 +243 -185
- package/.claude/hooks-windows/play-tts-piper.ps1 +7 -2
- package/.claude/hooks-windows/play-tts.ps1 +9 -3
- package/.claude/hooks-windows/session-start-tts.ps1 +2 -1
- package/.claude/hooks-windows/verbosity-manager.ps1 +126 -119
- package/README.md +19 -2
- package/RELEASE_NOTES.md +74 -0
- package/bin/agentvibes-voice-browser.js +1939 -1840
- package/bin/mcp-server.sh +206 -206
- package/mcp-server/server.py +87 -15
- package/package.json +1 -1
- package/src/console/tabs/receiver-tab.js +1527 -1483
- package/src/console/tabs/settings-tab.js +2 -2
- package/src/console/tabs/setup-tab.js +112 -31
- package/src/console/tabs/voices-tab.js +130 -13
- package/src/i18n/en.js +202 -202
- package/src/installer.js +79 -213
- package/src/services/llm-provider-service.js +126 -75
- package/src/services/verbosity-service.js +159 -157
- package/templates/agentvibes-receiver.sh +3 -2
|
@@ -1,178 +1,185 @@
|
|
|
1
|
-
#!/usr/bin/env bash
|
|
2
|
-
#
|
|
3
|
-
# File: .claude/hooks/verbosity-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 Manages AgentVibes verbosity level (low/medium/high)
|
|
35
|
-
# @context Controls how much Claude speaks while working - acknowledgments only vs full reasoning
|
|
36
|
-
# @architecture Simple config file reader/writer with project-local and global fallback
|
|
37
|
-
# @dependencies tts-verbosity.txt config file
|
|
38
|
-
# @entrypoints Called by slash commands, MCP tools, and session-start hook
|
|
39
|
-
# @patterns Config file management, validation, graceful defaults
|
|
40
|
-
# @related .claude/hooks/session-start-tts.sh, mcp-server/server.py, Issue #32
|
|
41
|
-
|
|
42
|
-
# Fix locale warnings
|
|
43
|
-
export LC_ALL=C
|
|
44
|
-
|
|
45
|
-
# Get script directory for accessing other scripts
|
|
46
|
-
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
47
|
-
|
|
48
|
-
# Respect CLAUDE_PROJECT_DIR when set by MCP (project context vs global installation)
|
|
49
|
-
if [[ -n "$CLAUDE_PROJECT_DIR" ]]; then
|
|
50
|
-
CLAUDE_DIR="$CLAUDE_PROJECT_DIR/.claude"
|
|
51
|
-
else
|
|
52
|
-
CLAUDE_DIR="$(dirname "$SCRIPT_DIR")"
|
|
53
|
-
fi
|
|
54
|
-
|
|
55
|
-
# Config file locations
|
|
56
|
-
VERBOSITY_FILE="$CLAUDE_DIR/tts-verbosity.txt"
|
|
57
|
-
GLOBAL_VERBOSITY_FILE="$HOME/.claude/tts-verbosity.txt"
|
|
58
|
-
|
|
59
|
-
#
|
|
60
|
-
# @function get_verbosity
|
|
61
|
-
# @context Returns the current verbosity level (low/medium/high)
|
|
62
|
-
# @architecture Checks project-local first, then global, then defaults to "high"
|
|
63
|
-
# @dependencies tts-verbosity.txt config file
|
|
64
|
-
# @entrypoints Called by session-start hook, MCP tools, slash commands
|
|
65
|
-
# @aiNotes Default to "high" to match installer default for new installations
|
|
66
|
-
#
|
|
67
|
-
get_verbosity() {
|
|
68
|
-
if [[ -f "$VERBOSITY_FILE" ]]; then
|
|
69
|
-
cat "$VERBOSITY_FILE"
|
|
70
|
-
elif [[ -f "$GLOBAL_VERBOSITY_FILE" ]]; then
|
|
71
|
-
cat "$GLOBAL_VERBOSITY_FILE"
|
|
72
|
-
else
|
|
73
|
-
echo "high"
|
|
74
|
-
fi
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
#
|
|
78
|
-
# @function set_verbosity
|
|
79
|
-
# @context Sets the verbosity level to low/medium/high
|
|
80
|
-
# @architecture Validates input, saves to project-local if .claude exists, otherwise global
|
|
81
|
-
# @dependencies None
|
|
82
|
-
# @entrypoints Called by MCP tools and slash commands
|
|
83
|
-
# @aiNotes Saves to project-local (.claude/) when available for per-project settings
|
|
84
|
-
#
|
|
85
|
-
set_verbosity() {
|
|
86
|
-
local level="$1"
|
|
87
|
-
|
|
88
|
-
# Validate input
|
|
89
|
-
if [[ ! "$level" =~ ^(low|medium|high)$ ]]; then
|
|
90
|
-
echo "❌ Invalid verbosity level: $level"
|
|
91
|
-
echo "Valid options: low, medium, high"
|
|
92
|
-
return 1
|
|
93
|
-
fi
|
|
94
|
-
|
|
95
|
-
# Save to project-local or global
|
|
96
|
-
if [[ -d "$CLAUDE_DIR" ]]; then
|
|
97
|
-
echo "$level" > "$VERBOSITY_FILE"
|
|
98
|
-
echo "✅ Verbosity set to: $level (project-local)"
|
|
99
|
-
else
|
|
100
|
-
mkdir -p "$(dirname "$GLOBAL_VERBOSITY_FILE")"
|
|
101
|
-
echo "$level" > "$GLOBAL_VERBOSITY_FILE"
|
|
102
|
-
echo "✅ Verbosity set to: $level (global)"
|
|
103
|
-
fi
|
|
104
|
-
|
|
105
|
-
echo ""
|
|
106
|
-
echo "💡 Verbosity levels:"
|
|
107
|
-
echo " • LOW: Acknowledgments + Completions only"
|
|
108
|
-
echo " • MEDIUM: + Major decisions and findings"
|
|
109
|
-
echo " • HIGH: All reasoning (maximum transparency)"
|
|
110
|
-
echo ""
|
|
111
|
-
echo "
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
#
|
|
118
|
-
# @
|
|
119
|
-
# @
|
|
120
|
-
# @
|
|
121
|
-
# @
|
|
122
|
-
# @
|
|
123
|
-
#
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
current_level
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
echo "
|
|
130
|
-
echo "
|
|
131
|
-
echo ""
|
|
132
|
-
echo "
|
|
133
|
-
echo ""
|
|
134
|
-
echo "
|
|
135
|
-
echo "
|
|
136
|
-
echo " ✅
|
|
137
|
-
echo "
|
|
138
|
-
echo ""
|
|
139
|
-
echo "
|
|
140
|
-
echo "
|
|
141
|
-
echo "
|
|
142
|
-
echo "
|
|
143
|
-
echo "
|
|
144
|
-
echo ""
|
|
145
|
-
echo "
|
|
146
|
-
echo "
|
|
147
|
-
echo "
|
|
148
|
-
echo "
|
|
149
|
-
echo "
|
|
150
|
-
echo "
|
|
151
|
-
echo ""
|
|
152
|
-
echo "
|
|
153
|
-
echo "
|
|
154
|
-
echo "
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
#
|
|
3
|
+
# File: .claude/hooks/verbosity-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 Manages AgentVibes verbosity level (low/medium/high)
|
|
35
|
+
# @context Controls how much Claude speaks while working - acknowledgments only vs full reasoning
|
|
36
|
+
# @architecture Simple config file reader/writer with project-local and global fallback
|
|
37
|
+
# @dependencies tts-verbosity.txt config file
|
|
38
|
+
# @entrypoints Called by slash commands, MCP tools, and session-start hook
|
|
39
|
+
# @patterns Config file management, validation, graceful defaults
|
|
40
|
+
# @related .claude/hooks/session-start-tts.sh, mcp-server/server.py, Issue #32
|
|
41
|
+
|
|
42
|
+
# Fix locale warnings
|
|
43
|
+
export LC_ALL=C
|
|
44
|
+
|
|
45
|
+
# Get script directory for accessing other scripts
|
|
46
|
+
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
47
|
+
|
|
48
|
+
# Respect CLAUDE_PROJECT_DIR when set by MCP (project context vs global installation)
|
|
49
|
+
if [[ -n "$CLAUDE_PROJECT_DIR" ]]; then
|
|
50
|
+
CLAUDE_DIR="$CLAUDE_PROJECT_DIR/.claude"
|
|
51
|
+
else
|
|
52
|
+
CLAUDE_DIR="$(dirname "$SCRIPT_DIR")"
|
|
53
|
+
fi
|
|
54
|
+
|
|
55
|
+
# Config file locations
|
|
56
|
+
VERBOSITY_FILE="$CLAUDE_DIR/tts-verbosity.txt"
|
|
57
|
+
GLOBAL_VERBOSITY_FILE="$HOME/.claude/tts-verbosity.txt"
|
|
58
|
+
|
|
59
|
+
#
|
|
60
|
+
# @function get_verbosity
|
|
61
|
+
# @context Returns the current verbosity level (low/medium/high)
|
|
62
|
+
# @architecture Checks project-local first, then global, then defaults to "high"
|
|
63
|
+
# @dependencies tts-verbosity.txt config file
|
|
64
|
+
# @entrypoints Called by session-start hook, MCP tools, slash commands
|
|
65
|
+
# @aiNotes Default to "high" to match installer default for new installations
|
|
66
|
+
#
|
|
67
|
+
get_verbosity() {
|
|
68
|
+
if [[ -f "$VERBOSITY_FILE" ]]; then
|
|
69
|
+
cat "$VERBOSITY_FILE"
|
|
70
|
+
elif [[ -f "$GLOBAL_VERBOSITY_FILE" ]]; then
|
|
71
|
+
cat "$GLOBAL_VERBOSITY_FILE"
|
|
72
|
+
else
|
|
73
|
+
echo "high"
|
|
74
|
+
fi
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
#
|
|
78
|
+
# @function set_verbosity
|
|
79
|
+
# @context Sets the verbosity level to low/medium/high
|
|
80
|
+
# @architecture Validates input, saves to project-local if .claude exists, otherwise global
|
|
81
|
+
# @dependencies None
|
|
82
|
+
# @entrypoints Called by MCP tools and slash commands
|
|
83
|
+
# @aiNotes Saves to project-local (.claude/) when available for per-project settings
|
|
84
|
+
#
|
|
85
|
+
set_verbosity() {
|
|
86
|
+
local level="$1"
|
|
87
|
+
|
|
88
|
+
# Validate input
|
|
89
|
+
if [[ ! "$level" =~ ^(low|medium|high|caveman)$ ]]; then
|
|
90
|
+
echo "❌ Invalid verbosity level: $level"
|
|
91
|
+
echo "Valid options: low, medium, high, caveman"
|
|
92
|
+
return 1
|
|
93
|
+
fi
|
|
94
|
+
|
|
95
|
+
# Save to project-local or global
|
|
96
|
+
if [[ -d "$CLAUDE_DIR" ]]; then
|
|
97
|
+
echo "$level" > "$VERBOSITY_FILE"
|
|
98
|
+
echo "✅ Verbosity set to: $level (project-local)"
|
|
99
|
+
else
|
|
100
|
+
mkdir -p "$(dirname "$GLOBAL_VERBOSITY_FILE")"
|
|
101
|
+
echo "$level" > "$GLOBAL_VERBOSITY_FILE"
|
|
102
|
+
echo "✅ Verbosity set to: $level (global)"
|
|
103
|
+
fi
|
|
104
|
+
|
|
105
|
+
echo ""
|
|
106
|
+
echo "💡 Verbosity levels:"
|
|
107
|
+
echo " • LOW: Acknowledgments + Completions only"
|
|
108
|
+
echo " • MEDIUM: + Major decisions and findings"
|
|
109
|
+
echo " • HIGH: All reasoning (maximum transparency)"
|
|
110
|
+
echo " • CAVEMAN: Ultra-terse fragments, max token savings"
|
|
111
|
+
echo ""
|
|
112
|
+
echo "⚠️ Restart Claude Code for changes to take effect"
|
|
113
|
+
|
|
114
|
+
return 0
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
#
|
|
118
|
+
# @function show_info
|
|
119
|
+
# @context Displays current verbosity level with detailed explanation
|
|
120
|
+
# @architecture Reads current level and provides contextual help
|
|
121
|
+
# @dependencies get_verbosity()
|
|
122
|
+
# @entrypoints Called when no arguments provided
|
|
123
|
+
# @aiNotes Helps users understand what each verbosity level does
|
|
124
|
+
#
|
|
125
|
+
show_info() {
|
|
126
|
+
local current_level
|
|
127
|
+
current_level=$(get_verbosity)
|
|
128
|
+
|
|
129
|
+
echo "🎙️ AgentVibes Verbosity Control"
|
|
130
|
+
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
|
131
|
+
echo "Current level: $current_level"
|
|
132
|
+
echo ""
|
|
133
|
+
echo "Available levels:"
|
|
134
|
+
echo ""
|
|
135
|
+
echo "LOW (Minimal)"
|
|
136
|
+
echo " ✅ Acknowledgments only"
|
|
137
|
+
echo " ✅ Completions only"
|
|
138
|
+
echo " 🔇 No reasoning spoken"
|
|
139
|
+
echo ""
|
|
140
|
+
echo "MEDIUM (Balanced)"
|
|
141
|
+
echo " ✅ Acknowledgments"
|
|
142
|
+
echo " 🤔 Major decisions"
|
|
143
|
+
echo " ✓ Key findings"
|
|
144
|
+
echo " ✅ Completions"
|
|
145
|
+
echo ""
|
|
146
|
+
echo "HIGH (Maximum Transparency)"
|
|
147
|
+
echo " ✅ Acknowledgments"
|
|
148
|
+
echo " 💭 All reasoning"
|
|
149
|
+
echo " 🤔 All decisions"
|
|
150
|
+
echo " ✓ All findings"
|
|
151
|
+
echo " ✅ Completions"
|
|
152
|
+
echo ""
|
|
153
|
+
echo "CAVEMAN (Ultra-Terse)"
|
|
154
|
+
echo " ⚡ Fragments only, no filler"
|
|
155
|
+
echo " 📉 65-75% fewer output tokens"
|
|
156
|
+
echo " 🔤 Abbreviations (DB/auth/config/fn/impl)"
|
|
157
|
+
echo " ➡️ Arrows instead of prose (X -> Y)"
|
|
158
|
+
echo ""
|
|
159
|
+
echo "Usage:"
|
|
160
|
+
echo " $0 get # Show current level"
|
|
161
|
+
echo " $0 set low|medium|high|caveman # Change level"
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
# Main execution
|
|
165
|
+
case "$1" in
|
|
166
|
+
get)
|
|
167
|
+
get_verbosity
|
|
168
|
+
;;
|
|
169
|
+
set)
|
|
170
|
+
if [[ -z "$2" ]]; then
|
|
171
|
+
echo "❌ Error: Missing verbosity level"
|
|
172
|
+
echo "Usage: $0 set low|medium|high|caveman"
|
|
173
|
+
exit 1
|
|
174
|
+
fi
|
|
175
|
+
set_verbosity "$2"
|
|
176
|
+
;;
|
|
177
|
+
info|"")
|
|
178
|
+
show_info
|
|
179
|
+
;;
|
|
180
|
+
*)
|
|
181
|
+
echo "❌ Unknown command: $1"
|
|
182
|
+
echo "Usage: $0 {get|set|info} [level]"
|
|
183
|
+
exit 1
|
|
184
|
+
;;
|
|
185
|
+
esac
|