claude-mem (持久记忆)
Claude Code 跨会话持久记忆系统:通过 6 个 hook 自动捕获工具调用,用旁路观察者 agent 压缩成结构化 observation 存 SQLite+Chroma,新会话启动时以渐进披露方式注入相关记忆,一行安装、全自动运行。
仓库:thedotmack/claude-mem
热度证据:90,587 star,记忆类技能最火仓库,被无数教程推荐;github-study README 近两周热门榜:47k+星,Claude Code会话记忆插件,自动捕获压缩并回注上下文;本地已克隆
五维评分
热度5/5
质量5/5
创新4/5
易用4/5
文档5/5
优秀点拆解
- 观察者 agent 旁路模式:用 Claude Agent SDK 另起独立子会话专职压缩记忆,主会话零负担,压缩提示词可独立打磨
- 渐进披露检索:索引先行且带 token 成本列,3 层工作流(search→timeline→get_observations)约 10x token 节省,检索决策权交给 agent
- hook 编排工程成熟:6 个生命周期事件带 matcher/async/timeout,worker 不可用时 exit 0 绝不阻塞用户会话,插件路径语义版本自发现
- 结构化压缩协议:type 9 选 1 + concepts 7 选 2-5 枚举白名单 + XML 骨架 + GOOD/BAD 正反例,产出稳定可检索
- 极端输入防御:16k 字符字段截断(头60%+尾30%+elided 标记)、BMP-safe 防代理对断裂、SHA256 内容哈希去重,全部带 issue 编号
可复用的设计模式
- 观察者/记录者旁路:主会话干活、独立子 agent 专职观察记录,XML 协议 + 输出白名单约束产物格式
- 渐进披露检索:索引先行(紧凑、带 ID、带 token 成本)→ 按需取上下文 → 只取精选全文
- hook 全生命周期编排 + 永远不阻塞:异步 hook、统一超时、降级路径 exit 0
- 模式化提示词配置:观察类型/概念枚举/提示词模板外置为 JSON 文件,环境变量热切换语言与场景
适用场景
长期项目跨会话记忆:决策、踩坑、改动的持续沉淀compact/断线重连后的上下文恢复,新会话自动带入相关历史"上次怎么解决的"式经验检索(mem-search skill + MCP 3 层工具)多会话并行工作时共享项目级知识,无需重复调研
边界与注意:依赖栈重(Node20+Bun+uv+ChromaDB),轻量环境装不动;每个工具调用都会被旁路 LLM 处理,token 消耗明显增加;隐私靠本地存储+<private>标签自觉;ChromaDB 增加故障面,Windows 需额外配置。
完整拆解分析文档
本页为摘要版,完整精读分析(核心机制、逐条优秀点拆解、写作过程)见本地 Markdown 文档:
analysis/community-claude-mem.md