关于 engram
Engram 是面向 AI 编码 Agent 的本地代码图上下文工具,对源码实体、Git 关系和部分项目记忆建立索引,并通过 CLI、Agent 钩子、MCP 与本地仪表盘提供聚焦的上下文。它适合在读取完整文件之前先定位相关代码。
主要功能
- 01本地 SQLite 结构化代码图
- 02按预算输出相关实体上下文
- 03调用方、被调用方与影响分析
- 04Git 共变关系与错误记录
- 05带令牌认证的本地仪表盘
适用场景
- 01在阅读完整文件前查找相关代码
- 02分析函数之间的调用关系与影响范围
- 03为 AI 编码 Agent 生成规则文档
MCP 相关
Engram 提供 engram-serve MCP 可执行文件,并通过 HTTP 服务向 Agent 输出图谱上下文;它也可以配置外部 MCP 或插件提供方作为上下文来源。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
npx -y engramxENGRAM_API_TOKEN密钥Optional HTTP bearer token. Auto-generated at ~/.engram/http-server.token if unset.ENGRAM_MISTAKE_GUARDPre-mortem warnings: '1' = warn, '2' = deny. Unset = off, zero overhead.ENGRAM_ANTHROPIC_MEMORY_PATHOverride path to Claude Code's Auto-Memory MEMORY.md.ENGRAM_MCP_CONFIG_PATHOverride path to ~/.engram/mcp-providers.json (plugin MCP server declarations).ENGRAM_NO_UPDATE_CHECKSet to '1' to disable passive update notice. Auto-disabled when $CI is set.本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍

Engram
面向 AI 编码 Agent 的本地结构化代码图谱和上下文工具包。Engram 为源代码实体、Git 关系和选定的项目记忆建立索引,然后通过命令行、Agent 钩子、MCP 和经过身份验证的本地仪表板提供聚焦的上下文。
可用它在阅读完整文件前查找相关代码、检查关系,并将记录下来的错误带入后续会话。做出行为方面的判断前,请先阅读查询返回的源代码:图谱检索只是调查辅助工具。
快速入门
经检查的软件包为 engramx 4.5.0,要求 Node >=20。此源码构建示例仅检查过源代码,未经执行;不假设当前已有已发布的软件包或扩展版本。
git clone https://github.com/NickCirv/engram.git
cd engram
git checkout 9fa2a4b74ca8e66560d74d1255c16c43157d32bd
npm install --ignore-scripts
npm run build
export ENGRAM_NO_UPDATE_CHECK=1
node dist/cli.js init ../your-project --no-hook
node dist/cli.js query "authentication" --project ../your-project --budget 2000
node dist/cli.js stats --project ../your-project
将 ../your-project 替换为你可以检查的代码库。索引会在项目的 .engram/ 中写入图谱。--no-hook 标志很重要:默认的 CLI init 还会安装 Sentinel 钩子。先从图谱开始,检查输出,然后再决定启用哪种集成。此构建包含语法解析器打包;安装前请检查软件包脚本和依赖项。
查询会返回匹配的图谱实体和估算的令牌数;如果没有匹配节点,则会显示相应消息。数量取决于已建立索引的项目;此处不会捏造基准测试输出。
已实现的功能
| 工作流 | 有源码依据的入口点 |
|---|---|
| 探索结构 | query、path、gods、callers、callees、impact、stats |
| 维护上下文 | init、watch、reindex、learn、mistakes |
| 生成 Agent 文档 | gen、gen-mdc、gen-aider、gen-windsurfrules、gen-ccs |
| 检查钩子集成 | install-hook --dry-run、hook-preview、hook-stats、hook-disable、hook-enable |
| 提供上下文服务 | server、ui、engram-serve MCP 可执行程序 |
| 查看测量结果 | measure、bench、cost、软件包基准测试脚本 |
| 维护安装 | doctor、setup --dry-run、update --check、数据库/缓存/插件命令 |
这些入口点声明于固定版本的 CLI中。执行写入操作前,请查看各命令的帮助信息。生成器、钩子安装程序、缓存/数据库命令和插件安装可能会修改本地状态。
架构
源代码挖掘器会提取实体、引用、Git 共变更信息,以及选定的错误和会话信息。图存储使用 sql.js 将数据持久化到项目本地的 SQLite 数据库中。查询会遍历图并生成有范围限制的上下文。提供方解析器会组合内置来源与可选插件/MCP 提供方;集成可以添加外部进程和网络访问。
架构与集成指南梳理了这些路径,记录了 HTTP 身份验证,并提供本地 MCP 配置。现有设计记录、发行说明、集成文档和 ECP 草案仍可通过文档索引访问。这些文档保留了历史背景,但并非全部都已针对本修订版验证。
隐私与运行边界
核心图谱在本地运行,但无法保证整个系统都不访问网络。CLI 会检查 npm 更新,Context7 可以调用外部封装程序,已配置的 MCP/插件提供方也可以执行自己的进程。ENGRAM_NO_UPDATE_CHECK=1 会禁用更新检查路径,但不会禁用所有可选集成。请检查已配置的提供方以及接收图谱输出的 Agent。
HTTP 服务绑定到 127.0.0.1,会验证 Host/Origin,并要求通过 bearer token 或仪表板 Cookie 访问受保护的路由。它会从 ENGRAM_API_TOKEN 或本地 token 文件解析 token。请妥善保管该 token,并遵守现有的安全策略。
局限与测量
结构化上下文大小、预估 token 减少量、会话回放和实际提供方账单回答的是不同问题。数据包变小本身并不能证明答案质量相同或账单更低。请在具有代表性的工作负载上复现所附基准测试,并同时跟踪正确性和成本。本次文档审查未运行构建、测试套件、基准测试或 Agent 会话。
开发
npm run build
npm run lint
npm test -- --run
此代码库包含针对图存储、提供方、钩子、HTTP 安全及其他模块的单元测试和集成测试源文件。这些文件表明项目有测试覆盖意图;但此处尚未验证本修订版的测试结果。更改行为前,请参阅保留的贡献指南。
许可证与作者
Apache-2.0 许可证。ECP 规范在其源文档中注明了自己的署名和许可;本次改写不会更改其中任何内容。
Nicholas Ashkar · 应用 AI、系统与咨询。
用户指南
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。