* feat(stt): auto-start via `stt --install-service` (phase 6) Ajoute `stt --install-service` / `--uninstall-service` : génère et active un service systemd --user (lié à graphical-session.target) qui lance le HUD + voix à l'ouverture de session. Le kiosk existant (ui.kiosk) fournit l'« écran Jarvis ». - cli : _service_unit (génération du unit, fonction pure testable), _cmd_install_service (écrit le unit + import-environment DISPLAY/WAYLAND + daemon-reload/enable/start), _cmd_uninstall_service. - Docs : admin/ia/stt.md (phase 6 → ✅, section Auto-start + caveat DISPLAY), stt/README. - Bump client 0.2.1 → 0.3.0. Phase 6 de la roadmap STT. Reste : test sur poste, outils Hermes (7). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017Qjq5jHiqNepnobJpHYpCa * feat(stt): app de bureau (fenêtre type Discord) + auto-update Rend STT lançable comme une application de bureau et ajoute la mise à jour intégrée. - Mode fenêtre « app » : _open_browser ouvre le HUD en fenêtre chromeless (--app=, type Discord) en plus du kiosk plein écran ; support Brave ajouté. Sélection via --window {app,kiosk,none} ou [ui].window_mode. - stt --install-desktop / --uninstall-desktop : entrée .desktop + icône (stt/hud/icon.svg, aussi favicon du HUD) → STT dans le menu/dock, lance --window app. - stt --update : pipx reinstall depuis la source git (via clé SSH), affiche « ancienne → nouvelle » ; stt --version. - Docs (admin/ia/stt.md, stt/README) + config (window_mode) + bump 0.3.0 → 0.4.0. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017Qjq5jHiqNepnobJpHYpCa * fix(stt): détection navigateur cross-distro (AlmaLinux/Fedora + Debian/Ubuntu) _open_browser tente les binaires natifs (rpm + deb : brave-browser / chromium / chromium-browser / google-chrome…) puis Flatpak (com.brave.Browser, org.chromium.Chromium, com.google.Chrome…), sinon repli sur le navigateur par défaut. systemd --user, lanceurs .desktop et pipx sont déjà identiques sur les deux familles. Doc : note de compatibilité distros. Bump 0.4.0 → 0.4.1. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017Qjq5jHiqNepnobJpHYpCa * 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 * feat(stt): fenêtre app autonome (profil + WM class dédiés, hors session Brave) Le mode app s'attachait à la session Brave de l'utilisateur (même profil/icône) → « ça sent le Brave ». On lance désormais une instance séparée : --class=STT-Funk + --user-data-dir dédié (~/.local/share/stt/app-profile), et le .desktop déclare StartupWMClass=STT-Funk → fenêtre autonome avec sa propre icône de barre des tâches. (Flatpak : --class seul, sandbox.) Une vraie fenêtre native (pywebview) reste une option ultérieure. Bump 0.4.1 → 0.4.2. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017Qjq5jHiqNepnobJpHYpCa --------- Co-authored-by: Claude <noreply@anthropic.com>
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=falsebranché sur le websocket existant (state/user/assistant/errorsur: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_browserouvre 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écutestt --window app. - Auto-update :
stt --update(pipx reinstall depuis git via SSH, afficheancienne → 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 deFunk/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-ingestde la collectionfunk-docs(toujours en attente).