feat: character dashboard with TTS voice preview, fix Wyoming API compat

- Add HomeAI dashboard: service status monitor, character profile manager, character editor
- Add TTS voice preview in character editor (Kokoro via OpenClaw bridge → Wyoming)
  - Custom preview text, loading/playing states, stop control, speed via playbackRate
- Fix Wyoming API breaking changes: remove `version` from TtsVoice/TtsProgram,
  use SynthesizeVoice object instead of bare string in Synthesize calls
- Vite dev server proxies /api/tts and /api/health to avoid CORS issues

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Aodhan Collins
2026-03-11 20:40:11 +00:00
parent 6db8ae4492
commit 1bfd7fbd08
13 changed files with 1192 additions and 170 deletions

View File

@@ -1,42 +1,22 @@
#root {
max-width: 1280px;
margin: 0 auto;
padding: 2rem;
text-align: center;
/* Scrollbar styling for dark theme */
::-webkit-scrollbar {
width: 8px;
}
.logo {
height: 6em;
padding: 1.5em;
will-change: filter;
transition: filter 300ms;
}
.logo:hover {
filter: drop-shadow(0 0 2em #646cffaa);
}
.logo.react:hover {
filter: drop-shadow(0 0 2em #61dafbaa);
::-webkit-scrollbar-track {
background: #0a0a0f;
}
@keyframes logo-spin {
from {
transform: rotate(0deg);
}
to {
transform: rotate(360deg);
}
::-webkit-scrollbar-thumb {
background: #374151;
border-radius: 4px;
}
@media (prefers-reduced-motion: no-preference) {
a:nth-of-type(2) .logo {
animation: logo-spin infinite 20s linear;
}
::-webkit-scrollbar-thumb:hover {
background: #4b5563;
}
.card {
padding: 2em;
}
.read-the-docs {
color: #888;
/* Selection color */
::selection {
background: rgba(99, 102, 241, 0.3);
}