文档大纲

扔掉聊天记录:claude-mem治好Claude的健忘症

和 Claude Code 协作,经常会撞上一个让人抓狂的场景:上周明明和它一起把某个模块重构好了,这周开新会话问"我们之前怎么处理的",它一脸茫然——"我没有之前的对话记录"。

这种感觉像和一个得了短期健忘症的同事合作。每次开会他都精神抖擞,但上会说了什么、决定怎么做,全忘干净。

claude-mem 就是治这个"健忘症"用的。它给 Claude Code 加了一层持久化记忆——你每次会话做了什么、调了哪些文件、改了什么逻辑,全被自动捕获并压缩下来。下次开会,Claude 自动带着"上次的记忆"出现。

用了一周之后,写下这篇避坑+实战指南。

它到底解决什么问题?

先说痛点,再说工具。

Claude Code(以及 Cursor、Windsurf 这类 AI IDE)本质是无状态的。每次开新会话,模型都从零开始——它不知道你上周改了哪个文件、为什么引入这个依赖、踩过哪些坑。结果:

  • 每次都得重新解释项目背景
  • 它会重复犯你已经修过的错
  • 长项目的架构决策随着时间被遗忘
  • 你得自己手动写笔记同步给它

claude-mem 的做法是:背后跑一个 SQLite 数据库 + 一个本地 Worker 服务,通过 5 个生命周期 Hook(SessionStart、UserPromptSubmit、PostToolUse、Stop、SessionEnd)把会话里的每一次工具调用、每一次观察捕获下来,再让 Claude 自己提炼"今天学到了什么"。下次开会,这些摘要自动注入到上下文。

一句话总结:让 AI 从"一次性助手"变成"长期协作者"。

它实际适合谁?

我自己用下来,按"收益"排个序:

人群收益门槛
个人开发者,长期维护同一项目⭐⭐⭐⭐⭐低
团队协作,需要"知识沉淀"⭐⭐⭐⭐中(需要约定 <private> 使用)
一次性脚本/小工具⭐没必要,太重
处理敏感信息(密码/密钥/合规)⚠️需主动用 <private> 标签(见下文隐私节)

如果你的项目经常需要查"上次怎么弄的",claude-mem 几乎必装。如果只是偶尔写个小脚本,没必要。

核心特性一览

我筛了一遍 README,挑出真正有用的几个:

特性实际价值
🧠 跨会话持久记忆不再每周重述项目背景
📊 渐进式披露搜索时只返回索引,需要再展开详情,省 token
🔍 mem-search 技能用自然语言查"上周改了哪些文件"
🖥️ Web Viewer 可视化浏览器实时看记忆流,调试神器
🔒 <private> 标签敏感信息不入库
🗣️ 28 种语言摘要中文项目也能生成中文摘要

特别说一下渐进式披露这个设计。它把搜索拆成三层:

  1. search — 只返回 ID 和一句话摘要(约 50–100 token/条)
  2. timeline — 给定 ID 拿上下文时间线
  3. get_observations — 只对真正需要的 ID 拉详情(500–1000 token/条)

作者号称比"一把梭全量返回"省 10 倍 token。在长项目里,这点很关键——否则光是把历史塞进上下文就能把你的窗口撑爆。

它支持哪些 Agent 环境?

光支持 Claude Code 的话,覆盖面有点窄。作者显然意识到了,所以做了多平台适配:

  • ✅ Claude Code(主力)
  • ✅ OpenCode
  • ✅ Codex CLI
  • ✅ Gemini CLI
  • ✅ Hermes
  • ✅ Copilot
  • ✅ Antigravity CLI
  • ✅ Cursor / Windsurf(通过 hook 配置)

我个人只在 Claude Code 里用,其他环境需要针对性安装(见后文「安装」一节)。

安装:两种姿势

姿势一:npx 一键安装(推荐)

npx claude-mem install

这一条命令会帮你:

  • 检查 Node.js 版本(要求 ≥ 20)
  • 没装 Bun 自动装 Bun(Worker 服务依赖)
  • 没装 uv 自动装 uv(向量搜索依赖)
  • 注册 5 个生命周期 Hook
  • 启动本地 Worker 服务(默认端口 37777)

如果你用的是 OpenCode 或 Antigravity CLI,加个参数:

npx claude-mem install --ide opencode
npx claude-mem install --ide antigravity

姿势二:插件市场安装

在 Claude Code 里直接:

/plugin marketplace add thedotmack/claude-mem
/plugin install claude-mem

效果一样。

一个常见的坑

如果你执行的是 npm install -g claude-mem,只会装 SDK 库,不会注册 Hook,也不会启动 Worker。这种状态下你以为装好了,其实啥都没生效。务必用 npx claude-mem install。

Windows 用户的额外提醒

如果终端报 npm : The term 'npm' is not recognized,先去 [nodejs.org](https://nodejs.org) 装 Node.js,并确保加到了 PATH。装完重启终端再跑 npx。

配置:让它说中文

安装完会在 ~/.claude-mem/settings.json 生成默认配置。打开看一眼:

{
  "CLAUDE_MEM_MODE": "code"
}

如果你想让生成的摘要用中文,改成:

{
  "CLAUDE_MEM_MODE": "code--zh"
}

其他可选模式:code--ja(日语)、code--es(西班牙语)等,遵循 ISO 639-1 标准。

改完必须重启 Claude Code 才生效。这点我踩过坑——改完兴冲冲开了新会话,发现摘要还是英文,排查半天才想起来没重启。

实际使用:三种姿势

1. 被动使用:什么都不用做

装好之后,你正常用 Claude Code 就行。每次会话结束后,它会自动:

  • 捕获你用过的所有工具(Read、Write、Edit、Bash…)
  • 让 Claude 提炼"学到了什么"
  • 存进 SQLite
  • 生成摘要

下次开会,最近 10 个会话的摘要会自动注入到上下文。这就是默认行为。

2. 主动查询:mem-search 技能

你可以在会话里直接问:

"上周我们讨论过 auth 模块的 token 刷新逻辑,帮我找一下当时的决策"

Claude 会调用 mem-search 技能,自动从历史里捞出来。

如果它捞得不准,你可以要求"用 ID 123 的时间线展开看看"——这是它的高级用法。

3. Web Viewer 可视化

Worker 启动后,浏览器打开 http://localhost:37777 就能看到一个实时记忆流面板:

  • 当前会话的所有观察
  • 历史会话列表
  • 每条记录的 token 占用
  • 时间线视图

这个 UI 用了 SSE(Server-Sent Events)做实时推送,调试的时候特别爽——你能看到"这一刻它正在记录什么"。

隐私:怎么保护敏感内容?

claude-mem 默认会记录一切工具调用,包括你读取的 ~/.aws/credentials 这种敏感文件。

强烈建议:在写敏感内容时,用 <private> 标签包起来:

<private>
我的 API key 是 sk-xxx,不要记录
数据库密码是 admin123
</private>

这些内容会在写入前被过滤掉,永远不会进 SQLite。

真实感受

好的方面

  1. 冷启动体验质变:以前开新会话,前 5 条消息都在解释项目背景;现在第一条消息就能直接进入正题。
  2. 架构决策不再丢:我之前改过一次数据库表结构,过了三周忘了为啥用 jsonb,它直接帮我找到当时的讨论。
  3. Web Viewer 调试神器:排查"为什么这个 bug 修了又出现"特别好用,能看到完整时间线。
  4. 中文模式:对国内开发者友好,摘要不是机翻味,是真的中文表达。

让我皱眉的地方

  1. 首次安装会装一堆东西:Bun、uv 都会自动装,对机器洁癖用户可能不爽。
  2. Worker 占内存:长时间不重启,Worker 进程会逐渐变大(毕竟要存历史)。
  3. 隐私靠自觉:<private> 标签要你主动用,没有自动识别密钥的机制。如果你忘了包,Bash 里的 export TOKEN=xxx 会被记录。
  4. 5 个 Hook 全部开启:对追求极简的用户来说,可能觉得侵入性强。但好在都可以在配置里关。

故障排查小抄

症状排查方向
安装后没生效检查 ~/.claude/plugins/ 下有没有 claude-mem 目录;确认重启过 Claude Code
Web Viewer 打不开Worker 默认端口 37777,被占用会改端口,看启动日志确认
摘要还是英文改了 settings.json 没重启 Claude Code
Windows 装不上Node.js 没加 PATH,重新装 Node.js 后重启终端
想关掉 claude-mem卸载插件 + 删除 ~/.claude-mem/ 目录

需要更详细的诊断,可以在 Claude Code 里让 troubleshoot 技能介入。

写在最后

claude-mem 这个项目挺有意思——它不在 AI 模型本身上下功夫,而是把"记忆"做成了基础设施层。对个人开发者来说,相当于免费给自己的 AI 助手装了一个长期记忆外挂;对团队来说,它有潜力成为知识沉淀的载体(虽然这块还没完全成熟)。

我的建议是:先用一周,再决定留不留。装上它感受一下"跨会话记忆"是不是真的帮你省了时间。如果有,就是真香;如果没感觉,卸了也无妨,反正 npx claude-mem install 装起来,rm -rf 卸干净。

相关链接:

  • 仓库:https://github.com/thedotmack/claude-mem
  • 文档:https://docs.claude-mem.ai/
  • 许可证:Apache 2.0

阅读量: 297