# Configuration du CLIENT STT — copier vers ~/.config/stt/stt.toml (`stt --setup` le génère). # Reflète les défauts embarqués (stt/client/stt/config.py : DEFAULT_CONFIG). # Le client n'a plus de cerveau : il envoie le texte au STT-server (in-cluster). [server] url = "http://stt.lab.local" # endpoint du STT-server (paramétrable) timeout_sec = 90 model = "hermes-default" # modèle demandé au serveur # Noms courts (--model / commande /model) : hermes=hermes-default, qwen=qwen3-8b, # claude=claude-sonnet-4-6, opus=claude-opus-4-7. Sinon mets un alias LiteLLM brut. [voice] wake_word = "hermes" # "Ok Hermès" whisper_model = "large-v3" # STT faster-whisper (CPU int8) — "small" pour tester piper_voice = "fr_FR-upmc-medium" # TTS — ~/.local/share/piper/.onnx language = "fr" silence_sec = 1.2 min_speech_sec = 0.6 chat_timeout_sec = 60 # theme / avatar sont désormais réglés dans le HUD (drawer Réglages, mémorisé en # localStorage) — ces deux clés sont gardées pour compat mais ignorées par le HUD. [ui] theme = "arc-reactor" avatar = "default" kiosk = true # (compat) plein écran si window_mode absent window_mode = "kiosk" # "app" (fenêtre, type Discord) | "kiosk" (plein écran) | "none" ws_host = "127.0.0.1" ws_port = 9300 # websocket états ↔ HUD (doit matcher hud/index.html) http_port = 9301 # HTTP statique qui sert le HUD [memory] enabled = true # cache local de conversation (brut, gitignoré) local_db = "~/.local/share/stt/memory.sqlite" # --------------------------------------------------------------------------- # Portail de services — tuiles + pages détail (santé live) + voix « ouvre ». # Définir [[services]] ici REMPLACE entièrement la liste par défaut (homelab Funk). # Champs : id, name, url, icon, aliases (voix) ; + pour la page détail (optionnel) : # description : phrase « ce que fait le service » # health_url : endpoint sondé (up/down + latence) ; défaut = url # components : briques dont dépend le service ; prom = PromQL renvoyant 1/0 # alerts_match: labels Alertmanager — alerte affichée si TOUS matchent # --------------------------------------------------------------------------- # [[services]] # id = "grafana" # name = "Grafana" # url = "http://grafana.lab.local" # icon = "📊" # aliases = ["graphana", "metriques", "monitoring", "dashboard"] # description = "Tableaux de bord et visualisation des métriques." # health_url = "http://grafana.lab.local/api/health" # alerts_match = { namespace = "monitoring" } # # [[services.components]] # name = "Pod" # prom = 'kube_pod_status_ready{namespace="monitoring",pod=~".*grafana.*",condition="true"}' # Santé live des pages détail (sondage non bloquant côté client) : # [portal] # status_enabled = true # status_interval_sec = 15 # probe_timeout_sec = 4 # prometheus_url = "http://prometheus.lab.local" # alertmanager_url = "http://alertmanager.lab.local"