Sobre el proyecto
Alek-Core es un sistema personal de gestión del conocimiento que amplía la memoria y el razonamiento a través de Slack y Telegram. Se describe como un proyecto en solitario en uso personal diario, desplegado en GCP (Cloud Run + Firestore).
Ciclo central: un mensaje del usuario es clasificado por un Router según complejidad, tono, lente semántica e intención de búsqueda, enriquecido con resultados de memoria/web, respondido por el agente Smart en un nivel de modelo adecuado a la complejidad, y luego un agente de consolidación en segundo plano extrae nuevos hechos para que las conversaciones futuras ya los conozcan.
Arquitectura: Hexagonal (Puertos y Adaptadores). El dominio y la lógica de negocio no tienen dependencias de infraestructura; toda la E/S pasa por aproximadamente 58 interfaces ABC (puertos) con adaptadores concretos inyectados al inicio mediante un ServiceContainer. Los adaptadores cubren Firestore, Gemini, Claude, Grok, OpenAI, Slack, Telegram, Gmail y Microsoft To Do. Los agentes son agnósticos al proveedor con valores predeterminados por agente y anulaciones por usuario; el nivel de modelo (ECO/BALANCED/PERFORMANCE) se resuelve desde la configuración del usuario en tiempo de ejecución.
Red de agentes: el Router ejecuta una clasificación LLM en cada solicitud y siempre enruta a Smart, cuya puntuación de complejidad selecciona el nivel de modelo. Los especialistas se encargan mediante una única herramienta delegate_to_specialist. Los agentes listados incluyen Router, Smart, Quick (respaldo/formateador), Memory, WebSearch, EmailSearch, EmailClassification, FileManagement, Tasks, Notes, MapsSearch, Compute, Help, DocPlanner, DocGenerator, PdfGenerator, HtmlPageGenerator, DeepResearch, DomainResearcher y Consolidation. Añadir un especialista requiere una entrada de registro en agent_manifest.py.
Mecanismos clave: consolidación de memoria con desbordamiento de ventana deslizante hacia Cloud Tasks, deduplicación semántica (umbral de 0,96), 3 vectores por hecho, versionado SCD2 y barridos horarios de lotes estancados; búsqueda multi-vector con Reciprocal Rank Fusion en 6 consultas paralelas; un sistema de tokens/blueprints de prompt respaldado por Firestore con niveles de prioridad y un límite de caché que divide el prefijo estático del sufijo dinámico; tres capas de reintento no superpuestas (en proceso, Cloud Tasks, aplicación); indexación de Gmail con OAuth y un esquema de correo electrónico de 4 vectores; un informe diario opcional de revisión de correo electrónico; auto-recordatorios proactivos disparados por Cloud Scheduler cada 15 minutos; y un servidor MCP remoto experimental que expone get_user_context a los Custom Connectors de claude.ai con un servidor OAuth 2.1 en proceso. El soporte multilingüe separa el idioma de respuesta del idioma de la interfaz (uk, en, fr, es).
Pruebas y CI: las reglas de arquitectura se aplican como pruebas, incluidas más de 30 reglas de aislamiento de capas basadas en AST, una regla de no-print y comprobaciones de puertos abstractos. Las pruebas de contrato validan las formas de carga útil enviadas a los SDK de los proveedores en lugar del texto generado. El mocking de LLMPort mantiene deterministas las pruebas multiturno y de llamadas a herramientas. make check (ruff + ~4.200 pruebas) se ejecuta en cada push y PR mediante GitHub Actions; el despliegue es manual por elección. El código base está diseñado explícitamente para el desarrollo asistido por IA, con archivos de contexto CLAUDE.md por capas, registros de decisiones y RFCs, y prompts almacenados como datos versionados en lugar de código en línea.
Stack: Python 3.11 en Cloud Run con asyncio en todo el sistema; Firestore, Cloud Tasks, Cloud Scheduler; interfaces de Slack y Telegram; integraciones con Gmail, Microsoft To Do, Unsplash y Google Maps; trazado con Logfire más un almacén de contenido LLM en BigQuery con TTL de 30 días; pytest y pytest-asyncio. No hay modo local: varias capacidades requieren el entorno en la nube. La documentación sigue la plantilla arc42. El repositorio se comparte solo para evaluación bajo una licencia de todos los derechos reservados.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.