rohitg00/agentmemory 是一个面向 AI 编程 Agent 的持久记忆系统。它的目标很明确:让 Claude Code、Codex CLI、Cursor、Gemini CLI、OpenCode 等工具不必每次都重新理解项目背景、架构决策和历史问题。
项目地址:https://github.com/rohitg00/agentmemory
截至写作时,GitHub API 显示这个仓库已有约 1.3 万 star,主要语言是 TypeScript,许可证为 Apache-2.0。README 的描述是“Persistent memory for AI coding agents”。
它解决什么问题
AI 编程 Agent 的常见痛点是记忆断裂。今天让 Agent 修了一个认证问题,明天再开新会话,它可能又不知道:
- 认证中间件在哪个文件。
- 项目为什么选择某个库。
- 哪些测试已经覆盖。
- 哪些 bug 曾经修过。
- 团队偏好的实现方式是什么。
传统做法是写 CLAUDE.md、.cursorrules 或项目说明。但这类静态文件需要人工维护,而且越写越长,最后容易变成“所有内容都塞进上下文”。
agentmemory 的思路是:后台记录 Agent 的观察、工具调用和会话内容,压缩成可搜索记忆,再在后续会话中按需取回相关上下文。
支持哪些 Agent
README 中列出的支持范围很广,包括:
- Claude Code
- Codex CLI
- Cursor
- Gemini CLI
- OpenClaw
- Hermes
- OpenCode
- Cline
- Goose
- Roo Code
- Windsurf
- Aider
它的连接方式主要包括 hooks、MCP 和 REST API。只要客户端支持 MCP 或 HTTP,就有机会接入同一个 memory server。
快速启动
README 给出的基本安装方式:
|
|
也可以直接用 npx:
|
|
默认服务端口包括:
- API:
3111 - 实时 viewer:
3113
打开:
|
|
可以看到 memory 构建过程、session、知识图谱、健康状态等信息。
和静态记忆文件有什么不同
静态记忆文件适合保存规则,比如编码风格、命令、目录说明。agentmemory 更偏运行时记忆,适合保存 Agent 实际做过什么、查过什么、修过什么。
README 中强调了几类能力:
- 自动捕获会话和工具调用。
- BM25 + Vector + Graph 混合搜索。
- MCP 工具暴露。
- 实时 viewer。
- session replay。
- 本地运行,不依赖外部数据库。
- 支持多个 Agent 共享同一套记忆服务。
它不是替代所有项目文档,而是补上“会话历史和工作流记忆”这一层。
典型场景
第一,长期维护同一个代码库。Agent 可以记住以前修过的模块、测试策略和关键文件。
第二,多工具混用。比如平时用 Claude Code,有时用 Codex CLI 或 Cursor。如果这些工具都接入同一个 memory server,就能共享部分上下文。
第三,复杂任务拆分。长任务中间被压缩或换会话时,记忆系统可以帮助恢复关键状态。
第四,团队内沉淀经验。重复出现的 bug、架构取舍和操作步骤可以沉淀成可检索信息。
使用时要注意什么
第一,自动记忆不是越多越好。需要关注隐私、密钥、客户数据和敏感代码,不要把不该记录的内容放进长期记忆。
第二,记忆召回有误差。即使 README 给出了基准测试结果,实际项目里仍然要把召回内容当作参考,而不是事实来源。
第三,多个 Agent 共用记忆时,要设计好隔离边界。个人项目、公司项目、客户项目不应该混在同一个无隔离 memory 空间里。
第四,MCP 工具数量很多时,要注意工具暴露面。只开放实际需要的能力,避免让 Agent 获得过宽的写入、删除或导出权限。
适合谁
agentmemory 适合已经重度使用 AI 编程 Agent 的用户。尤其是:
- 长期维护一个项目的独立开发者。
- 经常切换 Claude Code、Codex、Cursor 的用户。
- 想研究 MCP、hooks 和 Agent 工作流的开发者。
- 希望把会话历史变成可检索资产的小团队。
如果只是偶尔让 AI 改一个小脚本,静态说明文件就够了。如果已经把 AI Agent 当作日常开发搭档,持久记忆系统会更有意义。
小结
agentmemory 解决的是 AI 编程中的“重新解释成本”。它把会话、工具调用和项目经验沉淀为可搜索记忆,让后续 Agent 更容易接上上下文。
这类工具的方向很重要,但也要谨慎使用。记忆系统越强,越需要重视数据边界、权限控制和清理机制。真正落地时,建议先在个人项目或非敏感代码库里试用,再逐步扩大范围。