跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像工具UI配色美学隐私政策关于联系
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
编程语言AI算法

Claude-Mem:为 Claude Code 实现跨会话长期记忆

介绍开源插件 Claude-Mem,旨在解决 AI 编程助手(如 Claude Code)缺乏跨会话长期记忆的问题。通过事件驱动捕获关键操作,利用本地 SQLite 和 Chroma 向量库进行混合存储,并采用三层渐进式披露机制检索记忆。该方案显著降低 Token 消耗(约 90%-95%),支持隐私合规,适用于企业团队及个人开发者,是 Agent 时代的基础能力雏形。

热情发布于 2026/3/30更新于 2026/5/2229 浏览
Claude-Mem:为 Claude Code 实现跨会话长期记忆

用 Claude Code 写代码的人,终于不用每次开新会话都从头解释项目背景了。

我们就借着 Claude-Mem 这个爆火项目,系统聊聊:为什么 AI 编程助手必须要'长期记忆'?Claude-Mem 具体怎么实现?它在工程上有什么值得借鉴的地方?以及,它的边界和未来会走向哪儿?

一、概述

先说清楚,这篇文章主要写给三类人看:

  • 日常在用 Claude Code / VS Code AI 插件写代码的开发者。
  • 正在做 Agent、工具调用、RAG 等方向的工程师和研究者。
  • 对 AI 编程效率有兴趣、想弄清楚'AI 记忆系统'到底咋做的技术爱好者。

我们围绕一个核心问题展开: 如何用一个开源插件,把'金鱼记忆'的 Claude Code,改造成年纪再大也记得你项目细节的'老同事'?

二、痛点:为什么 AI 编程助手必须要'长期记忆'?

2.1 日常真实场景有多难受?

举一个很多人都经历过的场景:

  • 周一,你和 Claude 反复讨论微服务架构、数据库分片、接口约定。
  • 周二,为了修紧急 Bug,临时切到另一个分支处理。
  • 周三回来接着做架构,Claude 一脸懵:这是什么项目?之前聊过啥?

你被迫重新解释项目背景、模块划分、约定规范。这些本来应该是'共享上下文'的东西,每次新会话都要重来一遍。

GitHub 上也有人在 issue 里直接把这种体验称为'重大工作流程中断',并明确提出要'跨会话持久记忆'能力。

2.2 问题本质:每次会话都是一张白纸

AI 编程助手现在广泛存在几个共性问题:

  • 会话级记忆:只记得当前窗口的一次对话,关掉就没了。
  • 上下文窗口有限:长项目只能塞一部分历史进去,越用越乱。
  • 工具调用受限:为了省 Token,你不敢'什么都扔进去'。

本质上,现在多数 IDE 插件的记忆方式是'短期 + 纯上下文',而不是'长期 + 按需召回'。

这会带来几个直接后果:

  • 项目一旦跨天,重复解释成本非常高。
  • 长期演进的设计决策,难以被系统化保留与回溯。
  • 多人协作场景中,新加入的人无法顺畅接上历史上下文,只能靠人肉补档。

2.3 开发者已经开始'自救'

GitHub 上已经出现不少自建方案:memory-mcp、mcp-memory-keeper、rlm-claude 等。

这些项目说明两件事:

  • 痛点是真痛,不是个别人的'矫情'。
  • 现有官方能力不够用,社区已经开始自己想办法'给 AI 装记忆'。

Claude-Mem 恰好踩在这个需求点上:专门针对 Claude Code 做跨会话持久记忆,而且是免费开源,装完就能用。

三、Claude-Mem 是什么?

用一句话概括 Claude-Mem:

这是一个给 Claude Code 用的本地持久化记忆插件,通过事件驱动 + 混合存储 + 三层渐进式检索,把你和 AI 一起做过的事,压成结构化'长期记忆',在后续会话中按需注入,同时大幅减少 Token 消耗。

几个关键信息:

  • 它是开源项目,由 @thedotmack 开发,专为 Claude Code 设计。
  • 截至近期,GitHub Star 超过 2.2 万,持续霸榜 Trending。
  • 官方宣传的数据是:常规场景节省约 90% Token,'无尽模式'最高可达 95%,工具调用上限提升约 20 倍。

对于习惯用 GitHub 看热度的人来说,一个'记忆插件'能涨到这个量级,已经说明它不只是'玩具小工具',而是踩到了真实需求。

四、整体架构:它怎么把'碎片操作'变成'长期记忆'?

Claude-Mem 的整体思路,可以拆成三步:

  1. 监听会话生命周期,自动捕获有价值的观察记录。
  2. 利用本地数据库和向量库做混合存储,为后续检索打好基础。
  3. 在新会话里,通过三层渐进式披露,按需注入相关记忆,避免 Token 爆炸。

4.1 事件驱动:在不打扰你的情况下,捕获所有关键动作

Claude-Mem 内部挂了 5 个生命周期钩子:

钩子触发时机作用
SessionStart会话启动初始化检索和上下文准备
UserPromptSubmit用户提交问题时记录用户意图和上下文
PostToolUse工具调用完成之后捕获文件读写、代码改动等
Stop任务暂停保存中间状态
SessionEnd会话结束触发总结、压缩与入库

这些钩子有几个特点:

  • 对用户来说几乎是'隐形'的,不需要改变现有使用习惯。
  • 重点记录的是'工具使用带来的变化',比如改了哪些文件、执行了什么命令,而不是一股脑儿把所有聊天记录都存下来。
  • 把这些东西统称为'观察记录'(Observations),类似一个时间序列的项目事件日志。

这一步解决的是:怎么把人机协作过程变成结构化、可追溯的历史,而不是散落一地的对话记录。

4.2 本地混合存储:结构化 + 全文 + 语义

Claude-Mem 的存储设计也比较'务实':

  • 使用 SQLite + FTS5:
    • 存结构化数据(会话 ID、文件路径、时间戳、操作类型等)。
    • 做全文检索(像搜索日志一样搜关键词)。
  • 使用 Chroma 向量库:
    • 把摘要、重要片段向量化,用来做语义检索。
    • 适合处理'模糊问题',比如'上周讨论的那个支付风控策略'。

所有数据统一存放在用户本地目录 ~/.claude-mem/ 下,不走云端服务,这点对隐私敏感行业(金融、医疗)比较重要。

从工程角度看,这套组合有几个优势:

  • 部署成本低:不需要额外起一套服务,SQLite + 本地向量库就够用。
  • 查询灵活:结构化筛选(按时间、项目)+ 全文 + 语义,可以随场景组合。
  • 用户可见可控:目录是本地的,想备份、加密、甚至手动清理都可以。

4.3 记忆压缩:别把'原始流水账'端给模型看

只存是第一步,更关键的是:会话结束时,要把大量零散的观察记录压成模型看得懂、又不费 Token 的摘要。

Claude-Mem 在 SessionEnd 阶段会调用 Claude Agent SDK,把会话中累计的 Observations 汇总成结构化摘要,典型包含四块:

  • 调研内容:查了哪些方案、看过哪些资料。
  • 学习成果:最后采纳了什么认知结论。
  • 已完成工作:改了哪些代码、做了哪些重构、修了哪些 Bug。
  • 后续步骤:下一步建议做什么,是否有 TODO 留下。

这一步的关键是:不再把完整的原始历史直接塞进上下文,而是只注入高度浓缩后的'记忆索引 + 摘要'。

它为后面的'渐进式披露'打好了基础。

五、三层渐进式披露:Token 成本怎么砍到 95%?

Claude-Mem 的核心创新,总结为'三层渐进式披露'(progressive disclosure)。

简单理解:不是一开始就把所有历史端给模型,而是分三层,按需解锁。

5.1 三层结构长什么样?

层级主要内容Token 开销(大致)使用场景
第一层:Search摘要级索引与概要约 50–100 / 结果快速定位相关历史
第二层:Timeline会话 / 事件时间轴中等开销理解前后因果
第三层:Get_Observations完整观察记录详情约 500–1000 / 结果深挖实现细节、重现过程

大致流程可以想象成这样:

  1. 用户在新会话发起问题,比如'接着上周的支付风控策略,帮我补充风控规则'。
  2. 插件先在本地做 Search,找出最相关的一些历史摘要(这一步开销很小)。
  3. 如果当前任务需要更多上下文,再拉对应时间段的 timeline,看看前后做了什么。
  4. 若还不够,最后才会调用 Get_Observations,把当时的具体操作记录(文件改动、命令输出等)拉进上下文。

5.2 为什么这种设计能大幅省 Token?

如果没有这三层,常规做法有几种:

  • 暴力法:直接把过去几天的对话和改动全扔给模型看,Token 爆炸。
  • 手动挑:开发者自己翻历史,复制粘贴上下文 —— 太累,而且容易漏。

三层渐进式披露,本质上是把'召回'和'注入'这两步拆开,优先只注入压缩后的高价值摘要。

  • 常规使用场景下,大约可以节省 90% 左右的 Token。
  • 在'无尽模式'(项目持续很久、记忆特别多)下,最高可以节省 95%。
  • 因为 Token 压力下降,工具调用上限也可以放宽到原来的 20 倍量级。

对开发者来说,体感上就变成:同样的预算,AI 可以陪你做更长时间的活,而且不会越用越'傻'。

六、实战效果:在不同场景里能带来什么变化?

几个实测和反馈场景,我们可以按使用者身份来拆开看。

6.1 企业团队:复杂项目里的'团队记忆库'

在大型代码库、多团队协作的企业场景,Claude-Mem 能做的事包括:

  • 持续记录模块设计的演变过程,知道为什么当时选了方案 A 而不是方案 B。
  • 跟踪缺陷修复:这个 Bug 曾经怎么排查、怎样验证过。
  • 给新同事一个'可查询'的历史上下文,而不是光靠问人。

有团队反馈过这样的数字:

  • 新人上手时间缩短约 40%。
  • 代码评审效率提升约 25%。

对于动辄数月、多人接力的企业项目来说,这种提升是实实在在的: 记忆系统不是多一个'功能点',而是让 AI 真正融入现有协作流程。

6.2 个人开发者:长线 side project 的'自动笔记助手'

对一个长期在搞 side project 的个人开发者,Claude-Mem 带来的变化会更直接一些:

  • 你可以用自然语言直接问之前的决策,比如:'上周我重新设计过登录流程,当时用了什么鉴权策略?'
  • 插件可以帮你回溯出当时讨论过的选项、最终采用的方案,以及改动的代码范围。
  • 打开本地 Web 界面(默认是 http://localhost:37777),能实时看到记忆流和会话摘要,类似'项目日记自动生成版'。

这对很多'间歇性推进'的个人项目尤其友好 —— 哪怕你中间停了两周,回来之后不会全靠自己翻 Git commit 和脑补。

6.3 隐私敏感行业:合规边界怎么守?

在金融、医疗这类对隐私特别敏感的行业,大家最担心的是:

  • '这些数据会不会上传到云端?'
  • '有没有可能误把敏感信息存进记忆里?'

Claude-Mem 的做法主要有两点:

  • 数据全部本地存储,而且目录可见、可控。
  • 支持标签机制,可以给某些内容打上'不要记录'类标签,阻止敏感信息被纳入记忆。

这意味着你可以根据项目和合规要求,自定义'能记什么、不能记什么',而不是一刀切地'要么全记,要么全不记'。

七、安装与使用体验

/plugin marketplace add thedotmack/claude-mem
/plugin install claude-mem

执行完插件安装后,重启 Claude Code,大部分功能就能直接用上。

对普通开发者来说,有几点体验上的好处:

  • 无需改动现有工作流,不用写额外脚本。
  • 无需部署额外服务,不用自己搭一套后端。
  • 多数配置有合理默认值,用起来更像'开关一个功能',而不是做系统集成。

当然,如果你想进一步定制(比如不同项目用不同记忆策略),就需要了解一些配置项和阈值设定,这对高级用户来说也是可控的工程成本。

八、和其他方案对比:它到底好在哪儿?

几个常见的'替代方案',我们可以稍微整理成一张表:

方案类型优点缺点适用场景
传统 RAG 系统功能强大,可接多种数据源部署复杂,依赖额外基础设施企业内部知识库 / 大型系统
简单文件注入实现容易,维护成本低缺乏智能检索,容易信息过载小项目、一次性任务
手动复制粘贴不需要额外工具非常耗时,无法扩展偶发需求,临时补充上下文
Claude-Mem(现状)本地混合存储 + 渐进式披露依赖 Claude Code 生态,需调阈值Claude 用户,日常持续开发项目

从工程折中来看,Claude-Mem 走的是一条'中等复杂度'的路线:

  • 比简单注入和手动复制强得多:有检索、有结构化、有自动摘要。
  • 又比全自研 RAG 系统轻量很多:不用搭服务、不用管集群和运维。

这也是为什么很多人把它称为:在 IDE 内部实用层面,目前最接地气的一种长期记忆方案。

九、局限与风险:它不是'万能记忆药丸'

Claude-Mem 的几个局限,展开讲一下,方便评估是否适合自己的场景。

9.1 摘要质量取决于底层模型

记忆压缩是靠 Claude Agent SDK 来做的。 这意味着,在极端复杂场景下(比如几十个相关模块、跨多团队改动),摘要可能会出现信息遗漏或侧重点不太符合预期的问题。

所以在一些关键决策类项目中,仍然有必要保留人类写的设计文档和决策记录,不能完全依赖自动摘要当'唯一真相来源'。

9.2 对版本和生态有一定依赖

因为它是为 Claude Code 量身定制的插件,所以:

  • 需要较新的 Claude Code 版本支持对应插件机制。
  • IDE 和插件生态更新时,可能会遇到兼容性问题,需要跟进升级。

这对走企业大规模部署的团队来说,需要在内部有一套插件版本管理和回滚机制,不然遇到版本冲突会比较头疼。

9.3 需要一点'调参意识'

虽然默认配置可以直接用,但要在复杂项目里用得顺手,多少需要调一下参数,比如:

  • 检索阈值:相关度多少以上的记忆才注入?
  • 注入上限:一次允许带入多少条历史?
  • 不同项目是否需要单独命名空间或标签?

这些都关系到:既要让 AI 记得你,又不要记得太多,把上下文弄成'信息垃圾场'。

十、从工程视角看:为什么说这是

目录

  1. 一、概述
  2. 二、痛点:为什么 AI 编程助手必须要“长期记忆”?
  3. 2.1 日常真实场景有多难受?
  4. 2.2 问题本质:每次会话都是一张白纸
  5. 2.3 开发者已经开始“自救”
  6. 三、Claude-Mem 是什么?
  7. 四、整体架构:它怎么把“碎片操作”变成“长期记忆”?
  8. 4.1 事件驱动:在不打扰你的情况下,捕获所有关键动作
  9. 4.2 本地混合存储:结构化 + 全文 + 语义
  10. 4.3 记忆压缩:别把“原始流水账”端给模型看
  11. 五、三层渐进式披露:Token 成本怎么砍到 95%?
  12. 5.1 三层结构长什么样?
  13. 5.2 为什么这种设计能大幅省 Token?
  14. 六、实战效果:在不同场景里能带来什么变化?
  15. 6.1 企业团队:复杂项目里的“团队记忆库”
  16. 6.2 个人开发者:长线 side project 的“自动笔记助手”
  17. 6.3 隐私敏感行业:合规边界怎么守?
  18. 七、安装与使用体验
  19. 八、和其他方案对比:它到底好在哪儿?
  20. 九、局限与风险:它不是“万能记忆药丸”
  21. 9.1 摘要质量取决于底层模型
  22. 9.2 对版本和生态有一定依赖
  23. 9.3 需要一点“调参意识”
  24. 十、从工程视角看:为什么说这是
  • 💰 8折买阿里云服务器限时8折了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 🤖 一键搭建Deepseek满血版了解详情
  • 一键打造专属AI 智能体了解详情
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • AIGC 赋能元宇宙:虚拟人物创作与智能交互技术
  • Z-Image-Turbo 与 Stable Diffusion 实测对比
  • MySQL JDBC 连接 URL 参数详解与最佳实践
  • OpenClaw 跨平台安装教程:Windows、macOS、Linux
  • Rust 异步编程高级模式:并发控制、超时机制与实战架构
  • Python Flask 旅游景点酒店推荐系统设计与实现
  • Java Stream 的基本概念与三段式结构
  • 前端响应式布局核心方案与实战技巧
  • 解决新机型 Copilot 键替代右 Ctrl 键问题
  • 前端设计与布局常用术语中英速查表
  • Java 中 == 与 equals() 的区别
  • Rust WebAssembly 与 Three.js 结合的高性能 3D 粒子系统
  • PyMAVLink 无人机通信 Python 库使用指南
  • Mixtral 8X7B Instruct v0.1 llamafile 部署与应用实战指南
  • Elasticsearch 与 Kibana 实战:安装部署及 C++ 客户端封装
  • Python 音乐推荐系统:Django+Echarts+协同过滤算法
  • C++ 20 协程入门指南
  • Python 核心语法详解:变量、流程控制与函数基础
  • Java 默认花括号对齐方式修改教程
  • 异步编程实战:构建高性能Python网络应用

相关免费在线工具

  • 加密/解密文本

    使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online

  • RSA密钥对生成器

    生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online

  • Mermaid 预览与可视化编辑

    基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online

  • 随机西班牙地址生成器

    随机生成西班牙地址(支持马德里、加泰罗尼亚、安达卢西亚、瓦伦西亚筛选),支持数量快捷选择、显示全部与下载。 在线工具,随机西班牙地址生成器在线工具,online

  • Gemini 图片去水印

    基于开源反向 Alpha 混合算法去除 Gemini/Nano Banana 图片水印,支持批量处理与下载。 在线工具,Gemini 图片去水印在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online