feat(stt): cadrage + squelette assistant vocal Jarvis

Conception validée du projet STT — assistant vocal/HUD du homelab Funk :
- HUD web sur-mesure + STT/TTS local (faster-whisper + Piper)
- Packaging commande pipx (stt), démarrage auto systemd --user
- Cerveau 3 modes + auto-détection LAN : hermes / local-direct / claude-direct
- Mémoire 3 tiers : SQLite local + Qdrant s01 + GitHub (distillée, versionnée)

Réutilise tools/hermes-voice, LiteLLM, Hermes Agent. Squelette + doc admin/ia/stt.md,
implémentation par phases (roadmap dans le doc).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013FmcxGsyXZXogiAHQLjnZT
This commit is contained in:
Claude 2026-06-17 09:04:53 +00:00
parent 22d40023e1
commit 8096ba208d
No known key found for this signature in database
10 changed files with 395 additions and 0 deletions

5
stt/memory/.gitignore vendored Normal file
View file

@ -0,0 +1,5 @@
# Mémoire brute — ne quitte jamais le poste
raw/
*.sqlite
*.sqlite-*
*.db

26
stt/memory/README.md Normal file
View file

@ -0,0 +1,26 @@
# stt/memory — mémoire 3 tiers
```
memory/
├── distilled/ # mémoire DISTILLÉE — versionnée sur GitHub (faits, préférences, résumés)
└── raw/ # historique BRUT local — gitignoré, ne quitte jamais le poste
```
## Les 3 tiers
| Tier | Support | Contenu | Versionné ? |
|---|---|---|---|
| **Local** | SQLite (`~/.local/share/stt/`) + `raw/` | Historique brut, working memory | ❌ gitignoré |
| **s01** | Qdrant `:6333` (collection `stt-memory`) | Sémantique long-terme, partagée RAG Funk | — (sur s01) |
| **GitHub** | `distilled/` | Faits, préférences, résumés distillés | ✅ committé |
## Synchro
1. **Démarrage**`git pull` `distilled/` → charge en local.
2. **Usage** → écriture immédiate en SQLite local.
3. **Arrêt / périodique** → distillation (résumé via le cerveau) → `git commit` `distilled/`
**+** embedding dans Qdrant s01 (si LAN).
4. **Nouveau poste**`distilled/` re-seed le local + Qdrant.
> ⚠️ **Vie privée** : ne committer QUE de la mémoire distillée (pas de transcripts bruts).
> `raw/` et la SQLite sont gitignorés. Le repo doit rester privé.

View file

@ -0,0 +1 @@
# Mémoire distillée versionnée (faits, préférences, résumés). Rempli par le backend.