Claude-Mem:让 AI 记住你的项目上下文
评测 Claude Code 插件 claude-mem,它能让 AI 在会话之间持久化上下文。包含两次实战排查问题和快速安装指南。

Claude-Mem:让 AI 记住你的项目上下文
每次打开新会话,都要把之前的工作重新解释一遍——这种”失忆”的痛,谁用谁知道。
作为一个深度使用 Claude Code 的开发者,我每天都会遇到这样的场景:
- 打开新会话,AI 完全不记得昨天实现了什么功能
- 想继续昨天的工作,却发现要重新解释一遍项目结构
直到我遇到了 claude-mem。
这个插件能让 AI 在每次新会话时自动”回忆”起之前的工作上下文。今天这篇文章,我会带你了解 claude-mem 的核心功能,并分享两次真实的问题排查经历。
核心功能
会话持久化记忆
把你的对话历史、工具使用记录、项目洞察,全部存到本地 SQLite 数据库。
下次打开会话,系统自动加载最近 10 条会话摘要到 AI 上下文。
自动记录工具使用
claude-mem 监听 5 个钩子:
- SessionStart
- UserPromptSubmit
- PostToolUse(关键)
- Summary
- SessionEnd
关键是 PostToolUse 钩子。每次你调用工具(写文件、执行命令、读取代码),它都会自动记录并总结成”洞察”存到数据库。
搜索历史
用自然语言提问即可:
“上次认证模块是怎么实现的” “项目里有哪些数据库表”
使用 FTS5 全文搜索,响应很快。
隐私保护
用 <private> 标签包裹敏感内容,这部分会被过滤,不会存储。
架构设计
claude-mem 采用分层架构,数据从上到下流动:
Claude Code 会话
↓
钩子层
↓
Worker Service
(端口 37777)
↓
SQLite 数据库各层职责:
- 会话层:Claude Code 会话,用户交互入口
- 钩子层:SessionStart / UserPromptSubmit / PostToolUse / Stop
- 服务层:Worker Service(端口 37777)
- 存储层:SQLite 数据库(结构化存储)
关键组件:
hooks.json:定义 5 个生命周期钩子worker-service.cjs:Express 服务,监听 37777 端口claude-mem.db:SQLite 数据库,存储会话和洞察
实战案例 1:上下文突然”失效”了
问题现象
新开一个会话,AI 对之前的工作一无所知。
排查步骤
先检查端口是否监听:
netstat -ano | findstr 37777无输出,说明服务未运行。
再检查 hooks 配置:
ls -la ~/.claude/hooks.json文件不存在。
根本原因
~/.claude/hooks.json 文件不存在,钩子没有被加载。
解决方案
复制 hooks 配置:
cp ~/.claude-mem/hooks.json.patch ~/.claude/hooks.json手动启动 worker(长命令拆行):
bun \
~/.claude/plugins/cache/thedotmack/claude-mem/*/plugin/scripts/worker-service.cjs \
start实战案例 2:mem-search skill 消失之谜
问题现象
我发现一个奇怪的现象:
- 问”还记得刚刚做啥了吗” —— 能正常回答
- 输入
/mem-search 还记得刚刚做啥了吗—— 没反应
排查
检查 skill 是否存在:
ls ~/.claude/skills/mem-search/SKILL.md 存在。
检查 worker 服务:
netstat -ano | findstr 37777端口监听中。
skill 已安装,worker 也正常,为什么 /mem-search 就是不生效?
深入研究发现
我翻遍了 claude-mem 官方文档,发现一个关键信息:
Search Skill - auto-invoked when users ask about history
关键词是 auto-invoked(自动触发)。
原来,mem-search 根本不是设计给用户手动调用的!
为什么官方要这么设计?
降低使用门槛
用户不需要记住任何命令,直接问问题就行:
“上次那个功能怎么实现的?” “我们讨论过哪些数据库表?”
Skill 系统设计哲学
Claude Code 的 Skill 系统是”AI 主动调用”模式:
- Skill 描述告诉 AI 何时应该使用它
- AI 根据用户问题自动判断是否需要调用
- 用户无感知,体验更流畅
上下文注入才是主力
真正让 AI”记住”上下文的,是 SessionStart 钩子的上下文注入机制:
- SessionStart 触发
- 加载最近 10 条会话
- 注入到 AI prompt
mem-search skill 只是一个补充工具,用于实时搜索数据库中的历史洞察。
正确理解
“mem-search skill 消失之谜”的真相是:
它本来就不是给手动调用的。
/mem-search 是为了让 AI 能够自动调用它,而不是让用户用 /mem-search 命令手动触发。
这解释了为什么:
- 自然语言提问有效(触发 AI 自动判断)
/mem-search命令无效(这不是它的使用方式)
快速安装
安装插件:
/plugin marketplace add thedotmack/claude-mem
/plugin install claude-mem验证 hooks 配置:
cat ~/.claude/hooks.json不存在则复制:
cp ~/.claude-mem/hooks.json.patch ~/.claude/hooks.json验证 worker 状态:
curl http://localhost:37777/api/health限制和问题
上下文丢失
worker 服务挂了就不会注入上下文。需要检查:
- 端口 37777 是否监听
~/.claude/hooks.json是否存在
存储膨胀
测试期间,我的 claude-mem.db 在 3 天内增长到 1.6MB(WAL 文件 4.1MB)。
实际效果
- 成功率:约 85%(偶尔 worker 会挂)
- 上下文准确性:高
- 性能影响:每次工具调用增加约 200ms
总结
优点:
- 真正解决了会话上下文丢失的问题
- 自动记录,无需手动维护
- 搜索功能好用
- 隐私保护到位
缺点:
- Worker 服务偶尔会挂
- 文档不够详细
- 部分文件需要手动复制
- Skill 和 Slash Command 的区分不够清晰
推荐指数: 4/5
如果你是重度 AI 编程用户,claude-mem 绝对是值得安装的插件。
参考链接
最后更新: 2026-03-05