Funk-lab/stt/server/memory
Claude 6947b394f1
refactor(stt): pivot client-serveur — STT-server in-cluster + client pipx
Sépare STT en deux :
- stt/client/ : commande `stt` (pipx), voix locale (Whisper/Piper) + HUD ; envoie
  le texte au serveur via api.py (ServerClient → POST /v1/ask). URL serveur paramétrable,
  pas de cerveau local (suppression du routeur 3 modes).
- stt/server/ : STT-server FastAPI (conteneur), /healthz + /v1/ask → LiteLLM (Qwen3/Claude).

Déploiement cluster :
- k8s/apps/stt/ : Deployment, Service, IngressRoute (stt.lab.local), litellm-ext
  (Service + Endpoints → 192.168.10.1:4000 pour joindre LiteLLM hors cluster)
- k8s/apps-of-apps/apps/stt.yaml : Application ArgoCD (depuis main)
- .github/workflows/build-stt-server.yml : build/push image → ghcr.io/alkatrazz24/funk-stt-server

Inférence/chat seulement (outils Hermes 'agir sur Funk' = phase ultérieure, API :8080 à spécifier).
Vérifié : py_compile client+serveur, YAML manifests, ServerClient.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013FmcxGsyXZXogiAHQLjnZT
2026-06-17 09:37:34 +00:00
..
distilled refactor(stt): pivot client-serveur — STT-server in-cluster + client pipx 2026-06-17 09:37:34 +00:00
.gitignore refactor(stt): pivot client-serveur — STT-server in-cluster + client pipx 2026-06-17 09:37:34 +00:00
README.md refactor(stt): pivot client-serveur — STT-server in-cluster + client pipx 2026-06-17 09:37:34 +00:00

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émarragegit 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 postedistilled/ 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é.