每次重启 Claude Code 都需要重新介绍项目背景,跨会话的上下文丢失导致重复劳动,确实极大地影响开发效率。值得庆幸的是,一个名为 claude-mem 的开源项目精准地解决了这一痛点。它为 Claude Code 设计了一套强大的持久化记忆系统,能够自动记录你的开发活动,生成语义化摘要,并在后续会话中智能提供历史上下文,从而让 Claude 在对话结束后仍能保持对项目的连续性理解。

核心机制与工作原理深度解析
claude-mem 的工作流程清晰高效。系统通过预设的生命周期钩子,全方位捕获你的开发活动,并在后台进行异步处理与存储。
当你开启一个新会话时,系统会自动将最近的观察记录作为初始上下文注入。每一次与 Claude 的交互、每一个工具的执行(例如文件读写操作),都会被精准捕获为“观察点”。独立的 Worker 服务会借助 Claude Agent SDK,从这些原始记录中提取出核心的“学习要点”。在会话结束时,系统会生成总结性摘要,为下一次高效对话奠定基础。
整个架构由以下几个关键组件协同构成,如同一套精密的流水线:
| 核心组件 | 功能描述 |
|---|---|
| 5个生命周期钩子 | 全面覆盖会话开始、用户提交提示词、工具使用后、停止、会话结束等关键节点 |
| Worker 服务 | 运行在端口 37777 上的 HTTP API 服务,提供 Web 查看器界面和搜索端点 |
| SQLite 数据库 | 用于存储会话、观察记录和摘要,并支持 FTS5 全文搜索功能 |
| Chroma 向量数据库 | 实现混合(语义+关键词)智能搜索,支持精准的上下文检索 |
快速上手指南:五分钟内完成部署
想知道如何开始吗?安装过程非常简单。只需在 Claude Code 终端中开启一个新会话,并依次执行以下两条命令:
> /plugin marketplace add thedotmack/claude-mem> /plugin install claude-mem
完成安装并重启 Claude Code 后,之前会话的上下文就会自动出现在新会话中。整个过程无需额外配置,系统将在后台透明地为你工作。
安装成功后,你可以立即访问本地 Web 查看器界面。只需在浏览器中打开 https://localhost:37777,即可实时查看记忆流、搜索历史记录,或根据需求调整系统设置。
智能搜索功能:用自然语言追溯项目历史
claude-mem 最强大的功能之一是它的 mem-search 技能。当你在对话中询问过去的工作内容时,Claude 会自动调用此技能,查找相关的历史上下文。
这种设计带来了显著的效率提升。与传统 MCP 方法相比,每个会话启动时大约能节省 2,250 个令牌。你可以直接使用自然语言提问,系统会准确理解你的意图并返回精确的搜索结果。
系统的搜索功能支持多种查询维度:
| 搜索类型 | 查询示例 |
|---|---|
| 按概念或标签搜索 | “我们之前关于用户身份验证的架构决策是什么?” |
| 按文件引用搜索 | “worker-service.ts 文件有哪些历史修改记录?” |
| 按观察类型筛选 | “请显示所有被标记为 bugfix 的观察记录” |
| 时间线追溯查询 | “上周三在添加查看器 UI 组件时发生了什么?” |
在实际使用中,你只需像平常一样提问即可,例如:“上周我们是如何解决那个数据库性能瓶颈的?”或“这个用户模块之前有过类似的重构历史吗?”。系统会自动理解并检索出相关信息。
渐进式披露策略:模拟人类思维的上下文管理
claude-mem 采用了分层记忆检索策略,巧妙地模拟了人类记忆的工作方式。这种设计在保持上下文完整性的同时,最大限度地优化了令牌消耗。
第一层是指标层,在会话开始时显示存在哪些观察记录及其预估的令牌成本。第二层是细节层,通过 MCP 搜索按需获取完整的叙述内容。第三层是“完美回忆”层,允许直接访问源代码和原始工具输出记录。
系统还为每个观察记录提供了直观的类型指示器,帮助你快速识别其重要性:
