feat: voix mains-libres + wake-word CHLOVA, fin Phase 6 v1 (v0.29.0)

Mode mains-libres : écoute en boucle déclenchée par le wake-word
« CHLOVA … » (extractCommand), micro en pause pendant le TTS pour éviter
l'auto-écoute ; réponses lues d'office. Bouton Libre + indicateur. 100%
navigateur. Build OK.

Palier de risque : reversible (front).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Kantin-Petit
2026-06-23 07:24:41 +02:00
parent 76ad3b62fd
commit 476c89ce3d
4 changed files with 127 additions and 14 deletions
+11 -2
View File
@@ -23,5 +23,14 @@ Le backend doit tourner avec l'auth configurée (`CHLOVA_ADMIN_*`, voir
| `src/pages/Chat.tsx` | Conversation agent (v0.23.0). |
| `src/pages/Review.tsx` | Need-review : approuver/refuser (v0.24.0). |
## Périmètre v1
Login → Chat → Review. Voix + app RN : phases ultérieures (API commune réutilisée).
## Voix (Phase 6)
100 % navigateur (Web Speech API), zéro backend/GPU :
- **Parler** : dictée push-to-talk (fr-FR) → envoyée à l'agent.
- **Voix ON/OFF** : lecture vocale des réponses (TTS), réglage persistant.
- **Libre** : mains-libres, déclenché par le wake-word « CHLOVA … » ; le micro se
met en pause pendant la synthèse pour éviter l'auto-écoute.
STT = Chrome/Edge (webkit) ; TTS = large support. Dégrade proprement sinon.
## Périmètre
Login → Chat (+ voix) → Review. App RN : phase ultérieure (API commune réutilisée).