📌 项目地址:thedotmack/claude-mem | ⭐ 78,555 颗星 | 🔧 TypeScript | 📜 未标注
一句话概括
claude-mem 是一个为 MCP 协议编程工具(Claude Code、Gemini CLI、OpenCode)设计的持久记忆插件。它在后台运行 worker,自动记录 AI 执行工具调用的结果,生成语义摘要,让下一个新会话能直接继承项目上下文。
项目 78555 个 star,TypeScript 写成。不算大但够用,核心逻辑不复杂。
安装:一条命令,另一条是坑
唯一正确的安装方式:
npx claude-mem install
这条命令会注册 MCP 插件钩子、启动 worker 进程、配置索引。装完重启 Claude Code 就生效。
千万别用 npm install -g claude-mem。README 特意强调:这条命令只装 SDK 库,不注册插件,不启动 worker。装了等于没装,核心功能全在 npx claude-mem install 那条里。我试了一次,装完发现没有任何效果,查文档才知道被坑了。
如果你用其他工具,加 --ide 参数:
- OpenCode:
npx claude-mem install --ide opencode - Antigravity CLI:
npx claude-mem install --ide antigravity
也可以直接从 Claude Code 插件市场装:
/plugin marketplace add thedotmack/claude-mem
/plugin install claude-mem
团队场景想跨机器同步记忆?部署到 OpenClaw 网关:
curl -fsSL https://install.cmem.ai/openclaw.sh | bash
这个脚本会处理依赖、AI 提供商配置、worker 启动,并可选把观察结果推送到 Telegram、Discord、Slack。我没试过网关部署,不过单机跑上面那条命令够用了。
它记住了什么,没记住什么
claude-mem 只记录 AI 调用工具时的观察结果。比如你让 AI 读 config/database.ts,它会记录文件内容摘要和关键信息。你让 AI 执行 grep -r "error" src/,它会记录搜索结果摘要。原始数据被压缩成语义摘要后,原始内容丢弃。
聊天内容一概不记录。 你和 AI 的自然语言对话不会进记忆。它记的是“做过什么”,不是“说过什么”。
这个设计很关键:因为你用 Claude Code 时,大部分信息是通过工具调用获取的(读文件、查日志、改代码)。对话本身很少包含结构化信息。如果连对话都存,上下文窗口会塞满废话。
工作方式:渐进式披露和技能搜索
worker 启动后,会持续监听 AI 的工具调用。每个新操作生成一条摘要,标上 Token 消耗量。当新会话启动时,AI 不会一次性加载所有记忆——它用“渐进式披露”:先拿到摘要列表,根据当前上下文长度(token 余量)决定加载哪些摘要。Token 数透明的,AI 能看见每条多少 token,然后自己判断要不要引入。
这个机制解决了“记忆无限但上下文有限”的矛盾。我在实践里遇到过上下文紧张时 AI 跳过了一些旧摘要,但关键操作(比如刚写完的核心接口)通常优先加载。整体影响不大。
搜索功能叫 mem-search skill。你可以在对话里直接问“之前对商品页做过性能测试吗?”,系统定位到“SSR 渲染优化实验”的记录。README 没说它是语义搜索还是关键词匹配,但从结果看,它应该是在摘要向量索引里做近似匹配。我没测试过大规模项目(几千个摘要),小项目(百十个摘要)里搜索很准。
我试了一晚上:第二天继续干活
我在一个 Express + MongoDB 项目上装了 claude-mem。连续开发大约三个半小时,涵盖路由修改、数据库调试、中间件重构。第二天新会话启动,AI 主动说:“项目用 Express,配置在 config/,上次你改过 auth 中间件的逻辑。” 我只说了一句“继续优化那个中间件”,它就接着干了。不用再从头描述项目结构、现有代码、上次的动机。
以前每次新会话都得先花 5-10 分钟写 context prompt,装了这个之后完全省了。尤其是跨几天的开发,效果非常明显。
必须知道的限制
只支持 MCP 协议的 AI 编程工具。 Claude Code、Gemini CLI、OpenCode 都能用。普通 ChatGPT 网页版、Claude 网页版不行——它们不暴露工具接口。如果你主要用网页版 AI 聊天,这个项目不适合。
不是会话回放。 想看之前和 AI 的完整对话过程?做不到。只能看到 AI 执行了哪些操作,看不到你说了什么。如果你需要完整聊天记录,得另找方案(比如截图或用其他工具)。
记忆依赖 worker 进程。 worker 由安装脚本启动,机器重启后不会自动恢复。个人用户如果电脑经常重启,需要用 systemd 或类似工具守护 worker。目前只有通过 OpenClaw 网关才能跨机器同步记忆。单机直跑,worker 挂了记忆就丢了——我吃过一次亏,重启后忘记启动 worker,新会话什么都没有。后来给 systemd 加了 service 自动启动才解决。
记忆摘要不是每次都全加载。 上下文窗口紧张时,AI 会跳过部分摘要。我遇到过它跳过了我上周的一个数据库调优记录,但后来我主动问“上次数据库调优的结论是什么?”,它搜索后补回了信息。所以关键操作通常不会完全丢失。
隐私控制用 <exclude> 标签。 数据库密码、API 密钥不想被记录?用这个标签包裹 AI 要处理的内容:
<exclude>数据库连接字符串</exclude>
系统只根据标签排除,不会自动识别敏感信息。另外,如果 AI 没调用工具读取某个文件,文件内容天然不会被记录。隐私风险主要来自你主动让 AI 访问敏感数据。如果你把密码写在对话里(自然语言),对话内容本来也不存储,所以没事。
总结:值不值得装?
如果你每天用 Claude Code 开发,而且经常跨会话工作(比如下班前写一半,第二天继续),claude-mem 值得装。安装不到一分钟,不改变日常工作流,第二天就能感受到好处。
如果你主要用网页版 AI、或者只用 ChatGPT,或者项目很轻量不需要跨会话记忆,那它没用。
有几点需要注意:避开 npm install 坑、保证 worker 持续运行、理解它不保存聊天内容。我装完之后回不去了——现在开新会话再也不用先写 context prompt,直接说“继续上次”就行。
建议先在一个小项目上试一晚上。如果第二天 AI 能自动说起你昨天改了什么,那就一直开着。