# stt/stt — package backend

Cœur Python de la commande `stt`. Réutilise le moteur vocal de `tools/hermes-voice.py`.

```
stt/
├── cli.py        # entrypoint `stt` (--setup, --mode, --no-tts)           ✅ phase 1
├── config.py     # défauts embarqués + chargement ~/.config/stt/stt.toml  ✅ phase 1
├── voice/        # wake word + VAD, STT faster-whisper, TTS Piper         ✅ phase 1
├── brain/        # routeur 3 modes hermes/local/claude + auto-détect LAN  ✅ phase 2
├── server/       # HTTP statique (HUD) + websocket (états → HUD)          ✅ phase 1
└── memory/       # tier local SQLite ✅ ; Qdrant s01 + sync GitHub        ⏳ phase 4
```

## États exposés au HUD (via websocket)

`idle` (veille) → `listening` (écoute) → `thinking` (réflexion cerveau) → `speaking` (TTS) → `idle`.
Le HUD anime le visualiseur selon l'état et affiche transcript utilisateur + réponse.

## Point de départ

Le module `voice/` part de `tools/hermes-voice.py` (déjà fonctionnel : wake word « Ok Hermès »,
faster-whisper, Piper, webrtcvad). À refactorer en classe + callbacks d'état pour le websocket,
puis brancher `brain/` (routeur) à la place de l'appel direct actuel.
