Funk-lab/progress/2026-06-18.md
Claude c6de9aef72
docs(stt): journal 2026-06-18 + PROGRESS + ligne STT du CLAUDE.md
- progress/2026-06-18.md : HUD avancé, auto-start, app de bureau, auto-update, cross-distro
- PROGRESS.md : entrée du jour
- CLAUDE.md : ligne STT enrichie (HUD, auto-start, app de bureau, auto-update)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017Qjq5jHiqNepnobJpHYpCa
2026-06-18 21:48:03 +00:00

3.7 KiB

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).