Engram 持久记忆协议
为 AI 编程代理提供跨会话、跨压缩的持久记忆,自动保存决策与发现。
该技能要求代理主动保存记忆并在会话结束时强制执行,但没有明确请求用户确认,也没有明确禁止将敏感信息保存到记忆存储。技能本身没有权限过度扩张;MCP工具列表和HTTP服务器的数据流可见,但默认情况下HTTP服务器可能因未启用令牌而在本地开放,可能暴露数据。已提供安装和设置信息,来源可追溯。扣分:缺乏用户确认或敏感数据的透明度。
技能描述了一系列强制动作(主动保存、会话结束协议)以及备选方案(重新运行engram setup)。README中提到了测试(go test ./...)和CI工作流,提供了一定证据,但未提供详细的错误处理或异常输入指导。技能依赖外部engram二进制和MCP服务器的可用性;未描述失败反馈。由于是静态审查,可靠性评分上限为10,但CI存在,因此评分略高。扣分:缺少错误信息或测试证据不足。
技能针对AI编码代理的持久记忆需求,场景描述清晰,定义触发条件和禁止情形,并提供替代方案。它可以用中文和英文工作,并可在本地运行(不依赖互联网服务)。边界和触发条件明确,但由于缺少超越默认场景的证据,扣分。
技能文档结构合理,具备分层文档(README、DOCS、安装指南等),包含LICENSE(MIT),但缺少版本信息或变更日志。熟练度:文档全面,但缺少变更日志和明确的版本化。扣分:缺少变更日志或版本历史。
该技能清晰地定义目标(持久记忆),并提供具体指令和工具。它可能直接可用,但安全性未证实;在静态审查中,有效性评分上限为7。扣分:没有实际执行证据或输出验证。
存在CI工作流和go test ./...执行,为该技能的核心部分提供了一些可验证性。但静态审查意味着没有实际执行,且CI覆盖范围可能仅限于部分技能功能。扣分:没有独立执行的证据。
- 该技能被设计为始终激活,并强制进行记忆保存和会话结束协议;管理员应确保用户了解这一行为,并根据需要配置权限。
- 默认的HTTP服务器未启用令牌,可能暴露本地数据;建议设置ENGRAM_HTTP_TOKEN以保护敏感信息。
- 技能未明确禁止保存敏感信息;应确保用户数据不会被存储到记忆库中,除非明确同意。
- 该技能过度依赖外部engram二进制和MCP服务器;确保这些组件保持更新和可用,以避免中断。
- 该技能包含β特性,使用时应保持隔离测试环境,避免影响生产环境。
这个 Skill 能做什么,适合哪些场景?
这是一个强制始终启用的记忆协议,要求代理主动将架构决策、缺陷修复、用户偏好和发现保存到 Engram 的 SQLite 数据库中。依赖 MCP 服务器提供 mem_save 等工具,并包含会话结束时的总结流程,保证下一次会话能接续上下文。安装需运行 `engram setup codex` 并重启 Codex,工具由 UserPromptSubmit 钩子自动加载。
在每次相关事件(如决策、完成工作、发现、用户确认或拒绝)后立即调用 mem_save,将结构化记忆(标题、类型、What/Why/Where/Learned)写入 SQLite。提供 mem_context 和 mem_search 用于检索历史记忆,mem_session_summary 在会话结束时生成总结,并在压缩后立即调用以恢复上下文。所有操作均通过 MCP 服务器执行。
- 开发者解决了一个棘手的 bug,希望下次会话能记住根因。
- 团队确立了编码规范,需要让代理依据规范持续执行。
- 用户表达了对某工具或框架的偏好,期望后续自动遵循。
- 在上下文压缩后,需要快速恢复会话上下文。
- 新会话开始,用户询问之前的工作,代理自动检索相关记忆。
这个 Skill 有哪些优点和局限?
- 强制主动保存,减少遗忘
- 跨会话、跨压缩保存上下文
- 结构化记忆,含主题键和 upsert
- 自动工具加载,无需手动搜索
- 支持项目级和个人级作用域
- 依赖外部的 engram 二进制和 MCP 配置,setup 失败会导致工具缺失
- 需要代理主动遵守协议,否则记忆可能不完整
- 仅支持 MCP 客户端,不支持 HTTP 或 Docker 网络连接
- 未提供测试用例或验证文档,难以评估稳定性
如何安装这个 Skill?
- 安装 Engram:
brew install gentleman-programming/tap/engram(其他平台见文档)。2. 运行engram setup codex并重启 Codex。3. 确保 MCP 工具可用;若缺失,重跑 setup 并重启。
如何使用这个 Skill?
无需手动操作,协议自动激活。当代理遇到需要记忆的事件时,自动调用 mem_save;会话结束时自动调用 mem_session_summary。用户可提示“记得上次我们怎么解决这个问题吗?”来触发搜索。