mirror of
https://github.com/Alkatrazz24/Funk-lab.git
synced 2026-07-08 10:04:42 +02:00
feat(stt): HUD avancé (phase 4) — design Claude Design câblé au backend (#17)
* feat(stt): HUD avancé — design Claude Design câblé au backend
Remplace le HUD minimal (cercle CSS) par le design Claude Design : avatar
portrait réactif (anneau + ping d'écoute + spinner de réflexion), transcript
à bulles (tag modèle), indicateur de connexion + reconnexion auto, et un
drawer Réglages.
- HUD (stt/hud/index.html) : HTML/CSS/JS sans dépendance externe, DEMO=false
branché sur le websocket existant (états idle/listening/thinking/speaking,
user/assistant/error). Portraits chargés depuis hud/avatars/ (repli « あ »
si absent — voir avatars/README.md).
- Backend (ui/app.py) : le HUD renvoie {"type":"settings",...} ; le serveur
applique à chaud reset / mode cerveau (modèle LiteLLM) / mot de réveil via
_apply_settings (best-effort, non bloquant).
- engine/cli : tag du modèle courant ajouté aux réponses (events assistant).
- Docs : hud/README + avatars/README + admin/ia/stt.md (phase 4 ✅) + config.
Phase 4 de la roadmap STT. Reste : test sur poste + portraits réels.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017Qjq5jHiqNepnobJpHYpCa
* fix(stt): HUD servi sans cache navigateur (anti ancienne version)
Le HUD est un dashboard live servi en statique : sans en-tête anti-cache, le
navigateur garde l'ancien index.html après mise à jour (« je vois encore la
version bleue »). Ajoute Cache-Control: no-store + Pragma: no-cache via un
handler dédié, et silence le log HTTP par requête.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017Qjq5jHiqNepnobJpHYpCa
* chore(stt): bump client 0.1.0 → 0.2.0 (HUD avancé)
La version inchangée faisait que pipx/uv réutilisait l'ancien build en cache
lors d'un réinstall (HUD bleu persistant malgré le nouveau code). Le bump force
une résolution propre vers la nouvelle version (HUD design Claude Design).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017Qjq5jHiqNepnobJpHYpCa
* fix(stt): cache-bust de l'URL HUD en kiosk + bump 0.2.1
Ouvre le HUD avec ?v=<timestamp> (URL unique par lancement) pour que le
navigateur ne puisse jamais servir une version cachée de l'ancien HUD.
Complète Cache-Control: no-store côté serveur.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017Qjq5jHiqNepnobJpHYpCa
---------
Co-authored-by: Claude <noreply@anthropic.com>
This commit is contained in:
parent
7821651cce
commit
2658f92c2f
11 changed files with 1231 additions and 118 deletions
|
|
@ -5,21 +5,23 @@ Tout ce qui se change **sans recompiler**. `stt --setup` copie `stt.example.toml
|
|||
|
||||
```
|
||||
config/
|
||||
├── stt.example.toml # config de référence (modes cerveau, voix, thème, mémoire)
|
||||
├── themes/ # thèmes HUD : couleurs, fond, style du visualiseur (CSS/JSON)
|
||||
├── avatars/ # images / avatars affichés dans le HUD
|
||||
└── voices/ # modèles Piper .onnx (TTS) — fr_FR par défaut
|
||||
├── stt.example.toml # config de référence (serveur/modèle, voix, ui, mémoire)
|
||||
└── README.md
|
||||
```
|
||||
|
||||
> Les **portraits de l'avatar** et le **thème** ne vivent plus dans `config/` : le HUD les
|
||||
> gère lui-même. Avatars → `stt/hud/avatars/` (servis par le HUD — voir son README).
|
||||
> Thème → réglé en direct dans le drawer Réglages (intensité d'accent, mémorisé en localStorage).
|
||||
|
||||
## Points de personnalisation
|
||||
|
||||
| Quoi | Où | Note |
|
||||
|---|---|---|
|
||||
| Image / avatar | `avatars/` + `ui.avatar` | swappable à chaud |
|
||||
| Thème / design | `themes/` + `ui.theme` | couleurs, fond, visualiseur |
|
||||
| Voix | `voices/*.onnx` + `voice.piper_voice` | géré par `stt --setup` |
|
||||
| Wake word | `voice.wake_word` | défaut « Ok Hermès » |
|
||||
| Cerveau | `[brain]` | mode + override + endpoints |
|
||||
| Avatar (portraits) | `stt/hud/avatars/<set>-{idle,think,speak}.png` | jeu choisi dans Réglages → Avatar |
|
||||
| Thème / accent | Réglages → intensité (HUD) | rose doux → rouge, persisté en localStorage |
|
||||
| Voix TTS | `~/.local/share/piper/<voix>.onnx` + `voice.piper_voice` | Piper |
|
||||
| Mot de réveil | `voice.wake_word` (ou Réglages → mot de réveil) | défaut « hermes » |
|
||||
| Modèle (cerveau) | `server.model` · `stt --model` · Réglages → mode cerveau | alias LiteLLM |
|
||||
|
||||
> 🔒 La clé Anthropic (mode `claude-direct`) passe par la variable d'env `ANTHROPIC_API_KEY`,
|
||||
> **jamais** dans ce fichier (qui peut finir versionné).
|
||||
> 🔒 Pas de clé API côté client : l'inférence (et donc Claude) passe par le STT-server
|
||||
> in-cluster, jamais par le poste.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue