Claude Code 生态最火插件 · 深度拆解

claude-mem
从 0 到 7 万 star

2026 年 2 月 3 日凌空出世,单日 1,739 star 登上 GitHub trending 第一。3 个月后 7 万 star。它解决的就一件事:让 Claude Code 不再"失忆"。

作者 Alex Newman (@thedotmack) AGPL-3.0 2026.02 首发 v12.x 系列

核心洞察:claude-mem 不存"对话历史",而存"观察"——Claude 每次读文件、跑 bash、查搜索都被记录成结构化的"观察事件",用 Claude 自己的 Agent SDK 把这些观察压缩成语义摘要,下次开 session 时自动注入相关的那一坨。本质是把 Claude 用来给 Claude 自己做记忆腌制

关键差异点:跟 OpenViking Plugin 比,claude-mem 100% 本地——SQLite + ChromaDB 都在 ~/.claude-mem/,连 embedding 都用本地小模型(all-MiniLM-L6-v2 via ONNX)跑,没有任何数据出网。这是它在企业圈受欢迎的核心理由。

01它是谁 · 怎么火起来的

单兵作品 → 病毒式传播 → 生态级标准。

~72K
github stars
~6.2K
forks
244+
releases
106
contributors
★ 走红时间线

从凌空出世到生态标配,用了不到 3 个月

2026.02.03:项目首发,24 小时收获 1,739 star,登上 GitHub trending 第一。一个简单 README + 一行安装命令。

2026.04:46.1K star。已被 Augment Code、bridgers、agentpedia 等多家技术媒体深度报道。

2026.05 中:~72.4K star,6.2K fork。从只支持 Claude Code 扩展到支持 OpenClaw、Codex、Gemini CLI、Hermes、Copilot、OpenCode。从"插件"变成了"通用 Agent 记忆层"。

为什么这么快?因为它戳中了 "每个 Claude Code 用户都遇到的痛点":每次开 session 都要重新解释项目背景。GitHub Issue #14227 明确呼吁 "Persistent Memory Between Claude Code Sessions"——claude-mem 来得正是时候。

02核心架构 · 怎么搭起来的

5 个生命周期 hook + 1 个 Worker + 双数据库 + 1 个 Web Viewer。

Claude Code Session · 5 个生命周期 hook 拦截事件 SessionStart 注入历史 UserPrompt 捕捉用户输入 PostToolUse 捕捉工具用法 Stop 会话中断 SessionEnd 总结收尾 所有 hook 异步写到 Worker (HTTP),不阻塞 Claude Worker Service · 端口 37777 Bun 运行时 · Express HTTP API · 10 个搜索端点 调 Claude Agent SDK 给观察事件做 AI 压缩 压缩成结构化的 facts / concepts / file refs Web Viewer UI localhost:37777 实时浏览记忆库 本地存储 · ~/.claude-mem/ SQLite + FTS5 结构化数据 全文关键词搜索 sessions / observations ChromaDB 向量数据库 语义相似搜索 本地 ONNX 嵌入 ▸ 所有数据本地存储,零云依赖。Embedding 用 all-MiniLM-L6-v2 (ONNX),不调外部 API

035 个 hook 各干什么

每个 hook 都精确卡在 Claude Code 生命周期的一个关键点。

SessionStart
新会话开始时触发。Worker 查询 SQLite + ChromaDB,找出与当前项目最相关的历史观察,组装成 MEMORY.md 注入到 Claude 的初始上下文。Claude 还没接收到你第一句话之前,就已经"记得"上次的事了。
UserPromptSubmit
你每次回车发消息触发。记录用户提问内容到观察队列,这是了解"用户想做什么"的关键信号
PostToolUse
最重要的 hook——Claude 每次调工具(Read/Write/Edit/Bash/Grep)后触发,一个会话可能触发上百次。这才是数据收集的主战场:捕捉 Claude 读了哪些文件、改了什么、跑了什么命令、看到什么输出。
Stop
Claude 单轮回复完成时触发。打个标记,告诉 Worker "这一轮结束了,可以开始压缩这轮的观察事件了"。
SessionEnd
整个会话结束时触发。Worker 生成整轮会话的综合摘要,写入数据库,为下次召回准备好"叙事级别"的记忆。

关键设计点:所有 hook 都是异步的——把数据扔给 Worker 后立即返回,绝不阻塞 Claude 主循环。这是它能跑 100+ PostToolUse 而不卡顿的核心原因。

04真正的过人之处 · 6 个关键差异

为什么是它火,而不是别的同类项目。

★ 01

一行命令安装

npx claude-mem install。zero config,自动注册 hook、起 Worker、初始化 DB。同类项目的 README 多半要写 5 步配置——claude-mem 是 1 步。

★ 02

100% 本地,零数据出网

所有数据存 ~/.claude-mem/连 embedding 都用本地小模型(all-MiniLM-L6-v2 via ONNX,几十 MB)。AI 压缩用你自己的 Claude 订阅 → 不需要额外 API key → 不会泄漏代码。

★ 03

"观察式记忆"模式

不存原始对话日志(太大太散),存"结构化观察":什么文件被读了、什么 bug 被修了、用了什么 pattern。这是它跟 RAG 派的根本区别——RAG 召回原文,observational memory 召回"事情的本质"。

★ 04

Claude 给 Claude 做压缩

用 Claude 自己的 Agent SDK 来给观察事件做语义压缩。"用 AI 给 AI 自己腌制记忆"——既保证压缩质量(Claude 最懂 Claude),又不需要额外的模型部署。

★ 05

混合检索 = 关键词 + 语义

SQLite FTS5 做精确关键词("找我上次改的 auth.ts"),ChromaDB 做语义召回("找跟认证有关的所有讨论")。两套同时跑,结果合并打分,比单一向量召回准很多。

★ 06

渐进式披露 (Progressive Disclosure)

3 层结构:最近观察 → 索引摘要 → 语义召回。每次只注入 500-2000 token 的上下文,号称比手动管理省 10 倍 token。这是它能"既记得多又不爆 context"的核心技巧。

★ 07

可视化记忆库 (Web Viewer)

启动后访问 localhost:37777,能看到所有 captured observations、按 session 浏览、按时间排序。记忆变得可审计——你能亲眼看 Claude 都记了什么。这点在企业场景特别加分。

★ 08

跨 Agent 通用

原本只支持 Claude Code,现在已扩展到 Gemini CLI、OpenCode、Codex、Copilot、OpenClaw、Hermes。一套记忆库给所有 Agent 用,这是它从"插件"晋级为"生态层"的关键一步。

05对比 OpenViking Plugin · 一张表看清

同样是给 Claude Code 加记忆,两条完全不同的路线。

维度 claude-mem OpenViking Plugin
star 数 ~72K 10(marketplace repo)
安装 npx claude-mem install 一步 装 openviking → 配 ov.conf → 起 server → 装 plugin(4 步)
数据存储 100% 本地 SQLite + ChromaDB 本地或远程 OpenViking server
Embedding 本地 ONNX 小模型(all-MiniLM) 调火山引擎 Embedding API
AI 压缩 用你的 Claude 订阅(Agent SDK) 调火山引擎 VLM API
数据隐私 无任何数据出网 数据流过火山引擎
记忆模式 观察式记忆 (Observational) 会话切片 + 向量召回 (RAG)
多 Agent 支持 Claude Code, Gemini, Codex, Copilot, OpenCode... Claude Code(主要)+ Codex (开发中)
记忆审计 Web UI localhost:37777 主要靠 OpenViking Console
团队共享 不支持(设计上就是单机) 支持(remote 模式 + agentId 隔离)
成熟度 v12.x · 244 releases · 106 contributors 早期 · 无 releases · 个位数贡献者

一句话区别:claude-mem 是"个人开发者的记忆助手",OpenViking Plugin 是"多 Agent 平台的共享记忆层"。claude-mem 优化的是单人长期使用 Claude Code 的体验;OpenViking 优化的是团队/多 Agent 协同的记忆基础设施。

06不可忽视的局限

这么火不等于没问题,几个真实坑要心里有数。

★ 已知问题

  • 稳定性还不完美:bridgers 的评测明确指出"process leaks, macOS crashes, Windows incompatibility"。Worker Service 有时会僵死,需要手动重启。
  • 没有公开 benchmark:作者声称"10x token efficiency",但没有第三方可复现的实验数据。具体效果靠你自己跑出来才知道。
  • RAG 的固有局限:到了大规模(数月数千次 session)后,召回会变迟钝、相关性下降。Endless Mode 这个 beta 功能就是为解决这个问题,但启用后每个工具调用会增加 60-90 秒延迟
  • 消耗你的 Claude 额度:AI 压缩用的是你的 Claude 订阅,压缩本身也是 token 消耗。如果你是 Pro 用户,频繁开 session 可能会更快触达限额。
  • 有"币圈味":作者官方"拥抱"了一个第三方建的 Solana 代币 $CMEM。虽然不影响插件本身的开源属性,但某种程度上让一些企业用户对项目方向产生疑虑。
  • AGPL-3.0 协议:如果你想把它的代码集成到商业闭源产品里发布——不可以。AGPL 要求衍生作品也开源。这个许可证选择不算友好。
⌘ 对你的实际意义

claude-mem 和 OpenViking 该选哪个?

这俩其实不是替代关系,是互补关系

给你个人用 Claude Code 写代码(不论你是在调你的多 Agent 平台还是别的项目):装 claude-mem。一行命令、零配置、纯本地、72K 用户验证过。你日常 coding 立刻享受到跨 session 记忆,没有理由不开

给你那个多 Agent 协作平台做共享记忆层:继续用 OpenViking。因为 claude-mem 设计上就是单机的——它没有 multi-tenant 概念、没法做 agent 间隔离、没有 remote 协作模式。OpenViking 才是为"多 Agent 共享记忆"设计的。

两套并存的玩法:你 Windows 工作机上 npx claude-mem install 让 Claude Code 帮你写多 Agent 平台代码时享受持久记忆;同时你 Linux 服务器上跑 OpenViking 给运行中的 Agent 们提供共享记忆库。个人开发体验用 claude-mem,生产 Agent 用 OpenViking——两条路并行,互不干扰。