9. Admin Manager (Console de Régulation)

L'Admin Manager est le système de gouvernance infrastructure d'ECHO. Il surveille la santé du cluster Docker via un Dashboard interactif (Gridstack), orchestre la purge temporelle de la mémoire vectorielle (Qdrant), gère les sauvegardes et la consolidation des bases de données.

💡 L'analogie du système immunitaire

Si ECHO est un organisme vivant, l'Admin Manager est son système immunitaire et métabolique. Il surveille que tout fonctionne correctement, nettoie les vieux souvenirs devenus inutiles (Élagage TTL), crée des copies de sécurité régulières, et contrôle les accès aux systèmes critiques. Il opère en arrière-plan sans interrompre la génération.

Fiche d'identité technique

AttributValeur
Source20-docker-admin-manager/server.py (v5.55)
NatureMicro-service de régulation et monitoring (Flask API)
Conteneurecho-admin-manager (Python 3.11)
Docker DaemonAccès via socket Unix /var/run/docker.sock monté en volume
StockageAccès direct au volume /app/backend/data/users/ pour les backups
MémoireRequête l'API Qdrant (:6333) pour la maintenance des vecteurs

1. Monitoring Holistique (Dashboard Gridstack)

L'interface de l'Admin Manager repose sur un Dashboard interactif propulsé par Gridstack.js. Il permet de réorganiser les widgets en drag & drop et affiche en temps réel les constantes vitales de l'infrastructure :

2. Cycle de Vie et Oubli Organique (TTL)

Cycle de Vie des Données (Admin Manager) [RÉGULATION & PURGE]
flowchart TD AM[Admin Manager
Cron Jobs] --> TTL[Purge TTL
echo_memory] AM --> ORPH[Sync Qdrant
Points orphelins] AM --> EPH[Purge Post-Session
echo_ephemeral] AM --> VAC[Vacuum & Consolidation
SQLite] AM --> BAK[Sauvegardes à chaud
/backups] classDef job fill:#1e1b4b,stroke:#4338ca,color:#fff class AM job

L'Admin Manager centralise la logique d'Atrophie Sémantique — la purge des données devenues obsolètes — pour alléger le traitement en temps réel des filtres.

run_semantic_pruning() — Purge TTL

Cette fonction (server.py) itère sur tous les points de la collection echo_memory dans Qdrant et supprime ceux dont l'âge dépasse la durée de rétention associée à leur niveau d'importance :

NiveauLabelDurée TTL
1Trivial30 jours
2Mineur60 jours
3Utile180 jours
4Majeur365 jours
5Axiome540 jours

Sync Qdrant

Élimination des points vectoriels orphelins : points liés à des user_id ou chat_id qui ont été supprimés dans Open WebUI mais dont les vecteurs subsistent dans Qdrant.

Purge Post-Session (echo_ephemeral)

Suppression de tous les vecteurs appartenant à un chat_id terminé dans la collection echo_ephemeral. Cette purge garantit que les données intermédiaires (analyses web, distillations) ne s'accumulent pas indéfiniment.

Vacuum & Consolidation SQLite

Optimisation physique régulière des bases de données de session (commande SQL VACUUM) pour récupérer l'espace disque des enregistrements supprimés et maintenir les performances d'accès. L'Admin Manager exécute également une consolidation des fragments de bases en mode WAL.

3. Sauvegardes et Restauration à Chaud

Le module de backup garantit une reprise d'activité après sinistre :

4. Surface de Sécurité

⚙️ Isolation Privilégiée

Bien que l'Admin Manager ait accès au Docker Daemon (via socket Unix), il n'est jamais exposé directement sur le WAN par défaut. Son accès est filtré par BunkerWeb (WAF) et nécessite une authentification forte. En déploiement local pur, il n'est accessible que depuis le réseau bridge Docker interne ou le proxy inverse sécurisé.

L'Admin Manager complète l'architecture ECHO. Pour les détails de configuration avancés, consultez les Annexes. Annexes Techniques ➔