docs(stt): présentation d'Asa (schémas de la chaîne + captures HUD) (#53)

- docs/stt-presentation.md : présentation de l'assistant vocal Asa (STT
  client-serveur) — diagramme d'architecture (poste ↔ cluster ↔ LLM/outils/
  données) et diagramme de séquence d'une question vocale via la boucle
  d'outils, le tout en mermaid (rendu validé). + 2 captures du HUD réel
  (conversation agentique, veille/réveil) dans docs/img/.
- README.md : Asa promue en section dédiée (capacités sait/cherche/agit +
  capture), mention en vue d'ensemble, arbo stt/ (client/server) + docs/.

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
ALI YESILKAYA 2026-06-22 23:17:39 +02:00 committed by GitHub
parent b2a611eba4
commit 5de575bc9b
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 171 additions and 2 deletions

View file

@ -14,6 +14,8 @@
L'ensemble est géré en Infrastructure-as-Code : **Ansible** pour les hôtes AlmaLinux, **talhelper** pour Talos, **ArgoCD** pour les workloads Kubernetes.
L'interface du homelab est **Asa**, un assistant **vocal agentique** (STT clientserveur) qui sait interroger l'état live, chercher sur le web et agir sur l'infra — voir [Asa (STT)](#asa--assistant-vocal-agentique-stt).
---
## Architecture
@ -102,6 +104,30 @@ L'ensemble est géré en Infrastructure-as-Code : **Ansible** pour les hôtes Al
---
## Asa — assistant vocal agentique (STT)
**Asa** est l'interface **vocale et graphique** de Funk : un assistant type *Jarvis* qui écoute,
parle et affiche un **HUD** animé. Architecture **clientserveur** — un client `stt` (pipx) sur le
poste (voix + HUD), un **STTserver incluster** (le « cerveau »). 100 % local (Qwen38B).
![Asa — HUD](docs/img/stt-hud-conversation.png)
Audelà du chat, Asa est une véritable **agente** : le modèle **choisit ses outils** (function
calling) pour répondre à partir de données réelles.
| Capacité | Détail |
|---|---|
| 🔎 **Savoir** | doc Funk (RAG) + **état live** (santé machines/GPU, cluster, PromQL) |
| 🌐 **Chercher** | recherche Internet **privée** (SearXNG selfhost) |
| 🤖 **Agir** | actions d'admin via Hermes, **toujours derrière une confirmation vocale** |
| 🧠 **Mémoire** | court terme (session) + long terme (Qdrant `stt-memory`) |
| 🗣️ **Veille/réveil** | « Asa » réveille · « Asa stop » endort |
📖 **Présentation complète (schémas de la chaîne + captures)** : [`docs/stt-presentation.md`](docs/stt-presentation.md)
· Détails techniques : [`admin/ia/stt.md`](admin/ia/stt.md)
---
## Infrastructure
### Machines
@ -159,14 +185,17 @@ L'ensemble est géré en Infrastructure-as-Code : **Ansible** pour les hôtes Al
├── tools/ # Sources des outils déployés
│ ├── hermes-auto-improve/ # auto-improve.py + trigger-server.py
│ └── hermes-voice/ # Client vocal Hermes (CLI faster-whisper + Piper)
├── stt/ # Assistant vocal « Jarvis » — client `stt` (pipx) + STT-server (conteneur)
├── stt/ # Asa — assistant vocal agentique (voir docs/stt-presentation.md)
│ ├── client/ # commande `stt` (pipx) : voix (VAD/wake/ASR/TTS) + HUD web
│ └── server/ # STT-server (conteneur, ns ai) : brain + tools + RAG + mémoire
├── admin/ # Base de connaissance (indexée dans le RAG)
├── docs/ # Présentations & schémas (stt-presentation.md, images)
├── progress/ # Journaux de session (référencés par PROGRESS.md)
├── archive/ # Documents historiques obsolètes (conception d'origine) — ne fait pas foi
├── talos/ # Cluster Kubernetes (talhelper)
└── k8s/ # Workloads ArgoCD
├── infra/ # monitoring, nfs-provisioner (Traefik + MetalLB via helm au bootstrap)
└── apps/ # Open WebUI, n8n, STT, Ghostfolio, external-services
└── apps/ # Open WebUI, n8n, STT, SearXNG, Ghostfolio, external-services
```
---