Claude-Mem:给 Claude Code 加上跨会话长期记忆

整理 Claude-Mem 的定位、工作方式和使用场景:它如何通过会话压缩、向量检索和 mem-search,让 Claude Code 在跨会话开发中保留项目上下文。

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 使用的查询入口。需要找回旧上下文时,可以通过它搜索相关记忆。

整体流程可以理解为:

  1. Claude Code 会话产生内容
  2. hooks 捕获会话数据
  3. worker 异步压缩和整理
  4. 记忆写入 SQLite 与 Chroma
  5. 后续通过 mem-search 检索

适合什么场景

Claude-Mem 适合长期项目,而不是一次性小任务。

比如:

  • 一个仓库持续开发很多天
  • 代码结构复杂,背景说明很多
  • 需要记住项目约定、命名习惯和架构选择
  • 经常让 Claude Code 修 Bug、写功能、整理文档
  • 希望 AI 能记住“之前为什么这么改”

如果你只是临时让 Claude Code 改一行代码,长期记忆意义不大。
但如果你把 Claude Code 当作长期协作者,它就会变得有用。

安装和启动

README 中给出的安装方式很直接:

1
2
npm install -g claude-mem
claude-mem install

启动时可以使用:

1
claude-mem start

查看状态:

1
claude-mem status

如果需要停止:

1
claude-mem stop

这些命令背后的目标,是把记忆系统作为一个长期运行的本地服务接到 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 更像一个了解项目历史的助手。

记录并分享
使用 Hugo 构建
主题 StackJimmy 设计