你的AI编程助手每次都失忆?agentmemory实测:一条命令搞定跨会话记忆
你的AI编程助手每次都失忆?agentmemory实测:一条命令搞定跨会话记忆
用Claude Code写项目,第一天配好了JWT鉴权,第二天让它加限流逻辑,结果它问你:"你们的鉴权方案是什么?" 用Cursor处理数据库优化,上午刚修完N+1查询,下午换个session它又忘了。
这种"AI失忆症"谁都遇到过。CLAUDE.md、.cursorrules这些内置记忆方案能缓解一些,但200行的上限撑不了多久,内容一多就过时。
最近GitHub上有个叫agentmemory的项目火了起来(4800+星,日增400+),号称能给所有主流AI编程工具加上持久记忆。我花了一个下午实际装了用了,说说真实感受。
这东西干什么的
一句话:agentmemory是个独立的记忆服务器。你在一边跑着它,另一边用Claude Code、Cursor、Gemini CLI写代码,它自动记录每次会话中的关键信息——你的架构决策、踩过的坑、用了什么库、为什么选A不选B。下次开新会话,相关记忆会自动注入上下文。
核心卖点是"零手动维护"。不用自己写CLAUDE.md,不用手动更新.cursorrules,它在后台默默干活。
技术上它用BM25 + 向量检索 + 知识图谱做混合搜索,嵌入模型用的all-MiniLM-L6-v2,跑在本地,不需要额外的API key。存储是SQLite,没有外部依赖。
安装和启动
先把服务跑起来:
# 启动记忆服务器(会占用3111和3113端口)
npx @agentmemory/agentmemory
3111是API端口,3113是实时查看器。浏览器打开 http://localhost:3113 能看到记忆数据的实时变化。
验证服务状态:
curl http://localhost:3111/agentmemory/health
返回正常就行。
想先看看效果可以跑demo:
npx @agentmemory/agentmemory demo
demo会灌入3个模拟会话(JWT鉴权配置、N+1查询修复、限流方案),然后跑语义搜索。你搜"数据库性能优化",它能找到"N+1查询修复"的记忆——这是纯关键词匹配做不到的。
接入Claude Code
Claude Code的接入最完整,支持12个hooks + MCP + skills三种方式。
最快的方式是用Hermes插件市场:
/plugin marketplace add rohitg00/agentmemory
/plugin install agentmemory
插件装完会自动注册所有hooks和MCP工具。手动验证一下:
curl http://localhost:3111/agentmemory/health
如果你不用Hermes,手动配MCP也行。在Claude Code的MCP配置里加:
{
"mcpServers": {
"agentmemory": {
"command": "npx",
"args": ["-y", "@agentmemory/mcp"],
"env": {
"AGENTMEMORY_URL": "http://localhost:3111"
}
}
}
}
配完重启Claude Code,会多出51个MCP工具,包括memory_smart_search、memory_save、memory_sessions这些。
接入Cursor
Cursor通过MCP Server接入。在Cursor的MCP配置中加上面那段JSON就行,配置路径一样。重启后Cursor会自动连上agentmemory。
接入OpenClaw
OpenClaw有两种接法。
简单方式——MCP配置,和上面一样的JSON加到OpenClaw的MCP config里。
深度集成——把integrations/openclaw目录拷贝到~/.openclaw/extensions/agentmemory,然后在~/.openclaw/openclaw.json里加:
{
"plugins": {
"slots": {
"memory": "agentmemory"
}
}
}
重启OpenClaw生效。
实际用起来什么感觉
我测了两天,说几个具体场景。
场景一:跨会话上下文保持。上午用Claude Code在一个Next.js项目里配了Prisma,选了PostgreSQL,写了几个model。下午开新会话让它加API路由。不用我提,它直接知道数据库用的Prisma+PG,model结构是什么样的。省了至少五分钟的重复解释。
场景二:踩坑记忆。前天debug一个jose库的Edge Runtime兼容问题,折腾了半小时才搞定。今天在另一个项目碰到类似问题,agentmemory把之前的解决方案推了过来。这个确实好用。
场景三:多工具共享。上午用Claude Code写了一段逻辑,下午切到Cursor做UI,Cursor也能读到Claude Code那边的记忆。两个工具共享同一个记忆服务器,信息不会断层。
不过也有不太行的地方。短小的脚本项目没什么效果,因为本来上下文就不多,记忆带来的增益不明显。另外刚装完的前几个会话,积累的记忆还不够,效果不会立竿见影。
和CLAUDE.md、mem0对比
CLAUDE.md是手动维护的静态文件,内容多了你得自己删减,而且只能在Claude Code里用。agentmemory是自动采集、自动压缩、多工具共享。
mem0是另一个比较火的记忆方案(53000+星),但它需要手动调用add()接口存记忆,而且要外挂Qdrant或pgvector做向量存储。agentmemory零依赖,SQLite搞定,12个hooks自动采集。
从检索精度看,agentmemory在LongMemEval-S基准上R@5达到95.2%,mem0是68.5%,Letta/MemGPT是83.2%。当然基准测试和实际体验不完全一致,但差距确实能感受到。
token消耗方面,agentmemory每个session大约用1900 tokens,一年下来大概10美元。如果用本地嵌入模型(默认就是),嵌入这块零成本。
几个踩坑提醒
-
端口冲突。3111和3113如果被占了,agentmemory会静默失败。启动前先
lsof -i :3111检查一下。 -
大项目首次索引慢。如果项目有几百个文件,第一次会话采集会比平时慢一些。后续就正常了。
-
旧会话导入。如果你之前用Claude Code积累了很多JSONL会话记录,可以一次性导入:
# 导入所有历史会话
npx @agentmemory/agentmemory import-jsonl
# 或者导入单个文件
npx @agentmemory/agentmemory import-jsonl ~/.claude/projects/-my-project/abc123.jsonl
导入的会话在Replay标签页里也能回放。
- 升级。用这条命令:
npx @agentmemory/agentmemory upgrade
注意它会更新JavaScript依赖,可能跑cargo install,动的东西比较多,建议在空闲时间操作。
配置文件参考
agentmemory支持配置文件控制行为,放在项目根目录的.agentmemory.json:
{
"capture": {
"autoCapture": true,
"captureToolCalls": true
},
"search": {
"defaultLimit": 10,
"hybridWeight": 0.7
},
"lifecycle": {
"consolidationInterval": "24h",
"decayEnabled": true
}
}
hybridWeight控制向量搜索和BM25的权重比。0.7意味着70%依赖向量相似度,30%靠关键词匹配。日常用默认值就行,改动了反而可能降精度。
值不值得装
如果你每天用AI编程工具写同一个项目,经常开新会话,经常要重复解释项目结构和技术选型——装。省下来的时间很可观。
如果你只是偶尔用AI编程工具写个小脚本,或者项目小到一个session就能搞完——没必要。多一个后台服务跑着,收益不大。
项目地址:https://github.com/rohitg00/agentmemory
一条命令就能跑起来试试,不满意ctrl+c关掉,没有副作用。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐



所有评论(0)