你的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美元。如果用本地嵌入模型(默认就是),嵌入这块零成本。

几个踩坑提醒

  1. 端口冲突。3111和3113如果被占了,agentmemory会静默失败。启动前先lsof -i :3111检查一下。

  2. 大项目首次索引慢。如果项目有几百个文件,第一次会话采集会比平时慢一些。后续就正常了。

  3. 旧会话导入。如果你之前用Claude Code积累了很多JSONL会话记录,可以一次性导入:

# 导入所有历史会话
npx @agentmemory/agentmemory import-jsonl

# 或者导入单个文件
npx @agentmemory/agentmemory import-jsonl ~/.claude/projects/-my-project/abc123.jsonl

导入的会话在Replay标签页里也能回放。

  1. 升级。用这条命令:
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关掉,没有副作用。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐