# STT — Assistant vocal "Jarvis" de Funk Assistant vocal + HUD pour le poste perso, branché sur le homelab Funk. Écoute (wake word « Ok Hermès »), parle (Piper), affiche un HUD animé, et **agit sur Funk** via Hermes Agent — ou discute avec Claude directement en déplacement. > 📐 **Conception complète** : `admin/ia/stt.md`. Ce dossier est le squelette du projet ; > l'implémentation se fait par phases (voir la Roadmap dans le doc de conception). ## Installation (cible : poste perso) ```bash pipx install "git+https://github.com/Alkatrazz24/Funk-lab.git#subdirectory=stt" stt --setup # télécharge le modèle Whisper, Piper et la voix fr_FR stt # lance le backend + ouvre le HUD ``` ## Commandes prévues | Commande | Effet | |---|---| | `stt` | Lance le backend vocal + ouvre le HUD en kiosk | | `stt --setup` | Première install : Whisper, Piper, voix, config par défaut | | `stt --mode hermes\|local\|claude` | Force le mode cerveau (sinon auto-détection LAN) | | `stt --no-tts` | Réponses texte seulement (debug) | | `stt --stop` | Arrête le service | ## Structure ``` stt/ ├── pyproject.toml # définit la commande `stt` (entrypoint pipx) ├── stt/ # package Python — backend (à implémenter, phases 1-4) │ ├── voice/ # wake word, STT (faster-whisper), TTS (Piper) │ ├── brain/ # routeur 3 modes : hermes / local-direct / claude-direct │ ├── memory/ # gestionnaire mémoire 3 tiers (local/s01/GitHub) │ └── server/ # serveur websocket vers le HUD ├── hud/ # front web (HTML/JS/canvas) — phase 3 ├── config/ # stt.example.toml + thèmes / avatars / voix ├── memory/ # distilled/ (versionné) + raw local (gitignoré) └── install-service.sh # systemd --user (démarrage auto) — phase 6 ``` ## Cerveau — 3 modes Auto-détection au démarrage (ping s01 `192.168.1.200`) : - **`hermes`** (LAN) → Hermes `:8080`, agit sur Funk. - **`local-direct`** (LAN) → LiteLLM `:4000`, chat Qwen3 sur g01. - **`claude-direct`** (hors-LAN) → API Anthropic, chat seul. ## Mémoire — 3 tiers - **Local** : SQLite, historique brut, offline (gitignoré). - **s01** : Qdrant `:6333`, sémantique long-terme (partagée RAG Funk, sur LAN). - **GitHub** : `memory/distilled/`, mémoire distillée versionnée, portable. > ⚠️ Seule la mémoire distillée est committée. Transcripts bruts gitignorés. Repo privé.