claude-mem:用MCP给Claude补上跨会话记忆

发布时间:2026/10/28 3:07:48

claude-mem:用MCP给Claude补上跨会话记忆 1. claude-mem 到底补上了哪块短板如果你已经用 Claude Code 连续写过三周以上的项目代码大概率碰到过这个场景上周刚跟它确认过的目录结构和接口命名规范换一个会话之后就完全不记得了。它不是不会写而是没法“记得”。每个会话开始都是一张白纸上下文窗口里写了什么它才知道什么关掉窗口等于清空脑子。这也正是 claude-mem 这类项目出现的原因——它想给 Claude 补一个跨会话的长期记忆。claude-mem 不是一个聊天机器人也不是一套 prompt 模板而是一个 MCP 记忆服务。它把每次会话里值得留下的信息抽取成结构化的记忆条目存进 SQLite再用语义检索的方式在下次对话时把相关内容召回。一句话总结Claude 负责“想”claude-mem 负责“记”。要说清楚它补的是哪块短板可以先看一个对比。维度原生 Claude Code 会话接入 claude-mem 之后跨会话记忆基本没有SQLite 持久化重启不丢查找历史约定翻日志、猜上下文语义搜索直接召回上下文占用靠每次手动补充背景只注入与当前问题相关的记忆条目隐私边界对话内容留在本地终端/官方记忆落本地库可随时查看清理所以它解决的并不是“代码生成质量”的问题而是“协作连续性”的问题。谁适合用它如果你只是偶尔拿 Claude 问几个一次性问题没必要上这套东西但如果你每天都在同一个项目仓库里和 Claude 结对开发被“反复解释同样的约定”这件事折磨过那 claude-mem 就是值得认真试一下的工具。它本质上是在给 Claude 装一个外挂硬盘让每次会话都能接着上一次的认知继续干活。1.1 大模型会话最大的问题其实是“出厂即失忆”很多人误以为 Claude Code 会在本地保存历史记录所以它应该记得昨天聊了什么。实际上终端里那些历史记录只是把对话文本留下来了下一次会话开始时模型仍然不知道这些文本存在。它只能在当前上下文窗口里看到你重新贴进去的内容。把历史记录当成记忆就像把日记本放在桌上却从来不翻开——信息在那里但模型读不到。更麻烦的是项目级知识很难每次重复表达完整。比如“后端接口字段统一驼峰”“数据库迁移脚本放在 migrations 目录”“错误码需要先注册到 constants 里”这类约定你第一次告诉 Claude 的时候它执行得很好但第二天新开一个会话它就像第一天上班的新人又开始用下划线命名。你会陷入一个死循环解释规范、验证规范、再次解释规范。1.2 claude-mem 的思路用 MCP 给 Claude 外接一个记忆库claude-mem 没有去改模型本身的参数而是走 MCPModel Context Protocol这条标准通道。你可以把 MCP 理解成 Claude 的“USB 接口”Claude 可以通过它调用外部工具比如查数据库、读文件、执行命令。claude-mem 做的事情是把“记忆写入”和“记忆召回”封装成几个 MCP 工具。Claude 在对话过程中如果需要回忆旧信息就会调用这些工具去查而不是靠猜。这个设计的好处是记忆库和模型解耦。模型负责判断“什么时候需要回忆”“用户这句话是不是在给记忆库补充内容”记忆库负责存储和检索。即使未来换一个更大的模型只要它还支持 MCP这套记忆体系依然能用。2. 从安装到接入 MCP一套最小可运行的配置实际接入的时候最容易被卡住的不是安装而是配置细节。我下面给的是当前主流方式如果你的版本命令有差异以你安装版本的 README 和claude-mem --help输出为准。2.1 装 claude-mem 本身我习惯用uv来装这种 Python 写的命令行工具隔离干净不污染系统 Pythonuv tool install claude-mem如果你机器上没装 uv直接用 pip 也可以pip install claude-mem装完先确认一下可执行文件在不在 PATH 里并看一眼它支持哪些子命令claude-mem --help这一步很重要。不同版本暴露的命令可能不太一样有的叫serve有的叫--mcp你需要知道自己手里是哪个后面配置 MCP 时才能填对参数。2.2 把它注册成 Claude 的 MCP 服务如果你用的是 Claude Code在项目目录或用户目录下执行类似下面的命令把 claude-mem 注册成一个 MCP serverclaude mcp add claude-mem --env ANTHROPIC_API_KEY $ANTHROPIC_API_KEY -- claude-mem serve注意这里我把ANTHROPIC_API_KEY显式传进去了。为什么因为 claude-mem 在抽取记忆时需要调用模型接口来理解对话内容这个调用发生在它自己的进程里不会自动继承 Claude Code 的登录态。就算你平时用的是 Claude 订阅账号这一步也照样要配一个 API key否则记忆抽取会静默失败。如果你用的是 Claude Desktop则是编辑 MCP 配置文件把 claude-mem 加进mcpServers{ mcpServers: { claude-mem: { command: claude-mem, args: [serve] } } }如果你的版本把启动参数叫--mcp就把args换成[--mcp]。判断标准很简单启动后它应该走标准输入输出和 Claude 通信而不是起一个 HTTP 服务。2.3 验证连通性配置完不是直接开始用先做一次连通性验证。在 Claude Code 里执行claude mcp list正常的话应该能看到claude-mem这一项并且状态是 connected。然后你在对话里问一句你现在能调用哪些 MCP 工具如果 Claude 能列出 claude-mem 相关的记忆工具就说明整条链路通了。这时候你可以先手动存一条记忆测试一下claude-mem add 项目约定Python 代码统一使用 4 空格缩进禁止 Tab再搜一下claude-mem search 缩进能搜到刚才那条就说明写入和召回都正常。3. 记忆的完整生命链提取、入库、召回、衰减接入只是第一步真正值得花时间理解的是记忆从生成到被使用的完整链路。这部分搞清楚了你才知道什么该自动提取、什么该手动写、什么该定期清理。3.1 提取不是抓关键词而是让模型“翻译”成记忆claude-mem 的自动提取不是像 grep 那样从对话里抠出几个名词而是让一个小模型去阅读一段对话判断哪些信息值得留到以后。比如你说了这样一段话这个接口的字段名别用下划线统一改驼峰前端那边已经定了。如果只是抓关键词存下来的可能是“下划线”“驼峰”“前端”这些碎片以后根本没法用。claude-mem 的思路是把这句话“翻译”成一条可复用的记忆用户偏好接口字段命名统一使用 camelCase不使用下划线。这个“翻译”动作非常关键。它意味着记忆库里的内容不是对话原文而是经过提炼的、面向未来使用的断言。自动提取通常发生在会话进行中或者会话结束后的一小段窗口期。它是异步的不会阻塞你正常和 Claude 对话。3.2 入库与去重SQLite 向量索引提取出的记忆条目会被写入 SQLite。每条记忆大概包含这些字段唯一 ID、记忆正文、创建时间、来源会话、所属项目、向量表示。为什么用 SQLite因为这是个人级工具最好的选择。单文件存储备份就是拷一个文件不需要额外启动 Redis 或者向量数据库。向量索引在几万条记忆的规模下也完全够用没必要为了“看起来很专业”去引入一套分布式存储。去重逻辑也在这层做。如果同一条记忆反复出现比如每次会话都提到“接口返回结构统一为{ code, message, data }”库里面不应该堆三条一模一样的记录。claude-mem 会先做相似度比对如果接近完全重复就更新原条目的时间戳而不是新增。这个设计避免了记忆库被同一个事实刷屏。3.3 召回语义相似度决定要不要把记忆塞进上下文召回阶段是 claude-mem 最有价值的部分。当新会话开始或者对话进入某个话题时Claude 会带着当前的 query 去查记忆库。它不会做字符串匹配而是把 query 也转成向量和库里的记忆做余弦相似度计算然后取最相关的 top K 返回。举个例子。你在新会话里说帮我加一个订单查询接口。这句话和“项目约定接口字段命名统一驼峰”在字面上没有任何重叠但在语义上非常相关因为都是关于接口设计的。向量检索能跨词面找到这层关系这是普通全文搜索做不到的。召回之后这些记忆会被注入到当前上下文里作为 Claude 的辅助背景。它不需要你重新把规范敲一遍模型看到的就是“这个项目已经有这些约定请遵守”。3.4 衰减与清理记忆不是只增不减记忆库最大的风险是会膨胀。你用了三个月之后库里可能有几千条记忆其中一半已经过期。如果每轮对话都把几千条记忆全塞进上下文上下文窗口会被撑爆而且大量无关记忆反而会干扰模型判断。所以 claude-mem 一定会有清理机制。常见做法是限制召回条数、设置相似度阈值、支持按项目维度删除、支持手动删除单条。我的习惯是每周做一次“记忆盘点”把过期的、被推翻的、或者已经明显错误的条目清掉。记忆库不是越大越好而是越准越好。4. 三组真实对话看它怎么改变协作方式只讲原理太抽象我实际用下来记忆库主要在三种场景里产生了质变。4.1 项目规范的自动续接第一次会话里我跟 Claude 说清楚了这个项目的约束所有 API 路由都写在routes/目录下每个资源一个文件不要都堆在app.py里。Claude 当场照做这段对话同时被 claude-mem 提取成记忆。第二天我新开一个会话直接说给用户模块加一个修改头像的路由。Claude 没有问“路由文件在哪里”而是直接打开routes/user.py开始改。这就是记忆最舒服的用法你不需要每次复述它自己知道项目已经形成的规矩。4.2 个人偏好的跨会话继承除了项目规范个人偏好也很容易被记住。比如我调试前端时不喜欢 console.log 打满屏更倾向于在关键节点用debugger断点。这个偏好我只说过一次之后所有会话里Claude 给的调试代码都自动带着debugger语句。这类偏好在原生会话里几乎不可能被记住因为你每次都要重新描述。有了记忆库之后模型相当于知道“这个用户喜欢什么样的交付物”它会主动调整输出风格而不只是执行字面指令。4.3 模糊诉求也能命中旧任务最有意思的一次是隔了快两个星期我跟 Claude 说上次聊的那个性能问题我决定按你的方案重构现在开始吧。如果换成原生会话这句话基本无效因为“上次聊的那个”在上下文里没有对应物。但 claude-mem 会把这个模糊诉求转成向量去库里面找找到一条和“性能”“重构”相关的旧记忆。Claude 把记忆里的重构方案列出来跟我确认然后直接开工。这种“模糊指代”能命中是因为语义检索天然支持近义表达。你不用记住当初是怎么描述的只要大概印象还在它就能帮你把上下文捞回来。5. 我踩过的坑和对配置的最终调优工具好用但配置不当也会翻车。下面这几个坑我是真金白银踩出来的写在这里帮你提前避掉。5.1 抽取模型选大了账单和延迟一起涨claude-mem 的自动提取需要调用模型接口这里有一个默认模型配置。我一开始偷懒用了能力很强的大模型来做抽取结果一场上午的密集开发下来我的 API 账单肉眼可见地涨了。更难受的是延迟每次抽取都要等一两秒如果对话节奏快体验会明显变卡。后来我把抽取模型换成了更便宜的轻量模型效果几乎没有下降。为什么因为“从对话里提炼可复用的断言”这件事本身对推理能力要求不高它需要的是稳定和快而不是创造力。建议你在配置里显式指定抽取模型不要用默认值扛着。如果找不到配置项至少关注一下环境变量里有没有CLAUDE_MEM_EXTRACTION_MODEL这类设置。5.2 不要忽略记忆污染坏条目的杀伤力比没有记忆更大记忆库最大的风险不是记不住而是记住了错误的东西。有一次我在读一个开源仓库时里面某个 README 写着“本模块命名方式统一使用单字母变量”。Claude 把它当成一种“合理约定”存进了项目记忆里。结果后面很长一段时间它生成的代码全是a、b、c这种变量名我排查了半天才发现是记忆库在“带偏”。从那以后我养成两个习惯。第一涉及代码风格的记忆我会更倾向手动添加而不是完全依赖自动提取。第二定期翻看记忆列表发现可疑条目直接删。英文里管这个问题叫 memory poisoning中文可以理解成“记忆投毒”。对于会自动从对话里提取信息的系统这个问题尤其需要警惕。你在和 Claude 对话时提到的任何描述性语句都有可能变成一条长期记忆所以要时不时检查它到底记住了什么。5.3 多项目隔离一份全局记忆库会让项目互相串味claude-mem 默认可能会把所有记忆放在同一个库里这在只有一个项目时没问题但如果你同时维护两三个项目就会出事。A 项目的“变量命名用极小缩写”约定会被 B 项目检索到然后 B 项目里就出现了一批风格诡异的代码。解决方案是隔离。我现在的做法是给每个项目单独指定一个数据库路径相当于每个项目一个独立的记忆分区。可以是环境变量也可以是在对应项目的 MCP 配置里指定不同的存储路径。这样每个项目的记忆库只服务对应的项目互不干扰。注意私有代码和敏感信息不要随便让自动抽取进程读到。claude-mem 会把对话片段送去模型接口做提取这意味着这些内容会离开你的本地环境。如果你在处理机密代码建议先关闭自动提取只用手动方式写入脱敏后的记忆条目。另外SQLite 数据库文件默认放在用户目录下里面是明文存储。如果机器是多人共用的建议把记忆目录权限收紧chmod 700 ~/.claude-mem6. 把记忆库当成可维护的资料库用了一段时间之后我更愿意把 claude-mem 看成“一个需要维护的资料库”而不是“一个自动运行的黑盒”。自动提取能省事但长期质量一定依赖人工盘点。6.1 每周花十分钟盘点记忆我每周五会花十分钟左右把本周新增的记忆过一遍。重点看三件事有没有已经失效的旧约定有没有存错的偏好有没有某条记忆被反复触发但每次都没实际用处该删就删该改就改。记忆库维护得越勤Claude 在对话里的表现就越稳定。6.2 给记忆加标签和手动补充自动提取适合记录“显而易见”的约定但有些东西最好手动补。比如项目的长期规划、接下来几周的目标、某些技术选型背后的原因。这类记忆更偏“语义背景”光靠自动提取很难提炼好。我现在会在每个关键节点手动写几条“锚点记忆”让 Claude 在后续所有相关会话里都能看到全局视角。手动补充的另一个好处是你能保证质量。你亲手写下来的记忆一定是你真正想让 Claude 长期遵从的内容而不是它从某个角落自动捞出来的噪音。6.3 我现在实际用的工作流如果你准备上手我推荐的最小配置是装好 claude-mem配好 API key先让它跑一个项目观察一个星期然后花半个小时翻看它积累了哪些记忆。接下来再按实际情况决定要不要换抽取模型、要不要多项目隔离、要不要关掉自动提取改全手动。我自己的最终配置是抽取模型用轻量型号SQLite 按项目分库每周固定盘点代码风格类约束尽量手动写。这样跑下来Claude 在跨会话协作上的表现提升非常明显那种“昨天刚说过今天又忘了”的挫败感基本消失了。记忆这件事模型本身做不了但我们可以用工具帮它补上。
延伸阅读

更多相关文章

2026/10/28 3:07:48

Claude会话记忆机制深度解析与工程实践指南

1. “claude-mem”不是官方功能,而是社区对Claude记忆机制的具象化命名最近在多个技术社区、AI工具讨论组和开发者 Slack 频道里,“claude-mem”这个词高频出现,常伴随“怎么清空”“如何复现”“为什么上次对话还记得我提过的Excel结构”这类…

2026/10/28 3:07:48

Linux Camera驱动点亮四层调试法:供电/I2C/MIPI/V4L2逐级验证

1. 项目概述:从“黑屏”到“出图”,Camera驱动调试到底在调什么?刚接手一个新平台的Camera模块时,我盯着那块始终漆黑的屏幕,心里其实挺没底的——不是不会写代码,而是根本不知道该从哪一行开始看起。很多人…

2026/10/28 3:07:48

企业级AI智能体平台在审计与合规中的实践应用

1. 企业级AI智能体平台的市场定位与核心价值在数字化转型浪潮中,企业级AI智能体平台正在成为提升运营效率的新基建。这类平台通过模块化设计整合了自然语言处理、机器学习、知识图谱等核心技术,能够根据企业特定场景需求快速部署智能解决方案。与传统Saa…

2026/10/28 4:12:56

ACP协议与多AI智能体如何提升企业开发效率

1. ACP协议与多AI编程智能体的企业级价值在软件开发领域,我们正经历着从传统人工编码向智能协同开发的范式转移。ACP(Agent Communication Protocol)协议作为AI智能体间的标准化通信框架,结合多AI编程智能体的集群协作能力&#x…

2026/10/28 4:12:56

ACP协议与多AI编程智能体如何提升企业研发效率

1. 项目概述:ACP协议与多AI编程智能体的技术融合在软件开发领域,我们正见证着一次生产力革命的到来。最近我在参与企业级研发平台升级时,深入实践了基于ACP协议的多AI编程智能体系统,这套方案让我们的代码产出效率提升了近3倍。AC…

2026/10/28 4:12:56

智能体架构如何助力破解暗物质与量子引力难题

1. 项目概述:智能体架构如何破解科学难题在当代科学研究的前沿领域,存在着两个长期困扰学术界的核心难题:暗物质与暗能量的本质探究,以及量子力学与广义相对论的理论统一。这两个问题被学界形象地称为"21世纪科学天空的两朵乌…

2026/10/28 4:12:56

DETR端到端目标检测:从NMS、Anchor到集合预测与匈牙利匹配

简介:这份 PPT 围绕 End-to-End Object Detection with Transformers 论文展开,面向准备组会汇报、课程展示或复试讲解的机器学习与计算机视觉学习者,梳理 DETR 如何把目标检测转化为直接集预测问题,从而摆脱 Anchor 与 NMS 等手工…

2026/10/28 4:12:56

Ext JS 7.8 入门实战:环境搭建到 Grid、图表与表单落地

简介:《Sencha Ext JS 7.8入门指南》是一份面向具备JavaScript基础、希望构建企业级复杂前端应用开发者的PDF教程,聚焦Ext JS 7.8的安装、项目创建与组件实践。内容从框架特点与工具包讲起,覆盖试用与商业许可证、Sencha Command安装、npm环境…

2026/10/28 4:07:56

JSP二手车管理系统开发与优化实战指南

1. 项目概述与核心价值这个JSP二手车管理系统是一个典型的B/S架构企业级应用,我从2015年开始接触这类系统时,市场上大多数二手车商还在用Excel表格管理车辆信息。如今这套代码完整度极高的方案(包含程序源码数据库调试部署文档)对…

2026/10/27 14:24:03

全国计算机二级C语言真题PDF高效刷题指南

简介:这份PDF是全国计算机二级C语言考试的试题与答案解析,专为备考二级C语言的考生准备。内容涵盖C语言特点与设计理念、程序基本组成单位、main函数执行流程、函数嵌套调用规则、标识符命名规范、整型实型字符型数据类型、八进制十六进制数合法形式、运…

2026/10/27 9:34:54

requests+BeautifulSoup:爬虫抓取h1标题的入门实战指南

简介:一份以实战为导向的Python爬虫入门资源,面向具备基本编程基础、希望快速掌握网络数据抓取的初学者,可解决从零编写简单爬虫的常见困惑。实例以requests库发送HTTP请求、BeautifulSoup解析HTML文档,完整演示从网页中提取 标题…

2026/10/28 3:32:29

递推最小二乘参数辨识MATLAB编程:二阶系统与渐消记忆实现

简介:这是一篇面向控制系统、信号处理与机器学习等领域学习者的最小二乘参数辨识程序说明文档。资源共包含一个docx格式文档,压缩包大小七十八KB,内容围绕递推最小二乘算法和渐消记忆最小二乘算法展开:先构造一个极点位于单位圆内…

2026/10/28 0:02:13

Python股票自动交易系统源码解析:从行情获取到风控的完整链路

简介:这份资源是面向高校计算机、金融相关专业毕业设计场景的完整项目源码包,主题为基于Python的股票自动交易系统,适合需要完成毕设选题、课程设计或自学金融量化交易开发的学生与开发者参考。压缩包共收录687个文件,整体约14.93…

2026/10/28 0:02:13

视酷酷信IM源码部署指南:Java 17+MySQL 8.0.33实战配置

简介:这是一套2024年亲测可部署的视酷酷信IM即时通讯系统源码,面向具备Java、OC、C#及Vue开发能力的技术人员,解决私有化即时通讯平台快速搭建与二次定制需求,尤其适用于需集成商城、保障数据主权的中小型企业或独立开发者。资源共…

2026/10/28 0:02:13

Python爬取百度迁徙数据:接口解析、批量采集与避坑指南

简介:这份资源是一个用Python爬取百度迁徙数据的脚本压缩包,面向具备Python基础、希望入门网络爬虫与数据解析的开发者,解决按日期获取全国热门城市人口迁徙数据的问题。包内共1个文件,为单个py脚本,压缩包约1KB&#…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑