Claude-Mem是什么
Claude-Mem 是开发者 Alex Newman 打造的一款 Claude Code 智能记忆插件。通过 SessionStart、PostToolUse 等五个生命周期钩子自动捕获会话中的工具调用、代码决策与调试过程,利用 Claude Agent SDK 将原始输出压缩为结构化观察记录(约 500 令牌),存储在本地 SQLite + Chroma 向量数据库中。当用户开启新会话时,插件自动注入相关的历史上下文,使 Claude 能够”记住”之前的项目背景、架构决策和 Bug 修复过程,无需用户反复重新说明。插件支持 Web 可视化界面、隐私标签、多语言模式,兼容 Gemini CLI 和 OpenClaw 网关。
Claude-Mem的主要功能
-
自动上下文捕获:通过 5 个生命周期钩子(SessionStart、UserPromptSubmit、PostToolUse、Stop、SessionEnd)自动记录会话全程,无需手动干预。
-
AI 智能压缩:将工具输出压缩为结构化观察记录(含 type、title、facts、narrative、concepts 字段),单条约 500 令牌,节省上下文空间。
-
混合搜索能力:集成 SQLite FTS5 全文搜索 + Chroma 向量数据库语义搜索,支持 10 种搜索端点(全文、概念标签、文件引用、类型过滤等)。
-
三层渐进检索:Layer 1 搜索返回 50-100 令牌的索引;Layer 2 时间线提供 100-200 令牌的上下文;Layer 3 按需获取完整记录(500-1000 令牌),信号率从 6% 提升至 80% 以上。
-
Web 可视化界面:内置 HTTP API 服务(默认端口 37777),提供浏览器端的实时记忆流查看与管理界面。
-
Endless Mode(实验性):突破 Claude Code 约 50 次工具调用后上下文超限的限制,通过实时转录转换实现理论上无限长的会话,实测完成 600+ 文件的完整重构。
-
自动 CLAUDE.md 生成:在项目文件夹中自动生成并更新包含活动时间线的
CLAUDE.md文件,保留手动编写内容。 -
隐私控制:使用
<private>标签即可将敏感内容排除在存储之外,所有数据默认本地保存。 -
多语言与模式系统:支持 28 种语言,提供 Code、Email Investigation、Chill 等工作流模式切换。
如何使用Claude-Mem
- 在 Claude Code 中执行:
/plugin marketplace add thedotmack/claude-mem
/plugin install claude-mem
-
重启 Claude Code:使生命周期钩子生效。
-
验证安装(三选一):
-
终端运行
curl http://localhost:37777/api/health,应返回{"status":"ok"} -
检查
~/.claude/hooks.json包含 claude-mem 的 PostToolUse 和 SessionStart 条目 -
浏览器打开
http://localhost:37777查看 Web 查看器
-
-
开始使用:第一次会话开始积累观察记录,第二次会话起自动注入相关上下文。
Claude-Mem的关键信息和使用要求
-
产品定位:专为 Claude Code 设计的开源智能记忆插件,通过生命周期钩子自动捕获并持久化编码会话上下文,解决 AI 助手跨会话”失忆”问题
-
核心架构:基于 5 个生命周期钩子(SessionStart、UserPromptSubmit、PostToolUse、Stop、SessionEnd)实现全自动记录,无需手动触发保存
-
智能压缩机制:利用 Claude Agent SDK 将原始工具输出压缩为结构化观察记录(含 type、title、facts、narrative、concepts 字段),单条约 500 令牌,极大节省上下文空间
-
三层渐进检索:Layer 1
search返回 50-100 令牌索引 → Layer 2timeline提供 100-200 令牌时间线上下文 → Layer 3get_observations按需获取完整 500-1000 令牌记录,信号率从 6% 提升至 80% 以上 -
混合存储方案:本地 SQLite 数据库(FTS5 全文搜索)+ Chroma 向量数据库(语义搜索),默认存储路径为
~/.claude-mem/claude-mem.db -
本地嵌入模型:采用 all-MiniLM-L6-v2 via ONNX 运行,所有向量计算均在本地完成,无需调用外部 Embedding API
-
Web 可视化界面:内置 HTTP 服务(默认端口 37777),浏览器打开
http://localhost:37777即可查看实时记忆流与管理界面 -
安装方式:必须在 Claude Code 内通过插件市场安装,执行
/plugin marketplace add thedotmack/claude-mem后/plugin install claude-mem,严禁使用npm install -g claude-mem(该命令仅安装 SDK 库,不会注册生命周期钩子,导致功能完全失效) -
系统前提:Node.js 18+ 为硬性要求;Bun、uv、SQLite 等依赖在首次运行时会自动检测并安装
-
重启生效:安装完成后必须重启 Claude Code,使 hooks 配置写入
~/.claude/hooks.json并生效
Claude-Mem的核心优势
-
真正的跨会话连续性:解决 Claude Code 每次新会话”从零开始”的问题,昨天的调试记录、上周的架构决策均可直接引用。
-
Token 成本极低:相比传统 MCP 方式可节省约 2,250 个令牌,三层检索架构避免一次性加载 35,000 令牌的低效做法。
-
零配置自动化:安装后全自动运行,无需手动记录日志或触发保存,后台工作者平均 8ms 完成非阻塞压缩。
-
本地优先,隐私安全:数据默认保存在
~/.claude-mem/claude-mem.db,无需额外 API 密钥,敏感内容可通过标签排除。 -
跨生态兼容:不仅支持 Claude Code,还兼容 Gemini CLI、Cursor、Windsurf、OpenClaw 网关,跨 Linux/macOS/Windows 平台。
-
多机器同步:通过
claude-mem-sync支持开发者通过 SSH 在多台机器间同步观察记录和会话摘要。
Claude-Mem的同类竞品对比
| 维度 | Claude-Mem | Claude 内置 Auto Memory | memsearch | supermemory | mem0 (自托管) |
|---|---|---|---|---|---|
| 架构 | 插件(生命周期钩子) | 原生功能 | 插件(钩子+Skill) | 插件(钩子+云端) | MCP 服务器 |
| 存储 | 本地 SQLite + FTS5 | 本地 Markdown | 本地 Markdown + Milvus | 云端 | 本地 Qdrant + Ollama |
| 搜索 | 语义 + 关键词混合 | 无搜索 | 稠密向量 + BM25 | 语义 + 时序 | 语义向量 |
| 捕获时机 | 每次工具调用后 | 会话结束时自动保存 | 会话结束 | 会话结束 | 会话结束 |
| 定价 | 免费开源 | 免费 | 免费 | 付费 | 免费 |
| 跨机器 | SSH 同步 | 通过 Git 同步 | 不支持 | 支持 | 不支持 |
| 团队记忆 | 间接共享 | 通过共享 CLAUDE.md | 不支持 | 支持 | 不支持 |
| Token 效率 | 极高(三层渐进检索) | 低(加载前 200 行) | 中 | 中 | 中 |
Claude-Mem的应用场景
-
跨会话接力开发:昨天与 Claude 一起修复的竞态条件,今天直接继续推进,无需重新分析。
-
超大规模重构:用 Endless Mode 完成涉及 600+ 文件的框架迁移或代码重构,不受上下文窗口限制。
-
多代码库管理:在十个不同代码库间切换,各自拥有独立的记忆空间,避免信息串扰。
-
调试知识沉淀:自动捕获调试模式与解决方案,形成可检索的”故障排查大脑”。
-
新成员上下文同步:通过多机器同步或共享 CLAUDE.md,帮助新加入的开发者快速获取项目历史决策。
