Claude-Mem 是一个给 Claude Code 使用的持久化记忆系统。
它想解决的问题很具体:AI 编程助手每次开新会话时,往往会忘记之前讨论过的架构决策、踩过的坑、项目偏好和实现背景。
如果一个项目做得久,每次都重新解释上下文,非常浪费时间。
Claude-Mem 的思路是:把 Claude Code 的会话内容压缩成记忆,存进本地数据库和向量库,之后再通过搜索工具找回来。
它解决什么问题
Claude Code 很适合处理代码任务,但会话上下文毕竟有限。
常见痛点包括:
- 新会话不知道旧会话做过什么
- 项目里的设计决策需要反复解释
- 曾经排查过的问题容易重复踩
- 长期任务缺少连续记忆
- 多次对话之间很难沉淀项目知识
Claude-Mem 就是围绕这些问题设计的。
它不是简单保存聊天记录,而是把会话压缩成更容易检索的记忆片段。这样后续需要时,可以通过语义搜索把相关上下文找回来。
工作方式
从 README 的设计看,Claude-Mem 主要由几部分组成。
第一部分是 hooks。
它会接入 Claude Code 的会话流程,在合适的时机捕获会话数据。
第二部分是后台 worker。
worker 负责把原始会话内容处理成更短、更可检索的记忆。
第三部分是本地存储。
项目使用 SQLite 保存结构化元数据,用 Chroma 保存向量索引。这样既能保留会话记录的基本信息,也能支持语义检索。
第四部分是 mem-search。
这是给 Claude Code 使用的查询入口。需要找回旧上下文时,可以通过它搜索相关记忆。
整体流程可以理解为:
- Claude Code 会话产生内容
- hooks 捕获会话数据
- worker 异步压缩和整理
- 记忆写入 SQLite 与 Chroma
- 后续通过
mem-search检索
适合什么场景
Claude-Mem 适合长期项目,而不是一次性小任务。
比如:
- 一个仓库持续开发很多天
- 代码结构复杂,背景说明很多
- 需要记住项目约定、命名习惯和架构选择
- 经常让 Claude Code 修 Bug、写功能、整理文档
- 希望 AI 能记住“之前为什么这么改”
如果你只是临时让 Claude Code 改一行代码,长期记忆意义不大。
但如果你把 Claude Code 当作长期协作者,它就会变得有用。
安装和启动
README 中给出的安装方式很直接:
|
|
启动时可以使用:
|
|
查看状态:
|
|
如果需要停止:
|
|
这些命令背后的目标,是把记忆系统作为一个长期运行的本地服务接到 Claude Code 工作流里。
mem-search 怎么用
mem-search 是找回记忆的关键入口。
它的用途不是替代普通搜索,而是让 Claude Code 能按语义查询过去会话中的内容。
比如你可以让 Claude Code 查询:
- 某个模块之前为什么这样设计
- 某个 Bug 当时怎么排查
- 项目里约定的命名规则
- 之前讨论过的技术取舍
- 某次重构的背景原因
这种查询和简单关键词搜索不同。
如果记忆压缩和向量索引做得好,即使你不记得原话,也能找回相近语义的内容。
和普通项目文档有什么区别
项目文档适合记录稳定结论。
比如:
- 架构说明
- 部署流程
- API 约定
- 数据库结构
- 开发规范
Claude-Mem 更适合记录会话过程中产生的上下文。
比如:
- 为什么某个方案被放弃
- 某个临时问题怎么绕过
- 某个实现背后的讨论过程
- 还没来得及写进文档的项目偏好
- 多次对话里积累出的任务背景
两者不是互相替代。
比较好的方式是:稳定知识写进项目文档,过程性上下文交给记忆系统辅助检索。
使用时要注意什么
第一,长期记忆不是越多越好。
如果所有对话都无差别保存,后续检索可能会变得嘈杂。真正有价值的是项目决策、实现背景、问题排查和长期偏好。
第二,记忆不能替代代码和文档。
AI 搜到的旧上下文只能作为参考。最终判断仍然要看当前代码、测试结果和最新需求。
第三,隐私和本地数据要注意。
既然它会保存会话内容,就要清楚哪些项目适合接入,哪些敏感信息不应该进入对话。
第四,记忆系统需要维护。
随着项目推进,旧记忆可能过时。过时的上下文如果被误用,反而会误导后续任务。
为什么这类工具值得关注
AI 编程工具正在从“单次问答”走向“长期协作”。
单次问答里,模型只要回答当前问题就够了。
长期协作里,它需要知道项目历史、之前的决策、团队偏好和已经踩过的坑。
Claude-Mem 这类工具的意义就在这里:它把“记住上下文”从临时聊天能力,变成一个可以安装、运行、检索的本地系统。
对真实工程项目来说,这比单纯让模型上下文窗口变长更实用。
因为很多信息不是一次性塞进上下文就好,而是需要在合适的时候被找回来。
适合谁尝试
如果你符合下面几种情况,可以考虑试试:
- 高频使用 Claude Code
- 经常跨天处理同一个项目
- 项目上下文比较复杂
- 经常需要向 AI 重复解释背景
- 想把会话里的经验沉淀下来
如果你只是偶尔使用 Claude Code,或者项目很小,暂时不一定需要这类系统。
参考
最后一句
Claude-Mem 的重点不是“保存聊天记录”,而是让 Claude Code 能在后续任务里找回有用上下文。
当 AI 编程从一次性任务变成长期项目协作,记忆系统会越来越重要。
它不能替代文档和测试,但可以减少重复解释,让 AI 更像一个了解项目历史的助手。