mirror of
https://github.com/Alkatrazz24/Funk-lab.git
synced 2026-07-09 11:14:42 +02:00
Sépare STT en deux : - stt/client/ : commande `stt` (pipx), voix locale (Whisper/Piper) + HUD ; envoie le texte au serveur via api.py (ServerClient → POST /v1/ask). URL serveur paramétrable, pas de cerveau local (suppression du routeur 3 modes). - stt/server/ : STT-server FastAPI (conteneur), /healthz + /v1/ask → LiteLLM (Qwen3/Claude). Déploiement cluster : - k8s/apps/stt/ : Deployment, Service, IngressRoute (stt.lab.local), litellm-ext (Service + Endpoints → 192.168.10.1:4000 pour joindre LiteLLM hors cluster) - k8s/apps-of-apps/apps/stt.yaml : Application ArgoCD (depuis main) - .github/workflows/build-stt-server.yml : build/push image → ghcr.io/alkatrazz24/funk-stt-server Inférence/chat seulement (outils Hermes 'agir sur Funk' = phase ultérieure, API :8080 à spécifier). Vérifié : py_compile client+serveur, YAML manifests, ServerClient. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013FmcxGsyXZXogiAHQLjnZT
1.2 KiB
1.2 KiB
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.