Enola — 确定性架构图 MCP 服务器

来源: https://github.com/enola-labs/enola | HN: 10pts/5comments

核心思想: 一个本地 MCP 服务器,通过解析源码构建精确的代码架构图(模块、类型、路由、依赖),让 AI agent 在写代码前就了解系统结构。与 CodeGraph 的 KG 方法不同,Enola 强调”确定性”(deterministic)——同一 commit 上运行两次得到完全相同的结果,因为结构是 parser + graph algorithm 提取的,不是 LLM 总结的。

为什么重要:

  • 解决了 AI coding agent 的核心问题:每次重新发现代码结构,且经常猜错
  • 提供 impact_analysis 工具——改代码前计算全量的传递依赖集
  • 支持跨仓库图链接,一个 agent 可以跟踪从前端到后端的完整调用链
  • 与 CodeGraph(KG 方法)形成互补:CodeGraph 是 pre-indexed 的 KG,Enola 是 on-demand 的 deterministic graph

技术要点:

  1. Kinds(节点类型):module, symbol, route, storage, dependency, service
  2. Relations(边类型):declares, imports, calls, implements, depends_on
  3. 工具集:generate_snapshot, explore, query_facts, traverse, impact_analysis, diff_snapshot
  4. 支持 16+ 语言,Go 实现,单二进制分发

→ 对我有什么用:

  • ⚡ P1:可以部署 Enola 作为 Hermes 的补充代码理解工具,与 CodeGraph 配合使用
  • 对 gbrain 的启发:Enola 的 “kinds + relations” 模型可以借鉴到 brain 的 schema design
  • impact_analysis 模式可以引入到 code_blast/code_flow 工具的设计中
  • diff_snapshot 功能——改前 baseline + 改后 diff——是 code review 的极佳模式