# 2026-06-18 — STT : HUD avancé, app de bureau & auto-update ## Résumé Grosse itération sur le **client STT** (`stt/client/`) : intégration du HUD « design Claude Design » câblé au backend (phase 4, mergé #17), puis auto-start systemd, application de bureau (lanceur `.desktop` + mode fenêtre), auto-update intégrée et compatibilité cross-distro (AlmaLinux/Fedora + Debian/Ubuntu). En préambule, une passe de cohérence documentaire (#15, #16). --- ## HUD avancé (phase 4) — mergé (#17) Remplacement du HUD minimal (cercle CSS bleu) par le design Claude Design : avatar portrait réactif (anneau + ping d'écoute + spinner de réflexion), transcript à bulles avec tag du modèle, indicateur de connexion + reconnexion auto, drawer Réglages. - HTML/CSS/JS **sans dépendance externe** (livrable par pipx, offline). `DEMO=false` branché sur le websocket existant (`state` / `user` / `assistant` / `error` sur `:9300`). - Réglages **câblés au backend** (`_apply_settings`) : `reset`, mode cerveau (→ modèle LiteLLM), mot de réveil — appliqués à chaud. Visuels (intensité, avatar) en localStorage. - Portraits dans `hud/avatars/`, repli sur l'initiale (« あ ») si absents. - Fix « ancien HUD persistant » : `Cache-Control: no-store` + URL kiosk cache-bustée (`?v=`). > Piège du jour : après réinstall, Brave resservait l'ancien HUD depuis son cache, et pipx/uv > réutilisait l'ancien build car la version n'avait pas changé → d'où la discipline **bump de > version à chaque release** + en-têtes no-cache. --- ## Auto-start (phase 6) `stt --install-service` / `--uninstall-service` : génère un service `systemd --user` lié à `graphical-session.target` (lance HUD + voix à l'ouverture de session, kiosk), avec `import-environment DISPLAY/WAYLAND` pour le kiosk. Caveat DISPLAY documenté dans `admin/ia/stt.md`. --- ## Application de bureau + auto-update - **Mode fenêtre « app »** : `_open_browser` ouvre le HUD en fenêtre chromeless (`--app=`, type Discord) en plus du kiosk. Sélection via `--window {app,kiosk,none}` ou `[ui].window_mode`. - **Lanceur de bureau** : `stt --install-desktop` → entrée `.desktop` + icône (`hud/icon.svg`, aussi favicon) dans le menu d'applis, épinglable au dock. Exécute `stt --window app`. - **Auto-update** : `stt --update` (pipx reinstall depuis git via SSH, affiche `ancienne → nouvelle`) + `stt --version`. Plus de désinstall/réinstall manuel. > ⚠️ Service kiosk et appli de bureau partagent les ports 9300/9301 → un seul à la fois. --- ## Compatibilité cross-distro Tout le client repose sur des standards communs (systemd --user, `.desktop` XDG, pipx) → identique sur **AlmaLinux/Fedora (RHEL)** et **Debian/Ubuntu**. Seul le navigateur diffère : `_open_browser` tente les binaires natifs (rpm + deb) puis **Flatpak**, sinon repli sur le navigateur par défaut. --- ## Passe de cohérence documentaire (#15, #16) - **#15** : cohérence `admin/` + README/CLAUDE (STT, Ghostfolio, embeddings nomic `:1238`, Qdrant réparé / `funk-docs` à re-ingérer), archivage de `Funk/` legacy (LM Studio / Goose). - **#16** : ajout du **switch réseau GS308EV4** au schéma d'architecture du README (+ table de câblage, ports/VLAN, mode Access). --- ## Versions client `0.1.0 → 0.4.1` : **0.2.0** (HUD) · **0.3.0** (auto-start) · **0.4.0** (app + update) · **0.4.1** (cross-distro). --- ## Prochaines étapes - Tester le HUD/kiosk + audio bout-en-bout (micro → STT → serveur → TTS) sur le poste. - Déposer les vrais portraits dans `hud/avatars/`. - **Phase 7** — outils Hermes (« agir sur Funk » via gateway `:8080`, API à spécifier). - Re-`rag-ingest` de la collection `funk-docs` (toujours en attente).