À propos du projet
Alek-Core est un système personnel de gestion des connaissances qui étend la mémoire et le raisonnement via Slack et Telegram. Il est décrit comme un projet solo utilisé quotidiennement, déployé sur GCP (Cloud Run + Firestore).
Cycle principal : un message utilisateur est classé par un routeur selon la complexité, le ton, la lentille sémantique et l'intention de recherche, enrichi avec des résultats de mémoire/web, traité par l'agent Smart à un niveau de modèle adapté à la complexité, puis un agent de consolidation en arrière-plan extrait de nouveaux faits afin que les conversations futures les connaissent déjà.
Architecture : hexagonale (Ports & Adapters). La logique métier et de domaine n'a aucune dépendance à l'infrastructure ; toutes les entrées/sorties passent par environ 58 interfaces ABC (ports) avec des adaptateurs concrets injectés au démarrage via un ServiceContainer. Les adaptateurs couvrent Firestore, Gemini, Claude, Grok, OpenAI, Slack, Telegram, Gmail et Microsoft To Do. Les agents sont indépendants du fournisseur avec des valeurs par défaut par agent et des remplacements par utilisateur ; le niveau de modèle (ECO/BALANCED/PERFORMANCE) est résolu à partir de la configuration utilisateur au moment de l'exécution.
Réseau d'agents : le routeur effectue un triage LLM sur chaque requête et route toujours vers Smart, dont le score de complexité sélectionne le niveau de modèle. Les spécialistes sont sollicités via un seul outil delegate_to_specialist. Les agents répertoriés incluent Router, Smart, Quick (repli/mise en forme), Memory, WebSearch, EmailSearch, EmailClassification, FileManagement, Tasks, Notes, MapsSearch, Compute, Help, DocPlanner, DocGenerator, PdfGenerator, HtmlPageGenerator, DeepResearch, DomainResearcher et Consolidation. L'ajout d'un spécialiste nécessite une entrée de registre dans agent_manifest.py.
Mécanismes clés : consolidation de la mémoire avec débordement par fenêtre glissante vers Cloud Tasks, déduplication sémantique (seuil de 0,96), 3 vecteurs par fait, versionnement SCD2 et balayages horaires des lots bloqués ; recherche multi-vecteurs avec Reciprocal Rank Fusion sur 6 requêtes parallèles ; un système de jetons/modèles de prompts adossé à Firestore avec niveaux de priorité et une frontière de cache séparant le préfixe statique du suffixe dynamique ; trois couches de reprise non chevauchantes (en processus, Cloud Tasks, application) ; indexation OAuth Gmail avec un schéma d'e-mail à 4 vecteurs ; un rapport quotidien de revue des e-mails sur adhésion ; des auto-rappels proactifs déclenchés par Cloud Scheduler toutes les 15 minutes ; et un serveur MCP distant expérimental exposant get_user_context aux connecteurs personnalisés claude.ai avec un serveur OAuth 2.1 en processus. Le support multilingue sépare la langue de réponse de la langue de l'interface (uk, en, fr, es).
Tests et CI : les règles d'architecture sont appliquées sous forme de tests, y compris plus de 30 règles d'isolation des couches basées sur l'AST, une règle d'interdiction d'impression et des vérifications de ports abstraits. Les tests de contrat valident les formes de charge utile envoyées aux SDK des fournisseurs plutôt que le texte généré. La simulation de LLMPort maintient les tests multi-tours et d'appels d'outils déterministes. make check (ruff + environ 4 200 tests) s'exécute à chaque push et PR via GitHub Actions ; le déploiement est manuel par choix. La base de code est explicitement conçue pour le développement assisté par IA, avec des fichiers de contexte CLAUDE.md en couches, des enregistrements de décision et des RFC, et des prompts stockés sous forme de données versionnées plutôt que de code en ligne.
Stack : Python 3.11 sur Cloud Run avec asyncio partout ; Firestore, Cloud Tasks, Cloud Scheduler ; interfaces Slack et Telegram ; intégrations Gmail, Microsoft To Do, Unsplash et Google Maps ; traçage Logfire plus un magasin de contenu LLM BigQuery avec TTL de 30 jours ; pytest et pytest-asyncio. Il n'y a pas de mode local — plusieurs capacités nécessitent l'environnement cloud. La documentation suit le modèle arc42. Le dépôt est partagé uniquement pour évaluation sous une licence tous droits réservés.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.