用途
agent-memory 为 AI 编程代理提供本地、可搜索的项目记忆。记忆以 Markdown 作为事实来源并提交进代码仓库,git 充当同步手段;无需云端,也不使用向量数据库。它主要解决代理在多轮任务中遗忘上下文的问题,让任务状态、决策、约定、坑点和模块级事实可被持久记录并跨会话检索。
主要能力
- 一次 MCP 调用即可获得结构化记忆更新,覆盖当前任务状态、决策、约定、坑点、各模块事实。
- 分支感知(branch-aware)、密钥安全(secret-safe)、字节保留(byte-preserving)。
- 记忆是可读的纯 Markdown,可用 git diff 审阅;持久性变更先暂存等待人工审阅,通过
review --diff查看差异后apply落地,而非静默写入。 - 写入前扫描并剔除密钥与个人身份信息(PII)。
- 提供三个 MCP 工具和一套完整 CLI。
- 联邦记忆(federation):仓库的
.agent-memory/仅了解自身,联邦允许其引用共享的只读“landscape”存储,把架构知识库、平台模式或对等服务记忆接入代理推理循环。 - 版本 0.6.1 带来 Swarm Audit Hardening 与 Metamorphic Rebase:类别强制审批路由、整文件预状态 CAS、Jaccard 去重中的极性/否定限定词保留、幂等纯只读
fetch_context、规范三方合并删除语义;重基时检测整文件预哈希漂移,防止相邻区块被并发编辑时的静默覆盖。 - 控制平面清单隔离:对
.agent-memory/meta/manifest.yaml实施 fail-closed 保护,防直接修改、符号链接绕过或路径穿越。 - RFC 8785(JCS)确定性:内部 vtp 严格遵循 JSON 规范化,通过全部 26 个官方测试向量,支持 ECMAScript 浮点格式、拒斥孤立代理项和递归 UTF-8 校验。
- 跨进程 SQLite NonceStore(fail-closed):用 withDB 模式持久化仓库作用域存储,消除 Windows 文件描述符锁,零漂移原子校验并自动清理过期 nonce。
- 两阶段暂存与复合回滚:严格路径穿越消毒(ValidateStagingID、agentfs.ValidateMemoryPath)、符号链接遏制、原子多文件回滚。
- VTP-1 严格断言识别与双预言机结算:断言结果必须匹配声明 ID,验证者密钥绑定校验,Workpool/0 Clause B 不相交席位强制。
- 联邦命名空间治理(SAR-010):标识符经完整 Unicode 大小写折叠规范化(FullCasefold(NFC(Trim(s)))),
agent-memory doctor可在部署前检测潜在的跨平台大小写冲突;支持本地解析覆盖(meta/store_overrides.yaml),在不改动上游的情况下定义 local_alias、exclude 路由。 - 反 TOCTOU 双并发屏障:内核级 OS 建议锁序列化写操作(sync、apply),读者(fetch)在整个存储解析与上下文包组装期间持有共享读锁;无条件 lockfile CAS 摘要校验(VerifyStoresLockCAS)在写入前校验。
- 读集写偏斜校验(ReadSections CAS):暂存提案记录合成时读取的所有区块哈希,rebase 与 apply 在应用变更前校验其未漂移。
- 类型化治理事件回执(ProvenanceAlert):隔离冲突或过期漂移会发出机器可读回执,跟踪 incident_id、assigned_steward、escalation_deadline 与上游 commit SHA。
- VTP-1 可验证任务协议:将任务执行变为端到端、机器可验证的 5 阶段密码学生命周期。
使用方式
- 安装:从最新 release 下载对应 OS/arch 的预构建二进制包,解压后把 agent-memory 放入 PATH,无需工具链。Homebrew、Scoop、winget 包在计划中,agent-memory 也已列入 MCP Registry。
- 在目标仓库内执行
install claude会自动注册 MCP 服务器:它会在仓库根合并一个项目级.mcp.json,运行agent-memory mcp --root ${CLAUDE_PROJECT_DIR:-.}。Claude Code 在启动时展开 CLAUDE_PROJECT_DIR,因此服务器始终服务当前仓库;配置可跨克隆移植,并按 Claude Code 作用域优先级(local > project > user)覆盖游离的用户级服务器。建议提交.mcp.json供团队共享。 - 服务器依次从
--root、$CLAUDE_PROJECT_DIR、工作目录解析仓库。其他运行时(Cursor、Gemini CLI、任何读取 AGENTS.md 的工具)使用同一服务器,需安装各自的适配器。 - 在已有项目上采用:
init生成空记忆,随后让编码代理分析真实代码库,之后重启代理让 memory.* 工具加载,再粘贴提示词。代理读取仓库并调用memory.propose_update;工作笔记和坑点立即生效,持久类别(约定、决策、模块)暂存等待审阅,用agent-memory review --diff查看并用agent-memory apply落地(或 reject)。没有 MCP 服务器时,代理或用户可直接使用 CLI,走相同的校验/密钥扫描/路由管线。 - 源码构建需要 Go 1.25+(MCP SDK 间接要求);make 目标等价于上述 go 命令。
- 联邦快速上手:连接公共架构 Wiki(https://github.com/xChuCx/arch-wiki),返回包实现两层检索——低 token 不变式包附带按需指向完整深度文章的指针。
适用场景
- 需要为 AI 编码代理提供跨会话、可审阅项目记忆的团队。
- 希望记忆可读、可 diff、可版本控制,而非黑盒向量库的场景。
- 需要联邦共享架构知识、平台模式或对等服务记忆的多仓库环境。
- 需要密钥/PII 安全与审计追踪的合规敏感项目。
- 多代理 swarm 或经济任务中需要机器可验证任务执行的实验性场景。
限制
- VTP-1 状态为实验性/安全加固进行中:Clause B 不相交席位验证目前仅依赖身份字符串不等(worker != verifier != creator),在没有外部 PKI 或受证明硬件身份的开放去中心化或经济环境中,尚不应作为对抗性信任边界;密码学账户证明正在开发。
- 反 TOCTOU 双屏障仅对参与锁定协议的协作进程保证严格可串行化,明确不约束绕过 OS 建议锁的非协作外部写入者。
- 仓库的
.agent-memory/本身只了解自身,跨仓库知识需通过联邦存储引入。 - 未提供具体的收费、价格信息。
- 安装方式目前推荐预构建二进制;Homebrew、Scoop、winget 包仍在计划中。
- 联邦覆盖严格要求目标存储非最终一致性(readback_consistency: eventual 将被拒),且 incident_id、assigned_steward 与有效的 RFC3339 escalation_deadline 为强制字段。
- 文档提到系统级/多仓库记忆尚在 ROADMAP.md 中规划。