Claude-Mem 持久记忆
预计阅读时间: 11 分钟Claude-Mem 是一个开源的持久记忆压缩系统,为 Claude Code 提供跨会话的上下文记忆。它自动捕获会话中的工具使用观察,生成语义摘要,并在未来会话中注入相关上下文——让 Claude 在项目上保持知识的连续性。
为什么需要持久记忆
Claude Code 的记忆机制有两个局限:
- CLAUDE.md 是静态的:需要手动维护,不会自动学习项目经验
- 内置 Memory 是会话级的:虽然跨会话持久化,但需要用户主动触发"记住",且以文本片段形式存储,缺乏语义检索能力
这意味着每次新会话,Claude 都会遗忘上一次会话中发现的问题、做出的决策和积累的经验。对于长期项目,这种"失忆"会导致:
- 重复探索:每次都要重新理解代码结构和架构决策
- 遗忘 Bug 上下文:上次调试发现的根因、workaround、失败的尝试
- 丢失设计决策:为什么选择方案 A 而不是方案 B,背后的权衡是什么
- 无法积累项目知识:每次会话都是从零开始
Claude-Mem 通过自动化的记忆管道解决这些问题——无需手动干预,它在后台静默工作。
架构
Claude-Mem 由六个核心组件构成:
- 5 个生命周期 Hooks — SessionStart、UserPromptSubmit、PostToolUse、Stop、SessionEnd(6 个 Hook 脚本)
- Smart Install — 缓存依赖检查器(pre-hook 脚本)
- Worker Service — HTTP API(端口 37777),含 Web Viewer UI 和 10 个搜索端点,由 Bun 管理
- SQLite 数据库 — 存储会话、观察记录、摘要
- mem-search Skill — 自然语言查询,支持渐进式披露
- ChromaDB 向量数据库 — 混合语义 + 关键字搜索,实现智能上下文检索
工作流程
安装
系统要求
- Node.js:18.0.0 或更高
- Claude Code:最新版本,支持插件
- Bun:JavaScript 运行时和进程管理器(缺失时自动安装)
- uv:Python 包管理器,用于向量搜索(缺失时自动安装)
- SQLite 3:持久化存储(内置)
方式一:npx 安装(推荐)
方式二:通过插件市场
在 Claude Code 中执行:
方式三:Gemini CLI
方式四:OpenCode
安装后重启 Claude Code,之前会话的上下文将自动出现在新会话中。
npm install -g claude-mem 安装的仅是 SDK/库,不会注册插件 Hooks 或启动 Worker 服务。始终使用 npx claude-mem install 或 /plugin 命令安装。
Windows 注意事项
如果遇到以下错误:
确保 Node.js 和 npm 已安装并添加到 PATH。从 https://nodejs.org 下载最新安装程序,安装后重启终端。
MCP 搜索工具
Claude-Mem 提供 4 个 MCP 工具,遵循高效的三层工作流模式:
三层工作流
核心原则:先用 search 浏览索引,用 timeline 确认上下文,最后只对相关 ID 调用 get_observations 获取详情——实现约 10 倍 Token 节省。
使用示例
Claude-Mem 会通过 MCP 工具自动完成三层检索:
搜索过滤
search 工具支持多种过滤条件:
Web Viewer UI
Claude-Mem 内置 Web 界面,提供实时记忆流查看:
功能包括:
- 实时观察流:查看 Claude-Mem 捕获的每一条观察记录
- 搜索界面:浏览和搜索所有存储的记忆
- 引用链接:通过 ID 查看特定观察记录(
http://localhost:37777/api/observation/{id}) - 设置管理:切换稳定版和 Beta 版,配置模式和语言
- 统计概览:查看存储的会话数、观察记录数、摘要数
配置
基础配置
配置文件位于 ~/.claude-mem/settings.json,首次运行时自动创建:
完整配置项包括 AI 模型、Worker 端口、数据目录、日志级别和上下文注入设置,详见 配置指南。
模式与语言
Claude-Mem 支持多语言模式,控制生成的观察记录语言:
语言模式遵循 code--[lang] 格式,其中 [lang] 是 ISO 639-1 语言代码。中文模式 code--zh 已内置,无需额外安装。
修改后重启 Claude Code 生效。
隐私控制
使用 <private> 标签包裹敏感内容,Claude-Mem 会将其排除在存储之外:
Beta 功能
Claude-Mem 提供 Beta 频道的实验性功能,包括:
- Endless Mode(仿生记忆架构):专为长时间会话设计,自动管理上下文窗口
- 通过 Web Viewer(
http://localhost:37777→ Settings)在稳定版和 Beta 版之间切换
详见 Beta 功能文档。
使用场景
场景一:跨会话调试
场景二:架构决策追溯
场景三:项目知识积累
与其他工具的关系
互补而非替代: Claude-Mem 与 CLAUDE.md、内置 Memory、Serena 内存各司其职。CLAUDE.md 记录"规则",内置 Memory 记录"偏好",Serena 记录"代码结构",Claude-Mem 记录"经验"——四者可以同时使用。
卸载
相关资源
- Claude-Mem GitHub — 项目仓库
- Claude-Mem 文档 — 完整使用指南
- Claude-Mem 官网 — 项目主页
- Claude-Mem Discord — 社区支持
- @Claude_Memory — 官方 X 账号
下一步
- Claude-Mem 技能概览 — MCP 工具速查和安装命令
- 上下文管理 — 管理对话上下文和记忆
- CLAUDE.md 与项目约定 — 静态项目配置
- MCP 服务器 — 了解 MCP 服务器配置
- Hooks — 了解生命周期钩子机制
- 技巧与最佳实践 — 更多高效使用技巧

