agentvibes 5.1.4 → 5.2.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 +23 -13
- package/.claude/commands/agent-vibes/verbosity.md +98 -89
- package/.claude/config/audio-effects.cfg +4 -1
- package/.claude/hooks/bmad-speak.sh +2 -2
- package/.claude/hooks/piper-download-voices.sh +233 -225
- package/.claude/hooks/piper-installer.sh +1 -1
- 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 +1 -1
- package/.claude/hooks/play-tts-piper.sh +16 -5
- package/.claude/hooks/play-tts-ssh-remote.sh +168 -167
- package/.claude/hooks/play-tts.sh +21 -9
- package/.claude/hooks/session-start-tts.sh +4 -1
- package/.claude/hooks/stop-tts.sh +1 -1
- package/.claude/hooks/verbosity-manager.sh +185 -178
- 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 +7 -1
- package/.claude/hooks-windows/session-start-tts.ps1 +2 -1
- package/.claude/hooks-windows/verbosity-manager.ps1 +126 -119
- package/README.md +10 -2
- package/RELEASE_NOTES.md +36 -0
- package/bin/agentvibes-voice-browser.js +1939 -1840
- package/mcp-server/server.py +52 -9
- 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 +53 -8
- package/src/console/tabs/voices-tab.js +130 -13
- package/src/i18n/en.js +202 -202
- package/src/services/verbosity-service.js +159 -157
- package/templates/agentvibes-receiver.sh +3 -2
package/mcp-server/server.py
CHANGED
|
@@ -912,17 +912,58 @@ class AgentVibesServer:
|
|
|
912
912
|
return "✅ TTS banner: **enabled**\n\nSay: \"Turn off banner\" to disable"
|
|
913
913
|
|
|
914
914
|
# Helper methods
|
|
915
|
+
def _resolve_project_dir(self) -> Optional[Path]:
|
|
916
|
+
# Returns the nearest directory containing .claude/, or None.
|
|
917
|
+
# Checked in order: explicit CLAUDE_PROJECT_DIR, npm's INIT_CWD,
|
|
918
|
+
# shell PWD, os.getcwd() and its parents. Required because MCP
|
|
919
|
+
# clients (VS Code Copilot, Codex, Warp, etc.) don't agree on
|
|
920
|
+
# what cwd to spawn the server from, so relying on os.getcwd()
|
|
921
|
+
# alone silently falls back to package config — which breaks
|
|
922
|
+
# project-local per-LLM routing in audio-effects.cfg.
|
|
923
|
+
candidates: list[Path] = []
|
|
924
|
+
for var in ("CLAUDE_PROJECT_DIR", "INIT_CWD", "PWD"):
|
|
925
|
+
val = os.environ.get(var, "").strip()
|
|
926
|
+
if val:
|
|
927
|
+
try:
|
|
928
|
+
candidates.append(Path(val).resolve())
|
|
929
|
+
except (OSError, ValueError):
|
|
930
|
+
pass
|
|
931
|
+
try:
|
|
932
|
+
cwd = Path.cwd().resolve()
|
|
933
|
+
candidates.append(cwd)
|
|
934
|
+
candidates.extend(cwd.parents)
|
|
935
|
+
except (OSError, ValueError):
|
|
936
|
+
pass
|
|
937
|
+
|
|
938
|
+
try:
|
|
939
|
+
agentvibes_root = self.agentvibes_root.resolve()
|
|
940
|
+
except (OSError, ValueError):
|
|
941
|
+
agentvibes_root = self.agentvibes_root
|
|
942
|
+
|
|
943
|
+
seen: set[Path] = set()
|
|
944
|
+
for candidate in candidates:
|
|
945
|
+
if candidate in seen:
|
|
946
|
+
continue
|
|
947
|
+
seen.add(candidate)
|
|
948
|
+
if candidate == agentvibes_root:
|
|
949
|
+
continue
|
|
950
|
+
try:
|
|
951
|
+
if (candidate / ".claude").is_dir():
|
|
952
|
+
return candidate
|
|
953
|
+
except OSError:
|
|
954
|
+
continue
|
|
955
|
+
return None
|
|
956
|
+
|
|
915
957
|
def _build_script_env(self) -> dict:
|
|
916
958
|
"""Build environment dict for script execution (shared by all script runners)"""
|
|
917
959
|
env = os.environ.copy()
|
|
918
960
|
|
|
919
|
-
#
|
|
920
|
-
#
|
|
921
|
-
#
|
|
922
|
-
|
|
923
|
-
|
|
924
|
-
|
|
925
|
-
env["CLAUDE_PROJECT_DIR"] = str(cwd)
|
|
961
|
+
# Export CLAUDE_PROJECT_DIR so play-tts.{ps1,sh} reads the
|
|
962
|
+
# project's .claude/config/audio-effects.cfg (per-LLM routing,
|
|
963
|
+
# pretext, effects) instead of the package's bundled copy.
|
|
964
|
+
project_dir = self._resolve_project_dir()
|
|
965
|
+
if project_dir is not None:
|
|
966
|
+
env["CLAUDE_PROJECT_DIR"] = str(project_dir)
|
|
926
967
|
|
|
927
968
|
# Add common locations for piper to PATH (Unix only)
|
|
928
969
|
if not self.is_windows:
|
|
@@ -1237,7 +1278,7 @@ Examples:
|
|
|
1237
1278
|
),
|
|
1238
1279
|
Tool(
|
|
1239
1280
|
name="get_verbosity",
|
|
1240
|
-
description="Get current AgentVibes verbosity level (low/medium/high). Verbosity controls how much Claude speaks while working - from minimal (acknowledgments only) to maximum transparency (all reasoning spoken).",
|
|
1281
|
+
description="Get current AgentVibes verbosity level (low/medium/high/caveman). Verbosity controls how much Claude speaks while working - from minimal (acknowledgments only) to maximum transparency (all reasoning spoken) to caveman (ultra-terse fragments, max token savings).",
|
|
1241
1282
|
inputSchema={"type": "object", "properties": {}},
|
|
1242
1283
|
),
|
|
1243
1284
|
Tool(
|
|
@@ -1248,11 +1289,13 @@ Verbosity Levels:
|
|
|
1248
1289
|
- LOW: Only acknowledgments (start) and completions (end). Minimal interruption.
|
|
1249
1290
|
- MEDIUM: + Major decisions and key findings. Balanced transparency.
|
|
1250
1291
|
- HIGH: All reasoning, decisions, and findings. Maximum transparency.
|
|
1292
|
+
- CAVEMAN: Ultra-terse fragments. Drops articles, filler, hedging. Abbreviates heavily. 65-75% fewer output tokens.
|
|
1251
1293
|
|
|
1252
1294
|
Perfect for:
|
|
1253
1295
|
- LOW: Quiet work sessions, minimal distraction
|
|
1254
1296
|
- MEDIUM: Understanding major decisions without full narration
|
|
1255
1297
|
- HIGH: Full transparency, learning mode, debugging complex tasks
|
|
1298
|
+
- CAVEMAN: Maximum token savings, minimal prose
|
|
1256
1299
|
|
|
1257
1300
|
Note: Changes take effect on next Claude Code session restart.""",
|
|
1258
1301
|
inputSchema={
|
|
@@ -1261,7 +1304,7 @@ Note: Changes take effect on next Claude Code session restart.""",
|
|
|
1261
1304
|
"level": {
|
|
1262
1305
|
"type": "string",
|
|
1263
1306
|
"description": "Verbosity level to set",
|
|
1264
|
-
"enum": ["low", "medium", "high"]
|
|
1307
|
+
"enum": ["low", "medium", "high", "caveman"]
|
|
1265
1308
|
}
|
|
1266
1309
|
},
|
|
1267
1310
|
"required": ["level"],
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://json.schemastore.org/package.json",
|
|
3
3
|
"name": "agentvibes",
|
|
4
|
-
"version": "5.
|
|
4
|
+
"version": "5.2.0",
|
|
5
5
|
"description": "Now your AI Agents can finally talk back! Professional TTS voice for Claude Code, Claude Desktop (via MCP), and Clawdbot with multi-provider support.",
|
|
6
6
|
"homepage": "https://agentvibes.org",
|
|
7
7
|
"keywords": [
|