agentvibes 5.2.0 → 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/.claude/config/audio-effects.cfg +1 -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-installer.sh +292 -292
- package/.claude/hooks/piper-multispeaker-registry.sh +171 -171
- package/.claude/hooks/play-tts-enhanced.sh +105 -105
- package/.claude/hooks/play-tts-termux-ssh.sh +169 -169
- package/.claude/hooks/play-tts.sh +14 -5
- 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/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/voice-manager.sh +552 -548
- package/.claude/hooks-windows/play-tts.ps1 +2 -2
- package/README.md +11 -2
- package/RELEASE_NOTES.md +38 -0
- package/bin/mcp-server.sh +206 -206
- package/mcp-server/server.py +35 -6
- package/package.json +1 -1
- package/src/console/tabs/setup-tab.js +59 -23
- package/src/installer.js +79 -213
- package/src/services/llm-provider-service.js +126 -75
|
@@ -1,106 +1,106 @@
|
|
|
1
|
-
#!/usr/bin/env bash
|
|
2
|
-
# AgentVibes Cache Cleanup Script
|
|
3
|
-
# Removes TTS cache files to free up disk space
|
|
4
|
-
|
|
5
|
-
set -euo pipefail
|
|
6
|
-
|
|
7
|
-
# Get the project root directory
|
|
8
|
-
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
9
|
-
PROJECT_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)"
|
|
10
|
-
AUDIO_DIR="$PROJECT_ROOT/.claude/audio"
|
|
11
|
-
|
|
12
|
-
# Colors for output
|
|
13
|
-
RED='\033[0;31m'
|
|
14
|
-
GREEN='\033[0;32m'
|
|
15
|
-
YELLOW='\033[1;33m'
|
|
16
|
-
BLUE='\033[0;34m'
|
|
17
|
-
NC='\033[0m' # No Color
|
|
18
|
-
|
|
19
|
-
echo -e "${BLUE}🧹 AgentVibes Cache Cleanup${NC}"
|
|
20
|
-
echo ""
|
|
21
|
-
|
|
22
|
-
# Check if audio directory exists
|
|
23
|
-
if [[ ! -d "$AUDIO_DIR" ]]; then
|
|
24
|
-
echo -e "${YELLOW}No cache directory found at: $AUDIO_DIR${NC}"
|
|
25
|
-
exit 0
|
|
26
|
-
fi
|
|
27
|
-
|
|
28
|
-
# Calculate current cache size
|
|
29
|
-
echo "Calculating cache size..."
|
|
30
|
-
CACHE_SIZE=$(du -sh "$AUDIO_DIR" 2>/dev/null | cut -f1 || echo "unknown")
|
|
31
|
-
echo -e "${BLUE}Current cache size: ${YELLOW}$CACHE_SIZE${NC}"
|
|
32
|
-
echo ""
|
|
33
|
-
|
|
34
|
-
# Count files to be deleted
|
|
35
|
-
TTS_MP3_COUNT=$(find "$AUDIO_DIR" -maxdepth 1 -name "tts-*.mp3" -type f 2>/dev/null | wc -l)
|
|
36
|
-
TTS_WAV_COUNT=$(find "$AUDIO_DIR" -maxdepth 1 -name "tts-*.wav" -type f 2>/dev/null | wc -l)
|
|
37
|
-
TTS_PADDED_MP3_COUNT=$(find "$AUDIO_DIR" -maxdepth 1 -name "tts-padded-*.mp3" -type f 2>/dev/null | wc -l)
|
|
38
|
-
TTS_PADDED_WAV_COUNT=$(find "$AUDIO_DIR" -maxdepth 1 -name "tts-padded-*.wav" -type f 2>/dev/null | wc -l)
|
|
39
|
-
BMAD_RECORDINGS_COUNT=0
|
|
40
|
-
if [[ -d "$AUDIO_DIR/bmad-party-mode-recordings" ]]; then
|
|
41
|
-
BMAD_RECORDINGS_COUNT=$(find "$AUDIO_DIR/bmad-party-mode-recordings" -type f 2>/dev/null | wc -l)
|
|
42
|
-
fi
|
|
43
|
-
|
|
44
|
-
TOTAL_FILES=$((TTS_MP3_COUNT + TTS_WAV_COUNT + TTS_PADDED_MP3_COUNT + TTS_PADDED_WAV_COUNT + BMAD_RECORDINGS_COUNT))
|
|
45
|
-
|
|
46
|
-
if [[ $TOTAL_FILES -eq 0 ]]; then
|
|
47
|
-
echo -e "${GREEN}✓ Cache is already clean! No TTS cache files found.${NC}"
|
|
48
|
-
exit 0
|
|
49
|
-
fi
|
|
50
|
-
|
|
51
|
-
echo -e "Found ${YELLOW}$TOTAL_FILES${NC} cache files:"
|
|
52
|
-
echo -e " • TTS MP3 files: $TTS_MP3_COUNT"
|
|
53
|
-
echo -e " • TTS WAV files: $TTS_WAV_COUNT"
|
|
54
|
-
echo -e " • TTS padded MP3 files: $TTS_PADDED_MP3_COUNT"
|
|
55
|
-
echo -e " • TTS padded WAV files: $TTS_PADDED_WAV_COUNT"
|
|
56
|
-
echo -e " • BMAD party mode recordings: $BMAD_RECORDINGS_COUNT"
|
|
57
|
-
echo ""
|
|
58
|
-
|
|
59
|
-
# Ask for confirmation
|
|
60
|
-
read -p "Delete all cache files? (y/N): " -n 1 -r
|
|
61
|
-
echo
|
|
62
|
-
if [[ ! $REPLY =~ ^[Yy]$ ]]; then
|
|
63
|
-
echo -e "${YELLOW}Cleanup cancelled.${NC}"
|
|
64
|
-
exit 0
|
|
65
|
-
fi
|
|
66
|
-
|
|
67
|
-
echo ""
|
|
68
|
-
echo "Deleting cache files..."
|
|
69
|
-
|
|
70
|
-
# Delete TTS cache files
|
|
71
|
-
DELETED=0
|
|
72
|
-
|
|
73
|
-
if [[ $TTS_MP3_COUNT -gt 0 ]]; then
|
|
74
|
-
find "$AUDIO_DIR" -maxdepth 1 -name "tts-*.mp3" -type f -delete
|
|
75
|
-
DELETED=$((DELETED + TTS_MP3_COUNT))
|
|
76
|
-
fi
|
|
77
|
-
|
|
78
|
-
if [[ $TTS_WAV_COUNT -gt 0 ]]; then
|
|
79
|
-
find "$AUDIO_DIR" -maxdepth 1 -name "tts-*.wav" -type f -delete
|
|
80
|
-
DELETED=$((DELETED + TTS_WAV_COUNT))
|
|
81
|
-
fi
|
|
82
|
-
|
|
83
|
-
if [[ $TTS_PADDED_MP3_COUNT -gt 0 ]]; then
|
|
84
|
-
find "$AUDIO_DIR" -maxdepth 1 -name "tts-padded-*.mp3" -type f -delete
|
|
85
|
-
DELETED=$((DELETED + TTS_PADDED_MP3_COUNT))
|
|
86
|
-
fi
|
|
87
|
-
|
|
88
|
-
if [[ $TTS_PADDED_WAV_COUNT -gt 0 ]]; then
|
|
89
|
-
find "$AUDIO_DIR" -maxdepth 1 -name "tts-padded-*.wav" -type f -delete
|
|
90
|
-
DELETED=$((DELETED + TTS_PADDED_WAV_COUNT))
|
|
91
|
-
fi
|
|
92
|
-
|
|
93
|
-
if [[ $BMAD_RECORDINGS_COUNT -gt 0 ]]; then
|
|
94
|
-
rm -rf "$AUDIO_DIR/bmad-party-mode-recordings"
|
|
95
|
-
DELETED=$((DELETED + BMAD_RECORDINGS_COUNT))
|
|
96
|
-
fi
|
|
97
|
-
|
|
98
|
-
# Calculate new size
|
|
99
|
-
NEW_SIZE=$(du -sh "$AUDIO_DIR" 2>/dev/null | cut -f1 || echo "unknown")
|
|
100
|
-
|
|
101
|
-
echo ""
|
|
102
|
-
echo -e "${GREEN}✓ Cleanup complete!${NC}"
|
|
103
|
-
echo -e " • Deleted: ${GREEN}$DELETED${NC} files"
|
|
104
|
-
echo -e " • Old size: ${YELLOW}$CACHE_SIZE${NC}"
|
|
105
|
-
echo -e " • New size: ${GREEN}$NEW_SIZE${NC}"
|
|
106
|
-
echo ""
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
# AgentVibes Cache Cleanup Script
|
|
3
|
+
# Removes TTS cache files to free up disk space
|
|
4
|
+
|
|
5
|
+
set -euo pipefail
|
|
6
|
+
|
|
7
|
+
# Get the project root directory
|
|
8
|
+
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
9
|
+
PROJECT_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)"
|
|
10
|
+
AUDIO_DIR="$PROJECT_ROOT/.claude/audio"
|
|
11
|
+
|
|
12
|
+
# Colors for output
|
|
13
|
+
RED='\033[0;31m'
|
|
14
|
+
GREEN='\033[0;32m'
|
|
15
|
+
YELLOW='\033[1;33m'
|
|
16
|
+
BLUE='\033[0;34m'
|
|
17
|
+
NC='\033[0m' # No Color
|
|
18
|
+
|
|
19
|
+
echo -e "${BLUE}🧹 AgentVibes Cache Cleanup${NC}"
|
|
20
|
+
echo ""
|
|
21
|
+
|
|
22
|
+
# Check if audio directory exists
|
|
23
|
+
if [[ ! -d "$AUDIO_DIR" ]]; then
|
|
24
|
+
echo -e "${YELLOW}No cache directory found at: $AUDIO_DIR${NC}"
|
|
25
|
+
exit 0
|
|
26
|
+
fi
|
|
27
|
+
|
|
28
|
+
# Calculate current cache size
|
|
29
|
+
echo "Calculating cache size..."
|
|
30
|
+
CACHE_SIZE=$(du -sh "$AUDIO_DIR" 2>/dev/null | cut -f1 || echo "unknown")
|
|
31
|
+
echo -e "${BLUE}Current cache size: ${YELLOW}$CACHE_SIZE${NC}"
|
|
32
|
+
echo ""
|
|
33
|
+
|
|
34
|
+
# Count files to be deleted
|
|
35
|
+
TTS_MP3_COUNT=$(find "$AUDIO_DIR" -maxdepth 1 -name "tts-*.mp3" -type f 2>/dev/null | wc -l)
|
|
36
|
+
TTS_WAV_COUNT=$(find "$AUDIO_DIR" -maxdepth 1 -name "tts-*.wav" -type f 2>/dev/null | wc -l)
|
|
37
|
+
TTS_PADDED_MP3_COUNT=$(find "$AUDIO_DIR" -maxdepth 1 -name "tts-padded-*.mp3" -type f 2>/dev/null | wc -l)
|
|
38
|
+
TTS_PADDED_WAV_COUNT=$(find "$AUDIO_DIR" -maxdepth 1 -name "tts-padded-*.wav" -type f 2>/dev/null | wc -l)
|
|
39
|
+
BMAD_RECORDINGS_COUNT=0
|
|
40
|
+
if [[ -d "$AUDIO_DIR/bmad-party-mode-recordings" ]]; then
|
|
41
|
+
BMAD_RECORDINGS_COUNT=$(find "$AUDIO_DIR/bmad-party-mode-recordings" -type f 2>/dev/null | wc -l)
|
|
42
|
+
fi
|
|
43
|
+
|
|
44
|
+
TOTAL_FILES=$((TTS_MP3_COUNT + TTS_WAV_COUNT + TTS_PADDED_MP3_COUNT + TTS_PADDED_WAV_COUNT + BMAD_RECORDINGS_COUNT))
|
|
45
|
+
|
|
46
|
+
if [[ $TOTAL_FILES -eq 0 ]]; then
|
|
47
|
+
echo -e "${GREEN}✓ Cache is already clean! No TTS cache files found.${NC}"
|
|
48
|
+
exit 0
|
|
49
|
+
fi
|
|
50
|
+
|
|
51
|
+
echo -e "Found ${YELLOW}$TOTAL_FILES${NC} cache files:"
|
|
52
|
+
echo -e " • TTS MP3 files: $TTS_MP3_COUNT"
|
|
53
|
+
echo -e " • TTS WAV files: $TTS_WAV_COUNT"
|
|
54
|
+
echo -e " • TTS padded MP3 files: $TTS_PADDED_MP3_COUNT"
|
|
55
|
+
echo -e " • TTS padded WAV files: $TTS_PADDED_WAV_COUNT"
|
|
56
|
+
echo -e " • BMAD party mode recordings: $BMAD_RECORDINGS_COUNT"
|
|
57
|
+
echo ""
|
|
58
|
+
|
|
59
|
+
# Ask for confirmation
|
|
60
|
+
read -p "Delete all cache files? (y/N): " -n 1 -r
|
|
61
|
+
echo
|
|
62
|
+
if [[ ! $REPLY =~ ^[Yy]$ ]]; then
|
|
63
|
+
echo -e "${YELLOW}Cleanup cancelled.${NC}"
|
|
64
|
+
exit 0
|
|
65
|
+
fi
|
|
66
|
+
|
|
67
|
+
echo ""
|
|
68
|
+
echo "Deleting cache files..."
|
|
69
|
+
|
|
70
|
+
# Delete TTS cache files
|
|
71
|
+
DELETED=0
|
|
72
|
+
|
|
73
|
+
if [[ $TTS_MP3_COUNT -gt 0 ]]; then
|
|
74
|
+
find "$AUDIO_DIR" -maxdepth 1 -name "tts-*.mp3" -type f -delete
|
|
75
|
+
DELETED=$((DELETED + TTS_MP3_COUNT))
|
|
76
|
+
fi
|
|
77
|
+
|
|
78
|
+
if [[ $TTS_WAV_COUNT -gt 0 ]]; then
|
|
79
|
+
find "$AUDIO_DIR" -maxdepth 1 -name "tts-*.wav" -type f -delete
|
|
80
|
+
DELETED=$((DELETED + TTS_WAV_COUNT))
|
|
81
|
+
fi
|
|
82
|
+
|
|
83
|
+
if [[ $TTS_PADDED_MP3_COUNT -gt 0 ]]; then
|
|
84
|
+
find "$AUDIO_DIR" -maxdepth 1 -name "tts-padded-*.mp3" -type f -delete
|
|
85
|
+
DELETED=$((DELETED + TTS_PADDED_MP3_COUNT))
|
|
86
|
+
fi
|
|
87
|
+
|
|
88
|
+
if [[ $TTS_PADDED_WAV_COUNT -gt 0 ]]; then
|
|
89
|
+
find "$AUDIO_DIR" -maxdepth 1 -name "tts-padded-*.wav" -type f -delete
|
|
90
|
+
DELETED=$((DELETED + TTS_PADDED_WAV_COUNT))
|
|
91
|
+
fi
|
|
92
|
+
|
|
93
|
+
if [[ $BMAD_RECORDINGS_COUNT -gt 0 ]]; then
|
|
94
|
+
rm -rf "$AUDIO_DIR/bmad-party-mode-recordings"
|
|
95
|
+
DELETED=$((DELETED + BMAD_RECORDINGS_COUNT))
|
|
96
|
+
fi
|
|
97
|
+
|
|
98
|
+
# Calculate new size
|
|
99
|
+
NEW_SIZE=$(du -sh "$AUDIO_DIR" 2>/dev/null | cut -f1 || echo "unknown")
|
|
100
|
+
|
|
101
|
+
echo ""
|
|
102
|
+
echo -e "${GREEN}✓ Cleanup complete!${NC}"
|
|
103
|
+
echo -e " • Deleted: ${GREEN}$DELETED${NC} files"
|
|
104
|
+
echo -e " • Old size: ${YELLOW}$CACHE_SIZE${NC}"
|
|
105
|
+
echo -e " • New size: ${GREEN}$NEW_SIZE${NC}"
|
|
106
|
+
echo ""
|
|
@@ -1,137 +1,137 @@
|
|
|
1
|
-
#!/usr/bin/env bash
|
|
2
|
-
#
|
|
3
|
-
# File: .claude/hooks/configure-rdp-mode.sh
|
|
4
|
-
#
|
|
5
|
-
# AgentVibes - RDP Mode Configuration
|
|
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
|
-
#
|
|
15
|
-
# ---
|
|
16
|
-
#
|
|
17
|
-
# @fileoverview Configure RDP mode for optimized audio over remote desktop
|
|
18
|
-
# @context Reduces audio bandwidth for choppy RDP audio connections
|
|
19
|
-
# @architecture Sets environment variable in shell profile for RDP audio optimization
|
|
20
|
-
# @entrypoints Called by /agent-vibes:rdp slash command
|
|
21
|
-
#
|
|
22
|
-
|
|
23
|
-
set -euo pipefail
|
|
24
|
-
|
|
25
|
-
# Fix locale warnings
|
|
26
|
-
export LC_ALL=C
|
|
27
|
-
|
|
28
|
-
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
29
|
-
CONFIG_DIR="$SCRIPT_DIR/../config"
|
|
30
|
-
mkdir -p "$CONFIG_DIR"
|
|
31
|
-
|
|
32
|
-
RDP_CONFIG="$CONFIG_DIR/rdp-mode.txt"
|
|
33
|
-
|
|
34
|
-
# Detect shell profile
|
|
35
|
-
SHELL_PROFILE=""
|
|
36
|
-
if [[ -f "$HOME/.bashrc" ]]; then
|
|
37
|
-
SHELL_PROFILE="$HOME/.bashrc"
|
|
38
|
-
elif [[ -f "$HOME/.zshrc" ]]; then
|
|
39
|
-
SHELL_PROFILE="$HOME/.zshrc"
|
|
40
|
-
elif [[ -f "$HOME/.profile" ]]; then
|
|
41
|
-
SHELL_PROFILE="$HOME/.profile"
|
|
42
|
-
fi
|
|
43
|
-
|
|
44
|
-
show_status() {
|
|
45
|
-
if [[ -f "$RDP_CONFIG" ]] && [[ "$(cat "$RDP_CONFIG" 2>/dev/null)" == "true" ]]; then
|
|
46
|
-
echo "✅ RDP mode: ENABLED"
|
|
47
|
-
echo ""
|
|
48
|
-
echo "Audio settings:"
|
|
49
|
-
echo " • Mono (1 channel)"
|
|
50
|
-
echo " • 22kHz sample rate"
|
|
51
|
-
echo " • 64kbps bitrate"
|
|
52
|
-
echo ""
|
|
53
|
-
echo "This reduces bandwidth for smoother playback over remote desktop."
|
|
54
|
-
else
|
|
55
|
-
echo "❌ RDP mode: DISABLED"
|
|
56
|
-
echo ""
|
|
57
|
-
echo "Standard audio settings:"
|
|
58
|
-
echo " • Stereo (2 channels)"
|
|
59
|
-
echo " • 44.1kHz sample rate"
|
|
60
|
-
echo " • Default bitrate"
|
|
61
|
-
fi
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
enable_rdp_mode() {
|
|
65
|
-
echo "true" > "$RDP_CONFIG"
|
|
66
|
-
|
|
67
|
-
# Add to shell profile if not already present
|
|
68
|
-
if [[ -n "$SHELL_PROFILE" ]]; then
|
|
69
|
-
if ! grep -q "AGENTVIBES_RDP_MODE" "$SHELL_PROFILE" 2>/dev/null; then
|
|
70
|
-
echo "" >> "$SHELL_PROFILE"
|
|
71
|
-
echo "# AgentVibes RDP Mode - Optimized audio for remote desktop" >> "$SHELL_PROFILE"
|
|
72
|
-
echo "export AGENTVIBES_RDP_MODE=true" >> "$SHELL_PROFILE"
|
|
73
|
-
echo "" >> "$SHELL_PROFILE"
|
|
74
|
-
|
|
75
|
-
echo "✅ RDP mode enabled"
|
|
76
|
-
echo ""
|
|
77
|
-
echo "⚠️ IMPORTANT: You must restart Claude Code or run:"
|
|
78
|
-
echo " source $SHELL_PROFILE"
|
|
79
|
-
echo ""
|
|
80
|
-
echo "This is required to set the AGENTVIBES_RDP_MODE environment variable."
|
|
81
|
-
else
|
|
82
|
-
echo "✅ RDP mode enabled (already configured in shell profile)"
|
|
83
|
-
fi
|
|
84
|
-
else
|
|
85
|
-
echo "✅ RDP mode enabled"
|
|
86
|
-
echo ""
|
|
87
|
-
echo "⚠️ WARNING: Could not detect shell profile"
|
|
88
|
-
echo " Manually add this to your shell profile (.bashrc, .zshrc, etc.):"
|
|
89
|
-
echo " export AGENTVIBES_RDP_MODE=true"
|
|
90
|
-
fi
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
disable_rdp_mode() {
|
|
94
|
-
echo "false" > "$RDP_CONFIG"
|
|
95
|
-
|
|
96
|
-
# Remove from shell profile if present
|
|
97
|
-
if [[ -n "$SHELL_PROFILE" ]] && [[ -f "$SHELL_PROFILE" ]]; then
|
|
98
|
-
if grep -q "AGENTVIBES_RDP_MODE" "$SHELL_PROFILE" 2>/dev/null; then
|
|
99
|
-
# Remove the export line and surrounding AgentVibes RDP comments
|
|
100
|
-
sed -i '/# AgentVibes RDP Mode/d' "$SHELL_PROFILE"
|
|
101
|
-
sed -i '/AGENTVIBES_RDP_MODE/d' "$SHELL_PROFILE"
|
|
102
|
-
|
|
103
|
-
echo "✅ RDP mode disabled"
|
|
104
|
-
echo ""
|
|
105
|
-
echo "⚠️ IMPORTANT: You must restart Claude Code or run:"
|
|
106
|
-
echo " unset AGENTVIBES_RDP_MODE"
|
|
107
|
-
echo " source $SHELL_PROFILE"
|
|
108
|
-
else
|
|
109
|
-
echo "✅ RDP mode disabled"
|
|
110
|
-
fi
|
|
111
|
-
else
|
|
112
|
-
echo "✅ RDP mode disabled"
|
|
113
|
-
fi
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
# Main command handling
|
|
117
|
-
COMMAND="${1:-status}"
|
|
118
|
-
|
|
119
|
-
case "$COMMAND" in
|
|
120
|
-
on|enable)
|
|
121
|
-
enable_rdp_mode
|
|
122
|
-
;;
|
|
123
|
-
off|disable)
|
|
124
|
-
disable_rdp_mode
|
|
125
|
-
;;
|
|
126
|
-
status)
|
|
127
|
-
show_status
|
|
128
|
-
;;
|
|
129
|
-
*)
|
|
130
|
-
echo "Usage: $0 {on|off|status}"
|
|
131
|
-
echo ""
|
|
132
|
-
echo " on - Enable RDP mode (optimized audio)"
|
|
133
|
-
echo " off - Disable RDP mode (standard audio)"
|
|
134
|
-
echo " status - Show current RDP mode status"
|
|
135
|
-
exit 1
|
|
136
|
-
;;
|
|
137
|
-
esac
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
#
|
|
3
|
+
# File: .claude/hooks/configure-rdp-mode.sh
|
|
4
|
+
#
|
|
5
|
+
# AgentVibes - RDP Mode Configuration
|
|
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
|
+
#
|
|
15
|
+
# ---
|
|
16
|
+
#
|
|
17
|
+
# @fileoverview Configure RDP mode for optimized audio over remote desktop
|
|
18
|
+
# @context Reduces audio bandwidth for choppy RDP audio connections
|
|
19
|
+
# @architecture Sets environment variable in shell profile for RDP audio optimization
|
|
20
|
+
# @entrypoints Called by /agent-vibes:rdp slash command
|
|
21
|
+
#
|
|
22
|
+
|
|
23
|
+
set -euo pipefail
|
|
24
|
+
|
|
25
|
+
# Fix locale warnings
|
|
26
|
+
export LC_ALL=C
|
|
27
|
+
|
|
28
|
+
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
29
|
+
CONFIG_DIR="$SCRIPT_DIR/../config"
|
|
30
|
+
mkdir -p "$CONFIG_DIR"
|
|
31
|
+
|
|
32
|
+
RDP_CONFIG="$CONFIG_DIR/rdp-mode.txt"
|
|
33
|
+
|
|
34
|
+
# Detect shell profile
|
|
35
|
+
SHELL_PROFILE=""
|
|
36
|
+
if [[ -f "$HOME/.bashrc" ]]; then
|
|
37
|
+
SHELL_PROFILE="$HOME/.bashrc"
|
|
38
|
+
elif [[ -f "$HOME/.zshrc" ]]; then
|
|
39
|
+
SHELL_PROFILE="$HOME/.zshrc"
|
|
40
|
+
elif [[ -f "$HOME/.profile" ]]; then
|
|
41
|
+
SHELL_PROFILE="$HOME/.profile"
|
|
42
|
+
fi
|
|
43
|
+
|
|
44
|
+
show_status() {
|
|
45
|
+
if [[ -f "$RDP_CONFIG" ]] && [[ "$(cat "$RDP_CONFIG" 2>/dev/null)" == "true" ]]; then
|
|
46
|
+
echo "✅ RDP mode: ENABLED"
|
|
47
|
+
echo ""
|
|
48
|
+
echo "Audio settings:"
|
|
49
|
+
echo " • Mono (1 channel)"
|
|
50
|
+
echo " • 22kHz sample rate"
|
|
51
|
+
echo " • 64kbps bitrate"
|
|
52
|
+
echo ""
|
|
53
|
+
echo "This reduces bandwidth for smoother playback over remote desktop."
|
|
54
|
+
else
|
|
55
|
+
echo "❌ RDP mode: DISABLED"
|
|
56
|
+
echo ""
|
|
57
|
+
echo "Standard audio settings:"
|
|
58
|
+
echo " • Stereo (2 channels)"
|
|
59
|
+
echo " • 44.1kHz sample rate"
|
|
60
|
+
echo " • Default bitrate"
|
|
61
|
+
fi
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
enable_rdp_mode() {
|
|
65
|
+
echo "true" > "$RDP_CONFIG"
|
|
66
|
+
|
|
67
|
+
# Add to shell profile if not already present
|
|
68
|
+
if [[ -n "$SHELL_PROFILE" ]]; then
|
|
69
|
+
if ! grep -q "AGENTVIBES_RDP_MODE" "$SHELL_PROFILE" 2>/dev/null; then
|
|
70
|
+
echo "" >> "$SHELL_PROFILE"
|
|
71
|
+
echo "# AgentVibes RDP Mode - Optimized audio for remote desktop" >> "$SHELL_PROFILE"
|
|
72
|
+
echo "export AGENTVIBES_RDP_MODE=true" >> "$SHELL_PROFILE"
|
|
73
|
+
echo "" >> "$SHELL_PROFILE"
|
|
74
|
+
|
|
75
|
+
echo "✅ RDP mode enabled"
|
|
76
|
+
echo ""
|
|
77
|
+
echo "⚠️ IMPORTANT: You must restart Claude Code or run:"
|
|
78
|
+
echo " source $SHELL_PROFILE"
|
|
79
|
+
echo ""
|
|
80
|
+
echo "This is required to set the AGENTVIBES_RDP_MODE environment variable."
|
|
81
|
+
else
|
|
82
|
+
echo "✅ RDP mode enabled (already configured in shell profile)"
|
|
83
|
+
fi
|
|
84
|
+
else
|
|
85
|
+
echo "✅ RDP mode enabled"
|
|
86
|
+
echo ""
|
|
87
|
+
echo "⚠️ WARNING: Could not detect shell profile"
|
|
88
|
+
echo " Manually add this to your shell profile (.bashrc, .zshrc, etc.):"
|
|
89
|
+
echo " export AGENTVIBES_RDP_MODE=true"
|
|
90
|
+
fi
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
disable_rdp_mode() {
|
|
94
|
+
echo "false" > "$RDP_CONFIG"
|
|
95
|
+
|
|
96
|
+
# Remove from shell profile if present
|
|
97
|
+
if [[ -n "$SHELL_PROFILE" ]] && [[ -f "$SHELL_PROFILE" ]]; then
|
|
98
|
+
if grep -q "AGENTVIBES_RDP_MODE" "$SHELL_PROFILE" 2>/dev/null; then
|
|
99
|
+
# Remove the export line and surrounding AgentVibes RDP comments
|
|
100
|
+
sed -i '/# AgentVibes RDP Mode/d' "$SHELL_PROFILE"
|
|
101
|
+
sed -i '/AGENTVIBES_RDP_MODE/d' "$SHELL_PROFILE"
|
|
102
|
+
|
|
103
|
+
echo "✅ RDP mode disabled"
|
|
104
|
+
echo ""
|
|
105
|
+
echo "⚠️ IMPORTANT: You must restart Claude Code or run:"
|
|
106
|
+
echo " unset AGENTVIBES_RDP_MODE"
|
|
107
|
+
echo " source $SHELL_PROFILE"
|
|
108
|
+
else
|
|
109
|
+
echo "✅ RDP mode disabled"
|
|
110
|
+
fi
|
|
111
|
+
else
|
|
112
|
+
echo "✅ RDP mode disabled"
|
|
113
|
+
fi
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
# Main command handling
|
|
117
|
+
COMMAND="${1:-status}"
|
|
118
|
+
|
|
119
|
+
case "$COMMAND" in
|
|
120
|
+
on|enable)
|
|
121
|
+
enable_rdp_mode
|
|
122
|
+
;;
|
|
123
|
+
off|disable)
|
|
124
|
+
disable_rdp_mode
|
|
125
|
+
;;
|
|
126
|
+
status)
|
|
127
|
+
show_status
|
|
128
|
+
;;
|
|
129
|
+
*)
|
|
130
|
+
echo "Usage: $0 {on|off|status}"
|
|
131
|
+
echo ""
|
|
132
|
+
echo " on - Enable RDP mode (optimized audio)"
|
|
133
|
+
echo " off - Disable RDP mode (standard audio)"
|
|
134
|
+
echo " status - Show current RDP mode status"
|
|
135
|
+
exit 1
|
|
136
|
+
;;
|
|
137
|
+
esac
|