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
This commit is contained in:
Claude 2026-06-18 21:48:03 +00:00
parent c5de427a85
commit c6de9aef72
No known key found for this signature in database
3 changed files with 82 additions and 1 deletions

View file

@ -17,7 +17,7 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co
- ✅ postfix_relay — SMTP sortant via Gmail SMTP + App Password (aliyesilkaya93@gmail.com)
- ✅ Open WebUI opérationnel — `openwebui.lab.local`, namespace `ai`, backend LiteLLM
- ✅ n8n opérationnel — `n8n.lab.local`, namespace `ai`, 3 workflows actifs (alertes, rapport horaire, Hermes Doc Worker)
- ✅ STT (assistant vocal « Jarvis ») — STT-server in-cluster (`stt.lab.local`, namespace `ai`) + client `stt` (pipx) ; mémoire long-terme Qdrant `stt-memory` validée 2026-06-17 (voir `admin/ia/stt.md`)
- ✅ STT (assistant vocal « Jarvis ») — STT-server in-cluster (`stt.lab.local`, namespace `ai`) + client `stt` (pipx) : HUD avancé (design Claude Design), auto-start systemd `--user`, app de bureau (`stt --install-desktop`, fenêtre type Discord) + auto-update (`stt --update`) ; mémoire long-terme Qdrant `stt-memory` validée 2026-06-17 (voir `admin/ia/stt.md`)
- ✅ Ghostfolio opérationnel — `ghostfolio.lab.local`, namespace `ai`, suivi de portefeuille (PostgreSQL s01 + Redis in-cluster)
- ✅ hermes-auto-improve — analyse quotidienne de `admin/` par Hermes à 22h (n8n → trigger :9095), PR sur `hermes/daily-work`
- ⏳ WOL compute nodes non configuré (BIOS) — allumage manuel requis

View file

@ -10,3 +10,4 @@
| [2026-05-13](progress/2026-05-13.md) | Stabilisation multi-modèles — OOM fixes, Qwen3-1.7B sur 14 CPUs (21 tok/s), profils system/monitor finalisés, funk-ai par défaut |
| [2026-05-14](progress/2026-05-14.md) | Monitoring complet + fix webhook AlertManager→Hermes (BrokenPipeError). RAG opérationnel : Qdrant 284 chunks, rag-ingest/rag-query, skill funk-ai. Souls révisés (4 profils). Docs : alertmanager-webhook, rag, hermes-souls |
| [2026-05-29](progress/2026-05-29.md) | Migration `/srv/data` RAID5 dégradé → NVMe (sdb ATA errors). Tous les services sur NVMe, bind-mount `/home/data` |
| [2026-06-18](progress/2026-06-18.md) | STT : HUD avancé (design Claude Design, #17), auto-start systemd, app de bureau (`.desktop` + mode fenêtre), auto-update (`stt --update`), compat AlmaLinux/Debian. Passe de cohérence doc (#15, #16) |

80
progress/2026-06-18.md Normal file
View file

@ -0,0 +1,80 @@
# 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).