Claude-Mem:让 AI 记住你的项目上下文
每次打开新会话都要重新解释项目结构?claude-mem 解决了这个问题。

我为什么需要这个工具
事情是这样的:
上周我在做一个功能重构,会话持续了大概一周。中间因为各种原因关掉重来了好几次。每次重新打开,我都得把项目背景、技术选型、已经做过的事情重新讲一遍。
有时候讲到第三遍,我自己都烦了。
claude-mem 就是干这个的——它会在会话结束后自动保存上下文,下次打开新会话时,AI 能直接”接上”之前的工作,不用你从头解释。
功能:它到底能做什么
跨会话持久化记忆
核心功能很简单:你的对话历史、工具调用、项目理解,全部存到本地 SQLite 数据库。
下次打开新会话,系统自动加载最近 10 次会话的摘要。AI 不再是失忆状态——它知道你之前在做什么、项目结构、试过哪些方案、哪里踩过坑。
自动捕获工具使用
claude-mem 在后台盯着你的一举一动:
关键是她不是简单存日志。比如你读了一个配置文件,她会总结”这个项目用 Vite 打包,别名在 vite.config.ts“,而不是把整个文件内容存下来。
自动生成项目文档
v9.0.0 加的功能。项目根目录会多一个 CLAUDE.md,记录活动时间线:
## 最近活动
-2026-03-04: 修复 worker 服务启动问题
-2026-03-03: 添加用户认证模块
-2026-03-01: 项目初始化给人看的,也是给 AI 看的。
搜索历史
/mem-search 上次认证模块是怎么实现的
/mem-search 项目里有哪些数据库表FTS5 全文搜索,响应很快。
隐私控制
有些东西你不想让它存——API 密钥、个人信息——用 <private> 标签包起来就行:
<private>
我的数据库密码是 xxx
</private>这部分会被跳过,不入库。
多语言
支持 28 种语言。我试过中文,摘要质量还行,没有翻译腔。
价值:它解决了什么问题
上下文丢失
没有 claude-mem 的时候:
第一次会话 > 我:创建一个用户登录功能 > AI:好的,用 JWT 实现…
第二次会话(隔天) > 我:继续昨天的登录功能 > AI:好的,请问您用的是什么认证方案?
有了 claude-mem:
第二次会话 > 我:继续昨天的登录功能 > AI:好的,昨天用 JWT 实现了登录接口,用户表结构是…发现一个潜在问题…
省掉的不只是几分钟解释时间。AI 能基于之前的上下文继续深入,而不是每次都从零开始。
项目理解碎片化
复杂项目,每次会话只能理解一小部分。claude-mem 把多次会话的理解累积起来。
有点像带新同事。第一天他什么都不懂,得手把手教。但如果他每次都记笔记,第二天就不用再问同样的问题。
重复解释成本
这个成本不只是时间,还有注意力。每次重新解释项目背景,你得在脑子里重新构建整个项目的 mental model。claude-mem 把这个 mental model 存下来了。
实用性:实际使用中的体验
安装
/plugin marketplace add thedotmack/claude-mem
/plugin install claude-mem重启 Claude Code 就能用。依赖项自动安装(Bun 运行时、SQLite),不用手动配。
资源占用
稳定性
我遇到了一个坑:worker 服务跑着跑着就停了,但 PID 文件还在。新会话启动时检测不到 worker,上下文就加载不了。
排查之后发现是 Windows 下进程管理的问题。解决方案是更新 hooks.json,每次会话启动时先检查 worker 健康状态,挂了就先重启。
修复方案我放在了 ~/.claude-mem/README.md。
实际效果
拿现在这个博客系统做的测试:
没有 claude-mem 的时候: - 每次打开新会话,得重新讲一遍”这是基于 Notion 的博客系统” - AI 不知道我之前改过哪些文件 - dark mode 适配这种问题得重复问
有了 claude-mem 之后:
- 新会话打开,AI 知道这个项目叫 ddongblog
- 知道我最近改了什么(giscus 集成、Like 功能、UI 重构)
- 能基于之前的决策继续优化
最大的感受:AI 开始”记得”了。不再是每次对话都是陌生人,有点像合作过几次的同事。
架构概览
┌─────────────────────────────────────────┐
│ Claude Code 会话 │
│ SessionStart → 加载上下文 │
│ UserPromptSubmit → 保存用户输入 │
│ PostToolUse → 记录工具调用 │
│ Stop → 生成摘要 │
└─────────────────────────────────────────┘
↓
┌─────────────────────────────────────────┐
│ Worker Service (端口 37777) │
│ 接收钩子事件 → 调用 Claude API → 写库 │
└─────────────────────────────────────────┘
↓
┌─────────────────────────────────────────┐
│ SQLite 数据库 (~/.claude-mem/) │
│ sessions / observations / summaries │
│ FTS5 全文索引 │
└─────────────────────────────────────────┘三个核心组件:钩子系统、Worker 服务、SQLite 数据库。没有复杂依赖。
局限性
说几个我遇到的问题:
claude-sonnet-4-5,用更小的模型可能会漏信息配置
默认配置够用。想调整的话,改 ~/.claude-mem/settings.json:
{
"CLAUDE_MEM_CONTEXT_SESSION_COUNT": "10", // 加载最近 N 次会话
"CLAUDE_MEM_CONTEXT_FULL_COUNT": "5", // 显示 N 条完整记录
"CLAUDE_MEM_LOG_LEVEL": "INFO" // 日志级别
}总结
claude-mem 不是那种”用了会惊艳”的工具,但它是那种”用了就回不去”的工具。
它解决的问题很具体:AI 记不住之前发生过什么。功能听起来简单,但体验提升是实实在在的。
如果你用 Claude Code 做稍微复杂一点的项目,值得装上。它不会改变你的工作流程,但会让每次打开新会话时的体验更顺畅。
项目信息
最后更新:2026-03-04