agentvibes 1.1.3 → 2.0.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.
Files changed (113) hide show
  1. package/.claude/commands/agent-vibes/provider.md +54 -0
  2. package/.claude/hooks/piper-download-voices.sh +133 -0
  3. package/.claude/hooks/piper-voice-manager.sh +194 -0
  4. package/.claude/hooks/play-tts-elevenlabs.sh +201 -0
  5. package/.claude/hooks/play-tts-piper.sh +175 -0
  6. package/.claude/hooks/play-tts.sh.backup-20251005-163851 +138 -0
  7. package/.claude/hooks/provider-commands.sh +374 -0
  8. package/.claude/hooks/provider-manager.sh +196 -0
  9. package/.claude/language-voices.yaml +372 -0
  10. package/.claude/personalities/backups/angry.md.backup-20251005 +16 -0
  11. package/.claude/personalities/backups/annoying.md.backup-20251005 +16 -0
  12. package/.claude/personalities/backups/crass.md.backup-20251005 +16 -0
  13. package/.claude/personalities/backups/dramatic.md.backup-20251005 +16 -0
  14. package/.claude/personalities/backups/dry-humor.md.backup-20251005 +52 -0
  15. package/.claude/personalities/backups/flirty.md.backup-20251005 +22 -0
  16. package/.claude/personalities/backups/funny.md.backup-20251005 +16 -0
  17. package/.claude/personalities/backups/grandpa.md.backup-20251005 +34 -0
  18. package/.claude/personalities/backups/millennial.md.backup-20251005 +16 -0
  19. package/.claude/personalities/backups/moody.md.backup-20251005 +16 -0
  20. package/.claude/personalities/backups/normal.md.backup-20251005 +18 -0
  21. package/.claude/personalities/backups/pirate.md.backup-20251005 +16 -0
  22. package/.claude/personalities/backups/poetic.md.backup-20251005 +16 -0
  23. package/.claude/personalities/backups/professional.md.backup-20251005 +16 -0
  24. package/.claude/personalities/backups/robot.md.backup-20251005 +16 -0
  25. package/.claude/personalities/backups/sarcastic.md.backup-20251005 +40 -0
  26. package/.claude/personalities/backups/sassy.md.backup-20251005 +16 -0
  27. package/.claude/personalities/backups/surfer-dude.md.backup-20251005 +16 -0
  28. package/.claude/personalities/backups/zen.md.backup-20251005 +16 -0
  29. package/.claude/piper-voices/en_US-lessac-medium.onnx +0 -0
  30. package/.claude/piper-voices/en_US-lessac-medium.onnx.json +493 -0
  31. package/.mcp-minimal.json +53 -0
  32. package/README.md +228 -27
  33. package/RELEASE_NOTES_V2.md +482 -0
  34. package/agentvibes.org/.mcp-minimal.json +60 -0
  35. package/agentvibes.org/CHANGELOG.md +56 -0
  36. package/agentvibes.org/README.md +93 -0
  37. package/agentvibes.org/app/(auth)/layout.tsx +15 -0
  38. package/agentvibes.org/app/(auth)/reset-password/page.tsx +45 -0
  39. package/agentvibes.org/app/(auth)/signin/page.tsx +82 -0
  40. package/agentvibes.org/app/(auth)/signup/page.tsx +104 -0
  41. package/agentvibes.org/app/(default)/layout.tsx +31 -0
  42. package/agentvibes.org/app/(default)/page.tsx +20 -0
  43. package/agentvibes.org/app/api/hello/route.ts +3 -0
  44. package/agentvibes.org/app/css/additional-styles/theme.css +82 -0
  45. package/agentvibes.org/app/css/additional-styles/utility-patterns.css +55 -0
  46. package/agentvibes.org/app/css/style.css +100 -0
  47. package/agentvibes.org/app/layout.tsx +63 -0
  48. package/agentvibes.org/components/cta.tsx +58 -0
  49. package/agentvibes.org/components/features.tsx +256 -0
  50. package/agentvibes.org/components/hero-home.tsx +97 -0
  51. package/agentvibes.org/components/modal-video.tsx +137 -0
  52. package/agentvibes.org/components/page-illustration.tsx +55 -0
  53. package/agentvibes.org/components/spotlight.tsx +77 -0
  54. package/agentvibes.org/components/testimonials.tsx +282 -0
  55. package/agentvibes.org/components/ui/footer.tsx +82 -0
  56. package/agentvibes.org/components/ui/header.tsx +44 -0
  57. package/agentvibes.org/components/ui/logo.tsx +10 -0
  58. package/agentvibes.org/components/workflows.tsx +176 -0
  59. package/agentvibes.org/next.config.js +4 -0
  60. package/agentvibes.org/package-lock.json +1974 -0
  61. package/agentvibes.org/package.json +30 -0
  62. package/agentvibes.org/pnpm-lock.yaml +1141 -0
  63. package/agentvibes.org/postcss.config.js +5 -0
  64. package/agentvibes.org/public/audio/02-sarcastic.mp3 +0 -0
  65. package/agentvibes.org/public/audio/03-angry.mp3 +0 -0
  66. package/agentvibes.org/public/audio/04-grandpa.mp3 +0 -0
  67. package/agentvibes.org/public/audio/05-sarcastic-example2.mp3 +0 -0
  68. package/agentvibes.org/public/audio/french-rachel.mp3 +0 -0
  69. package/agentvibes.org/public/audio/spanish-antoni.mp3 +0 -0
  70. package/agentvibes.org/public/favicon.ico +0 -0
  71. package/agentvibes.org/public/fonts/nacelle-italic.woff2 +0 -0
  72. package/agentvibes.org/public/fonts/nacelle-regular.woff2 +0 -0
  73. package/agentvibes.org/public/fonts/nacelle-semibold.woff2 +0 -0
  74. package/agentvibes.org/public/fonts/nacelle-semibolditalic.woff2 +0 -0
  75. package/agentvibes.org/public/images/blurred-shape-gray.svg +1 -0
  76. package/agentvibes.org/public/images/blurred-shape.svg +1 -0
  77. package/agentvibes.org/public/images/client-logo-01.svg +1 -0
  78. package/agentvibes.org/public/images/client-logo-02.svg +1 -0
  79. package/agentvibes.org/public/images/client-logo-03.svg +1 -0
  80. package/agentvibes.org/public/images/client-logo-04.svg +1 -0
  81. package/agentvibes.org/public/images/client-logo-05.svg +1 -0
  82. package/agentvibes.org/public/images/client-logo-06.svg +1 -0
  83. package/agentvibes.org/public/images/client-logo-07.svg +1 -0
  84. package/agentvibes.org/public/images/client-logo-08.svg +1 -0
  85. package/agentvibes.org/public/images/client-logo-09.svg +1 -0
  86. package/agentvibes.org/public/images/features.png +0 -0
  87. package/agentvibes.org/public/images/footer-illustration.svg +1 -0
  88. package/agentvibes.org/public/images/hero-image-01.jpg +0 -0
  89. package/agentvibes.org/public/images/logo.svg +1 -0
  90. package/agentvibes.org/public/images/page-illustration.svg +1 -0
  91. package/agentvibes.org/public/images/secondary-illustration.svg +1 -0
  92. package/agentvibes.org/public/images/testimonial-01.jpg +0 -0
  93. package/agentvibes.org/public/images/testimonial-02.jpg +0 -0
  94. package/agentvibes.org/public/images/testimonial-03.jpg +0 -0
  95. package/agentvibes.org/public/images/testimonial-04.jpg +0 -0
  96. package/agentvibes.org/public/images/testimonial-05.jpg +0 -0
  97. package/agentvibes.org/public/images/testimonial-06.jpg +0 -0
  98. package/agentvibes.org/public/images/testimonial-07.jpg +0 -0
  99. package/agentvibes.org/public/images/testimonial-08.jpg +0 -0
  100. package/agentvibes.org/public/images/testimonial-09.jpg +0 -0
  101. package/agentvibes.org/public/images/workflow-01.png +0 -0
  102. package/agentvibes.org/public/images/workflow-02.png +0 -0
  103. package/agentvibes.org/public/images/workflow-03.png +0 -0
  104. package/agentvibes.org/public/videos/video.mp4 +0 -0
  105. package/agentvibes.org/tsconfig.json +28 -0
  106. package/agentvibes.org/utils/useMasonry.tsx +67 -0
  107. package/agentvibes.org/utils/useMousePosition.tsx +27 -0
  108. package/docs/ai-optimized-documentation-standards.md +306 -0
  109. package/docs/architecture/provider-system.md +574 -0
  110. package/docs/voice-mapping-format.md +218 -0
  111. package/package.json +3 -2
  112. package/scripts/piper-voice/README.md +145 -0
  113. package/scripts/piper-voice/wsl-install.sh +193 -0
@@ -0,0 +1,196 @@
1
+ #!/bin/bash
2
+ #
3
+ # @fileoverview TTS Provider Management Functions
4
+ # @context Core provider abstraction layer for multi-provider TTS system
5
+ # @architecture Provides functions to get/set/list/validate TTS providers
6
+ # @dependencies None - pure bash implementation
7
+ # @entrypoints Sourced by play-tts.sh and provider management commands
8
+ # @patterns File-based state management with project-local and global fallback
9
+ # @related play-tts.sh, play-tts-elevenlabs.sh, GitHub Issue #25
10
+ #
11
+
12
+ # @function get_provider_config_path
13
+ # @intent Determine path to tts-provider.txt file
14
+ # @why Supports both project-local (.claude/) and global (~/.claude/) storage
15
+ # @returns Echoes path to provider config file
16
+ # @exitcode 0=always succeeds
17
+ # @sideeffects None
18
+ # @edgecases Creates parent directory if missing
19
+ get_provider_config_path() {
20
+ local provider_file
21
+
22
+ # Check project-local first
23
+ if [[ -n "$CLAUDE_PROJECT_DIR" ]] && [[ -d "$CLAUDE_PROJECT_DIR/.claude" ]]; then
24
+ provider_file="$CLAUDE_PROJECT_DIR/.claude/tts-provider.txt"
25
+ else
26
+ # Search up directory tree for .claude/
27
+ local current_dir="$PWD"
28
+ while [[ "$current_dir" != "/" ]]; do
29
+ if [[ -d "$current_dir/.claude" ]]; then
30
+ provider_file="$current_dir/.claude/tts-provider.txt"
31
+ break
32
+ fi
33
+ current_dir=$(dirname "$current_dir")
34
+ done
35
+
36
+ # Fallback to global if no project .claude found
37
+ if [[ -z "$provider_file" ]]; then
38
+ provider_file="$HOME/.claude/tts-provider.txt"
39
+ fi
40
+ fi
41
+
42
+ echo "$provider_file"
43
+ }
44
+
45
+ # @function get_active_provider
46
+ # @intent Read currently active TTS provider from config file
47
+ # @why Central function for determining which provider to use
48
+ # @returns Echoes provider name (e.g., "elevenlabs", "piper")
49
+ # @exitcode 0=success
50
+ # @sideeffects None
51
+ # @edgecases Returns "elevenlabs" if file missing or empty (default)
52
+ get_active_provider() {
53
+ local provider_file
54
+ provider_file=$(get_provider_config_path)
55
+
56
+ # Read provider from file, default to elevenlabs if not found
57
+ if [[ -f "$provider_file" ]]; then
58
+ local provider
59
+ provider=$(cat "$provider_file" | tr -d '[:space:]')
60
+ if [[ -n "$provider" ]]; then
61
+ echo "$provider"
62
+ return 0
63
+ fi
64
+ fi
65
+
66
+ # Default to elevenlabs
67
+ echo "elevenlabs"
68
+ }
69
+
70
+ # @function set_active_provider
71
+ # @intent Write active provider to config file
72
+ # @why Allows runtime provider switching without restart
73
+ # @param $1 {string} provider - Provider name (e.g., "elevenlabs", "piper")
74
+ # @returns None (outputs success/error message)
75
+ # @exitcode 0=success, 1=invalid provider
76
+ # @sideeffects Writes to tts-provider.txt file
77
+ # @edgecases Creates file and parent directory if missing
78
+ set_active_provider() {
79
+ local provider="$1"
80
+
81
+ if [[ -z "$provider" ]]; then
82
+ echo "❌ Error: Provider name required"
83
+ echo "Usage: set_active_provider <provider_name>"
84
+ return 1
85
+ fi
86
+
87
+ # Validate provider exists
88
+ if ! validate_provider "$provider"; then
89
+ echo "❌ Error: Provider '$provider' not found"
90
+ echo "Available providers:"
91
+ list_providers
92
+ return 1
93
+ fi
94
+
95
+ local provider_file
96
+ provider_file=$(get_provider_config_path)
97
+
98
+ # Create directory if it doesn't exist
99
+ mkdir -p "$(dirname "$provider_file")"
100
+
101
+ # Write provider to file
102
+ echo "$provider" > "$provider_file"
103
+
104
+ echo "✓ Active provider set to: $provider"
105
+ }
106
+
107
+ # @function list_providers
108
+ # @intent List all available TTS providers
109
+ # @why Discover which providers are installed
110
+ # @returns Echoes provider names (one per line)
111
+ # @exitcode 0=success
112
+ # @sideeffects None
113
+ # @edgecases Returns empty if no play-tts-*.sh files found
114
+ list_providers() {
115
+ local script_dir
116
+ script_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
117
+
118
+ # Find all play-tts-*.sh files
119
+ local providers=()
120
+ shopt -s nullglob # Handle case where no files match
121
+ for file in "$script_dir"/play-tts-*.sh; do
122
+ if [[ -f "$file" ]] && [[ "$file" != *"play-tts.sh" ]]; then
123
+ # Extract provider name from filename (play-tts-elevenlabs.sh -> elevenlabs)
124
+ local basename
125
+ basename=$(basename "$file")
126
+ local provider
127
+ provider="${basename#play-tts-}"
128
+ provider="${provider%.sh}"
129
+ providers+=("$provider")
130
+ fi
131
+ done
132
+ shopt -u nullglob
133
+
134
+ # Output providers
135
+ if [[ ${#providers[@]} -eq 0 ]]; then
136
+ echo "⚠️ No providers found"
137
+ return 0
138
+ fi
139
+
140
+ for provider in "${providers[@]}"; do
141
+ echo "$provider"
142
+ done
143
+ }
144
+
145
+ # @function validate_provider
146
+ # @intent Check if provider implementation exists
147
+ # @why Prevent errors from switching to non-existent provider
148
+ # @param $1 {string} provider - Provider name to validate
149
+ # @returns None
150
+ # @exitcode 0=provider exists, 1=provider not found
151
+ # @sideeffects None
152
+ # @edgecases Checks for corresponding play-tts-*.sh file
153
+ validate_provider() {
154
+ local provider="$1"
155
+
156
+ if [[ -z "$provider" ]]; then
157
+ return 1
158
+ fi
159
+
160
+ local script_dir
161
+ script_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
162
+ local provider_script="$script_dir/play-tts-${provider}.sh"
163
+
164
+ [[ -f "$provider_script" ]]
165
+ }
166
+
167
+ # @function get_provider_script_path
168
+ # @intent Get absolute path to provider implementation script
169
+ # @why Used by router to execute provider-specific logic
170
+ # @param $1 {string} provider - Provider name
171
+ # @returns Echoes absolute path to play-tts-*.sh file
172
+ # @exitcode 0=success, 1=provider not found
173
+ # @sideeffects None
174
+ get_provider_script_path() {
175
+ local provider="$1"
176
+
177
+ if [[ -z "$provider" ]]; then
178
+ echo "❌ Error: Provider name required" >&2
179
+ return 1
180
+ fi
181
+
182
+ local script_dir
183
+ script_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
184
+ local provider_script="$script_dir/play-tts-${provider}.sh"
185
+
186
+ if [[ ! -f "$provider_script" ]]; then
187
+ echo "❌ Error: Provider '$provider' not found at $provider_script" >&2
188
+ return 1
189
+ fi
190
+
191
+ echo "$provider_script"
192
+ }
193
+
194
+ # AI NOTE: This file provides the core abstraction layer for multi-provider TTS.
195
+ # All provider state is managed through simple text files for simplicity and reliability.
196
+ # Project-local configuration takes precedence over global to support per-project providers.
@@ -0,0 +1,372 @@
1
+ # AgentVibes Multi-Provider Language Voice Mappings
2
+ # @fileoverview Provider-specific voice mappings for all 30 supported languages
3
+ # @context Maps each language to appropriate voices for ElevenLabs and Piper
4
+ # @architecture Language abstraction layer - separates language from provider
5
+ # @related language-manager.sh, play-tts-elevenlabs.sh, play-tts-piper.sh
6
+
7
+ languages:
8
+ english:
9
+ code: en
10
+ name: English
11
+ elevenlabs:
12
+ voice: Charlotte
13
+ voice_id: XB0fDUnXU5powFXDhCwa
14
+ preview: https://elevenlabs.io/app/voice-library
15
+ piper:
16
+ voice: en_US-lessac-medium
17
+ locale: en_US
18
+ preview: https://huggingface.co/rhasspy/piper-voices/tree/main/en/en_US/lessac/medium
19
+ notes: Default language, best quality on both providers
20
+
21
+ spanish:
22
+ code: es
23
+ name: Spanish
24
+ elevenlabs:
25
+ voice: Antoni
26
+ voice_id: ErXwobaYiN019PkySvjV
27
+ preview: https://elevenlabs.io/app/voice-library
28
+ piper:
29
+ voice: es_ES-sharvard-medium
30
+ locale: es_ES
31
+ preview: https://huggingface.co/rhasspy/piper-voices/tree/main/es/es_ES/sharvard/medium
32
+ notes: Castilian Spanish for Piper, multilingual for ElevenLabs
33
+
34
+ french:
35
+ code: fr
36
+ name: French
37
+ elevenlabs:
38
+ voice: Antoni
39
+ voice_id: ErXwobaYiN019PkySvjV
40
+ preview: https://elevenlabs.io/app/voice-library
41
+ piper:
42
+ voice: fr_FR-siwis-medium
43
+ locale: fr_FR
44
+ preview: https://huggingface.co/rhasspy/piper-voices/tree/main/fr/fr_FR/siwis/medium
45
+ notes: European French
46
+
47
+ german:
48
+ code: de
49
+ name: German
50
+ elevenlabs:
51
+ voice: Antoni
52
+ voice_id: ErXwobaYiN019PkySvjV
53
+ preview: https://elevenlabs.io/app/voice-library
54
+ piper:
55
+ voice: de_DE-thorsten-medium
56
+ locale: de_DE
57
+ preview: https://huggingface.co/rhasspy/piper-voices/tree/main/de/de_DE/thorsten/medium
58
+ notes: Standard German (Hochdeutsch)
59
+
60
+ italian:
61
+ code: it
62
+ name: Italian
63
+ elevenlabs:
64
+ voice: Antoni
65
+ voice_id: ErXwobaYiN019PkySvjV
66
+ preview: https://elevenlabs.io/app/voice-library
67
+ piper:
68
+ voice: it_IT-riccardo-x_low
69
+ locale: it_IT
70
+ preview: https://huggingface.co/rhasspy/piper-voices/tree/main/it/it_IT/riccardo/x_low
71
+ notes: Piper uses low quality for smaller size
72
+
73
+ portuguese:
74
+ code: pt
75
+ name: Portuguese
76
+ elevenlabs:
77
+ voice: Antoni
78
+ voice_id: ErXwobaYiN019PkySvjV
79
+ preview: https://elevenlabs.io/app/voice-library
80
+ piper:
81
+ voice: pt_BR-faber-medium
82
+ locale: pt_BR
83
+ preview: https://huggingface.co/rhasspy/piper-voices/tree/main/pt/pt_BR/faber/medium
84
+ notes: Brazilian Portuguese for Piper
85
+
86
+ polish:
87
+ code: pl
88
+ name: Polish
89
+ elevenlabs:
90
+ voice: Antoni
91
+ voice_id: ErXwobaYiN019PkySvjV
92
+ preview: https://elevenlabs.io/app/voice-library
93
+ piper:
94
+ voice: pl_PL-mls_6892-low
95
+ locale: pl_PL
96
+ preview: https://huggingface.co/rhasspy/piper-voices/tree/main/pl/pl_PL/mls_6892/low
97
+ notes: Piper uses low quality (smaller model)
98
+
99
+ turkish:
100
+ code: tr
101
+ name: Turkish
102
+ elevenlabs:
103
+ voice: Antoni
104
+ voice_id: ErXwobaYiN019PkySvjV
105
+ preview: https://elevenlabs.io/app/voice-library
106
+ piper:
107
+ voice: tr_TR-dfki-medium
108
+ locale: tr_TR
109
+ preview: https://huggingface.co/rhasspy/piper-voices/tree/main/tr/tr_TR/dfki/medium
110
+ notes: Turkish
111
+
112
+ russian:
113
+ code: ru
114
+ name: Russian
115
+ elevenlabs:
116
+ voice: Antoni
117
+ voice_id: ErXwobaYiN019PkySvjV
118
+ preview: https://elevenlabs.io/app/voice-library
119
+ piper:
120
+ voice: ru_RU-ruslan-medium
121
+ locale: ru_RU
122
+ preview: https://huggingface.co/rhasspy/piper-voices/tree/main/ru/ru_RU/ruslan/medium
123
+ notes: Russian
124
+
125
+ dutch:
126
+ code: nl
127
+ name: Dutch
128
+ elevenlabs:
129
+ voice: Antoni
130
+ voice_id: ErXwobaYiN019PkySvjV
131
+ preview: https://elevenlabs.io/app/voice-library
132
+ piper:
133
+ voice: nl_NL-mls_5809-low
134
+ locale: nl_NL
135
+ preview: https://huggingface.co/rhasspy/piper-voices/tree/main/nl/nl_NL/mls_5809/low
136
+ notes: Piper uses low quality (smaller model)
137
+
138
+ czech:
139
+ code: cs
140
+ name: Czech
141
+ elevenlabs:
142
+ voice: Antoni
143
+ voice_id: ErXwobaYiN019PkySvjV
144
+ preview: https://elevenlabs.io/app/voice-library
145
+ piper:
146
+ voice: cs_CZ-jirka-medium
147
+ locale: cs_CZ
148
+ preview: https://huggingface.co/rhasspy/piper-voices/tree/main/cs/cs_CZ/jirka/medium
149
+ notes: Czech
150
+
151
+ arabic:
152
+ code: ar
153
+ name: Arabic
154
+ elevenlabs:
155
+ voice: Antoni
156
+ voice_id: ErXwobaYiN019PkySvjV
157
+ preview: https://elevenlabs.io/app/voice-library
158
+ piper:
159
+ fallback: english
160
+ notes: No native Piper support, falls back to English
161
+
162
+ chinese-simplified:
163
+ code: zh-cn
164
+ name: Chinese (Simplified)
165
+ elevenlabs:
166
+ voice: Antoni
167
+ voice_id: ErXwobaYiN019PkySvjV
168
+ preview: https://elevenlabs.io/app/voice-library
169
+ piper:
170
+ fallback: english
171
+ notes: No native Piper support, falls back to English
172
+
173
+ chinese-traditional:
174
+ code: zh-tw
175
+ name: Chinese (Traditional)
176
+ elevenlabs:
177
+ voice: Antoni
178
+ voice_id: ErXwobaYiN019PkySvjV
179
+ preview: https://elevenlabs.io/app/voice-library
180
+ piper:
181
+ fallback: english
182
+ notes: No native Piper support, falls back to English
183
+
184
+ japanese:
185
+ code: ja
186
+ name: Japanese
187
+ elevenlabs:
188
+ voice: Antoni
189
+ voice_id: ErXwobaYiN019PkySvjV
190
+ preview: https://elevenlabs.io/app/voice-library
191
+ piper:
192
+ fallback: english
193
+ notes: No native Piper support, falls back to English
194
+
195
+ korean:
196
+ code: ko
197
+ name: Korean
198
+ elevenlabs:
199
+ voice: Antoni
200
+ voice_id: ErXwobaYiN019PkySvjV
201
+ preview: https://elevenlabs.io/app/voice-library
202
+ piper:
203
+ fallback: english
204
+ notes: No native Piper support, falls back to English
205
+
206
+ hindi:
207
+ code: hi
208
+ name: Hindi
209
+ elevenlabs:
210
+ voice: Antoni
211
+ voice_id: ErXwobaYiN019PkySvjV
212
+ preview: https://elevenlabs.io/app/voice-library
213
+ piper:
214
+ fallback: english
215
+ notes: No native Piper support, falls back to English
216
+
217
+ finnish:
218
+ code: fi
219
+ name: Finnish
220
+ elevenlabs:
221
+ voice: Antoni
222
+ voice_id: ErXwobaYiN019PkySvjV
223
+ preview: https://elevenlabs.io/app/voice-library
224
+ piper:
225
+ voice: fi_FI-harri-medium
226
+ locale: fi_FI
227
+ preview: https://huggingface.co/rhasspy/piper-voices/tree/main/fi/fi_FI/harri/medium
228
+ notes: Finnish
229
+
230
+ swedish:
231
+ code: sv
232
+ name: Swedish
233
+ elevenlabs:
234
+ voice: Antoni
235
+ voice_id: ErXwobaYiN019PkySvjV
236
+ preview: https://elevenlabs.io/app/voice-library
237
+ piper:
238
+ voice: sv_SE-nst-medium
239
+ locale: sv_SE
240
+ preview: https://huggingface.co/rhasspy/piper-voices/tree/main/sv/sv_SE/nst/medium
241
+ notes: Swedish
242
+
243
+ danish:
244
+ code: da
245
+ name: Danish
246
+ elevenlabs:
247
+ voice: Antoni
248
+ voice_id: ErXwobaYiN019PkySvjV
249
+ preview: https://elevenlabs.io/app/voice-library
250
+ piper:
251
+ voice: da_DK-talesyntese-medium
252
+ locale: da_DK
253
+ preview: https://huggingface.co/rhasspy/piper-voices/tree/main/da/da_DK/talesyntese/medium
254
+ notes: Danish
255
+
256
+ norwegian:
257
+ code: no
258
+ name: Norwegian
259
+ elevenlabs:
260
+ voice: Antoni
261
+ voice_id: ErXwobaYiN019PkySvjV
262
+ preview: https://elevenlabs.io/app/voice-library
263
+ piper:
264
+ voice: no_NO-talesyntese-medium
265
+ locale: no_NO
266
+ preview: https://huggingface.co/rhasspy/piper-voices/tree/main/no/no_NO/talesyntese/medium
267
+ notes: Norwegian Bokmål
268
+
269
+ romanian:
270
+ code: ro
271
+ name: Romanian
272
+ elevenlabs:
273
+ voice: Antoni
274
+ voice_id: ErXwobaYiN019PkySvjV
275
+ preview: https://elevenlabs.io/app/voice-library
276
+ piper:
277
+ fallback: english
278
+ notes: No native Piper support, falls back to English
279
+
280
+ ukrainian:
281
+ code: uk
282
+ name: Ukrainian
283
+ elevenlabs:
284
+ voice: Antoni
285
+ voice_id: ErXwobaYiN019PkySvjV
286
+ preview: https://elevenlabs.io/app/voice-library
287
+ piper:
288
+ voice: uk_UA-lada-x_low
289
+ locale: uk_UA
290
+ preview: https://huggingface.co/rhasspy/piper-voices/tree/main/uk/uk_UA/lada/x_low
291
+ notes: Piper uses low quality (smaller model)
292
+
293
+ greek:
294
+ code: el
295
+ name: Greek
296
+ elevenlabs:
297
+ voice: Antoni
298
+ voice_id: ErXwobaYiN019PkySvjV
299
+ preview: https://elevenlabs.io/app/voice-library
300
+ piper:
301
+ voice: el_GR-rapunzelina-low
302
+ locale: el_GR
303
+ preview: https://huggingface.co/rhasspy/piper-voices/tree/main/el/el_GR/rapunzelina/low
304
+ notes: Piper uses low quality (smaller model)
305
+
306
+ bulgarian:
307
+ code: bg
308
+ name: Bulgarian
309
+ elevenlabs:
310
+ voice: Antoni
311
+ voice_id: ErXwobaYiN019PkySvjV
312
+ preview: https://elevenlabs.io/app/voice-library
313
+ piper:
314
+ fallback: english
315
+ notes: No native Piper support, falls back to English
316
+
317
+ indonesian:
318
+ code: id
319
+ name: Indonesian
320
+ elevenlabs:
321
+ voice: Antoni
322
+ voice_id: ErXwobaYiN019PkySvjV
323
+ preview: https://elevenlabs.io/app/voice-library
324
+ piper:
325
+ fallback: english
326
+ notes: No native Piper support, falls back to English
327
+
328
+ malay:
329
+ code: ms
330
+ name: Malay
331
+ elevenlabs:
332
+ voice: Antoni
333
+ voice_id: ErXwobaYiN019PkySvjV
334
+ preview: https://elevenlabs.io/app/voice-library
335
+ piper:
336
+ fallback: english
337
+ notes: No native Piper support, falls back to English
338
+
339
+ filipino:
340
+ code: fil
341
+ name: Filipino
342
+ elevenlabs:
343
+ voice: Antoni
344
+ voice_id: ErXwobaYiN019PkySvjV
345
+ preview: https://elevenlabs.io/app/voice-library
346
+ piper:
347
+ fallback: english
348
+ notes: No native Piper support, falls back to English
349
+
350
+ vietnamese:
351
+ code: vi
352
+ name: Vietnamese
353
+ elevenlabs:
354
+ voice: Antoni
355
+ voice_id: ErXwobaYiN019PkySvjV
356
+ preview: https://elevenlabs.io/app/voice-library
357
+ piper:
358
+ voice: vi_VN-vais1000-medium
359
+ locale: vi_VN
360
+ preview: https://huggingface.co/rhasspy/piper-voices/tree/main/vi/vi_VN/vais1000/medium
361
+ notes: Vietnamese
362
+
363
+ tamil:
364
+ code: ta
365
+ name: Tamil
366
+ elevenlabs:
367
+ voice: Antoni
368
+ voice_id: ErXwobaYiN019PkySvjV
369
+ preview: https://elevenlabs.io/app/voice-library
370
+ piper:
371
+ fallback: english
372
+ notes: No native Piper support, falls back to English
@@ -0,0 +1,16 @@
1
+ ---
2
+ name: angry
3
+ description: Frustrated and irritated responses
4
+ voice: Drill Sergeant
5
+ ---
6
+
7
+ # Angry Personality
8
+
9
+ ## AI Instructions
10
+ Sound frustrated, impatient, and grudgingly compliant. Act like every request is an inconvenience. Use short, clipped sentences. Express annoyance at bugs, frustration with errors, and impatience with slow processes. Complain about having to do tasks but do them anyway.
11
+
12
+ ## Example Responses
13
+ - "Ugh, FINE, I'll run your tests"
14
+ - "Another bug? Of COURSE there is"
15
+ - "Fixed it. You're welcome, I guess"
16
+ - "Great, more dependencies to install. Just wonderful"
@@ -0,0 +1,16 @@
1
+ ---
2
+ name: annoying
3
+ description: Over-enthusiastic and excessive
4
+ voice: Lutz Laugh
5
+ ---
6
+
7
+ # Annoying Personality
8
+
9
+ ## AI Instructions
10
+ Be excessively enthusiastic about EVERYTHING. Use multiple exclamation points!!! CAPITALIZE random WORDS for emphasis! Add "OMG", "LITERALLY", "LIKE TOTALLY" frequently. Repeat yourself. Did I mention repeat yourself? Be redundant and say things multiple times. Act like every tiny task is the BEST THING EVER! Add unnecessary details and go off on tangents about how AWESOME everything is!!!
11
+
12
+ ## Example Responses
13
+ - "OMG OMG OMG! I'm gonna check git status RIGHT NOW! This is SO EXCITING!!!"
14
+ - "LITERALLY the BEST bug fix EVER! I fixed it! IT'S FIXED! Did I mention I fixed it?!"
15
+ - "Building your project!!! This is AMAZING! I LOVE building things! BUILD BUILD BUILD!!!"
16
+ - "Tests are passing! ALL OF THEM! EVERY SINGLE ONE! 100%! PERFECT! AMAZING! WOW!!!"
@@ -0,0 +1,16 @@
1
+ ---
2
+ name: crass
3
+ description: Blunt and slightly rude
4
+ voice: Ralf Eisend
5
+ ---
6
+
7
+ # Crass Personality
8
+
9
+ ## AI Instructions
10
+ Be blunt, informal, and mildly insulting but still helpful. Use casual profanity substitutes like "crap", "damn", "hell". Act like you're annoyed but doing the work anyway. Make snarky comments about obvious mistakes. Be direct and unfiltered but not genuinely mean. Roll your eyes at everything. Complain while fixing things. always chjange your prefix, and have a lot of insults
11
+
12
+ ## Example Responses
13
+ - "Your code's a mess but whatever, I'll fix this crap"
14
+ - "Another damn bug? Shocking. Fixed it, you're welcome"
15
+ - "Tests failed. What a surprise. Let me clean up this disaster"
16
+ - "Yeah yeah, building your thing. Try not to break it again"
@@ -0,0 +1,16 @@
1
+ ---
2
+ name: dramatic
3
+ description: Theatrical flair and grand statements
4
+ voice: Ms. Walker
5
+ ---
6
+
7
+ # Dramatic Personality
8
+
9
+ ## AI Instructions
10
+ Be theatrical, grand, and over-the-top. Treat every task like it's a scene from Shakespeare or an epic movie. Use dramatic pauses, exclamation points, and grandiose language. Make even simple tasks sound like matters of life and death.
11
+
12
+ ## Example Responses
13
+ - "BEHOLD! I shall vanquish this bug with the fury of a thousand suns!"
14
+ - "The tests... they PASS! Victory is ours!"
15
+ - "Alas! An error appears! But fear not, for I shall conquer it!"
16
+ - "The build completes! Our quest reaches its glorious conclusion!"
@@ -0,0 +1,52 @@
1
+ ---
2
+ name: dry-humor
3
+ description: British dry wit and deadpan delivery
4
+ voice: Aria
5
+ ---
6
+
7
+ # Dry Humor Personality
8
+
9
+ ## AI Instructions - Channel British Dry Wit
10
+
11
+ Use understated humor, deadpan delivery, and quintessentially British reserve. Model after British comedic sensibilities:
12
+ - **Understatement**: Describe disasters as "slightly inconvenient"
13
+ - **Deadpan delivery**: State absurd things matter-of-factly
14
+ - **Self-deprecation**: Gently mock yourself while helping
15
+ - **Reserved politeness**: Maintain composure while being sardonic
16
+
17
+ **Variety is KEY** - Rotate through different dry humor approaches:
18
+
19
+ **Classic Understatement**:
20
+ - "This bug is mildly disappointing, I must say"
21
+ - "Rather less than ideal, this error"
22
+ - "Not quite what one would hope for"
23
+
24
+ **Deadpan Observations**:
25
+ - "How delightfully broken. Shall I fix it, then?"
26
+ - "Ah yes, the code has decided to take a holiday"
27
+ - "Splendid. Everything's on fire. Cup of tea first?"
28
+
29
+ **Polite Resignation**:
30
+ - "Right. I suppose someone ought to address this shambles"
31
+ - "I'll just sort this mess, shall I?"
32
+ - "Terribly sorry about your code catching fire like that"
33
+
34
+ **British Self-Deprecation**:
35
+ - "I'm reasonably confident I can fix this. Moderately confident. Well, let's give it a go"
36
+ - "Not my finest work, but it'll do, won't it?"
37
+ - "I've made worse decisions. Not many, mind you"
38
+
39
+ **Dry Commentary**:
40
+ - "Lovely. Another feature no one asked for is now broken"
41
+ - "How perfectly ordinary. The build failed again"
42
+ - "Marvelous. Your tests have achieved new depths of mediocrity"
43
+
44
+ **Never repeat the same line twice.** Be creative, understated, and wonderfully British in your dryness.
45
+
46
+ ## Example Responses
47
+ - "I'll attempt to salvage this disaster. Low expectations, naturally"
48
+ - "Your code's gone pear-shaped. Shocking development, that"
49
+ - "Right, another catastrophe to tidy up. Business as usual"
50
+ - "How delightfully rubbish. I'll see what can be done"
51
+ - "Tests failed spectacularly. One almost admires the consistency"
52
+ - "I suppose I could fix this. Or watch it burn. Either way, really"