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
技术要点:
- Kinds(节点类型):module, symbol, route, storage, dependency, service
- Relations(边类型):declares, imports, calls, implements, depends_on
- 工具集:generate_snapshot, explore, query_facts, traverse, impact_analysis, diff_snapshot
- 支持 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 的极佳模式