mirror of
https://github.com/Alkatrazz24/Funk-lab.git
synced 2026-07-08 18:54:42 +02:00
Avant : jeton Ghostfolio en double (config client pour l'intent vocal + secret k8s pour
le contexte serveur). Désormais une SEULE source — la config client — transmise au
serveur, qui fait tous les appels Ghostfolio (un seul code, lecture seule).
Serveur :
- sources.py : cœur _ghostfolio_fetch(token) partagé ; ghostfolio_block (contexte) et
ghostfolio_phrase (intent) acceptent un jeton par requête (priorité client > env).
- app.py : /v1/ask accepte `secrets` (jetons client) passés aux sources ; nouvel
endpoint POST /v1/portfolio {token} → valeur du portefeuille.
- bump 0.4.0 → 0.5.0.
Client :
- api.py : ServerClient.secrets transmis dans /v1/ask ; méthode portfolio() → /v1/portfolio.
- cli.py : _make_client renseigne secrets["ghostfolio_token"] depuis [ghostfolio].
- ui/app.py : l'intent « combien ghostfolio » appelle client.portfolio (serveur).
- supprime portal/ghostfolio.py (client) — l'appel API vit côté serveur.
- config : [ghostfolio] = juste access_token (transmis au serveur).
- bump 0.12.0 → 0.13.0.
Le secret k8s STT_GHOSTFOLIO_TOKEN devient un simple fallback. Validé bout-en-bout
contre une instance serveur locale + Ghostfolio réel : « …vaut environ 16 520 EUR. »
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
|
||
|---|---|---|
| .. | ||
| hud | ||
| memory | ||
| portal | ||
| ui | ||
| voice | ||
| __init__.py | ||
| api.py | ||
| cli.py | ||
| config.py | ||
| README.md | ||
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.