这个项目能做什么

Alek-Core 是一个个人知识管理系统,通过 Slack 和 Telegram 扩展记忆与推理能力。它被描述为一个日常个人使用的单人项目,部署在 GCP 上(Cloud Run + Firestore)。 核心循环:用户消息由 Router 按复杂度、语气、语义视角和搜索意图进行分类,用记忆/网络结果进行增强,由 Smart 智能体在适合复杂度的模型层级上回答,然后由后台整合智能体提取新事实,使未来对话已经知道这些事实。 架构:六边形(端口与适配器)。领域和业务逻辑没有基础设施依赖;所有 I/O 都通过大约 58 个 ABC 接口(端口)进行,具体适配器在启动时通过 ServiceContainer 注入。适配器覆盖 Firestore、Gemini、Claude、Grok、OpenAI、Slack、Telegram、Gmail 和 Microsoft To Do。智能体与供应商无关,具有按智能体默认值和按用户覆盖;模型层级(ECO/BALANCED/PERFORMANCE)在运行时从用户配置中解析。 智能体网络:Router 对每个请求运行 LLM 分诊,并始终路由到 Smart,其复杂度分数选择模型层级。专家通过单个 delegate_to_specialist 工具被调用。列出的智能体包括 Router、Smart、Quick(回退/格式化器)、Memory、WebSearch、EmailSearch、EmailClassification、FileManagement、Tasks、Notes、MapsSearch、Compute、Help、DocPlanner、DocGenerator、PdfGenerator、HtmlPageGenerator、DeepResearch、DomainResearcher 和 Consolidation。添加专家需要在 agent_manifest.py 中注册表项。 关键机制:记忆整合,带滑动窗口溢出到 Cloud Tasks,语义去重(0.96 阈值),每个事实 3 个向量,SCD2 版本控制和每小时扫描停滞批次;多向量搜索,在 6 个并行查询上使用 Reciprocal Rank Fusion;一个由 Firestore 支持的提示词 token/蓝图系统,具有优先级和缓存边界,将静态前缀与动态后缀分开;三个不重叠的重试层(进程内、Cloud Tasks、应用程序);Gmail OAuth 索引,使用 4 向量电子邮件模式;可选的每日电子邮件审查报告;由 Cloud Scheduler 每 15 分钟触发的主动自我提醒;以及一个实验性远程 MCP 服务器,将 get_user_context 暴露给 claude.ai Custom Connectors,并带有进程内 OAuth 2.1 服务器。多语言支持将响应语言与 UI 语言分开(uk、en、fr、es)。 测试和 CI:架构规则作为测试强制执行,包括 30 多条基于 AST 的层隔离规则、一条 no-print 规则和抽象端口检查。契约测试验证发送到供应商 SDK 的负载形状,而不是生成的文本。LLMPort 模拟使多轮和工具调用测试保持确定性。make check(ruff + 约 4,200 个测试)在每次 push 和 PR 时通过 GitHub Actions 运行;部署按选择手动进行。代码库明确为 AI 辅助开发而设计,具有分层的 CLAUDE.md 上下文文件、决策记录和 RFC,以及作为版本化数据而非内联代码存储的提示词。 技术栈:Python 3.11 在 Cloud Run 上,全程使用 asyncio;Firestore、Cloud Tasks、Cloud Scheduler;Slack 和 Telegram 接口;Gmail、Microsoft To Do、Unsplash 和 Google Maps 集成;Logfire 追踪以及一个具有 30 天 TTL 的 BigQuery LLM 内容存储;pytest 和 pytest-asyncio。没有本地模式——若干能力需要云环境。文档遵循 arc42 模板。该仓库仅在保留所有权利许可下共享以供评估。