claude-mem 七小时连发三版,全在解决同一件事:别挡路
一个 9.6 万 star 的记忆插件,周末都在修记忆插件最容易犯的毛病:把 agent 拖慢。claude-mem 是个 Apache-2.0 的开源工具,把 coding agent 在一次会话里做过的事记下来、压缩、再注入到后面的会话里。周日晚到周一早(UTC)连发三个版本之后,它又回到 GitHub Trending,单日 534 star。
v13.30.0 改的是 hook 的工作方式。以前 hook 会在会话中途等后台 worker,现在每个 hook 把事件写成磁盘上的一个 spool 文件就立刻返回,worker 稍后再去捡。负责写记忆的 observer 也更省钱了:用户每发一条 prompt 不再单独触发一次模型调用,observer 的 prompt 开头换成了固定指令,方便服务商的 prompt cache 命中。
v13.30.1 是个小修复,但教训很典型。以前恢复一段 Claude Code 对话时,插件会注入一份新渲染的记忆时间线。这会改掉对话的 prompt 前缀,prompt cache 就失效了,一个本意是帮忙的功能在悄悄让每次恢复会话变贵。现在恢复时什么都不注入。
v13.31.0 对付的是启动速度。在一个 1.2 GB 的数据库上,SessionStart hook 平均要 3 秒左右,最差 44 秒,原因是为了留最新的 50 条,要先读出大约 21700 行、63 MB 的数据。加了新索引之后,同样的结果大约 4 毫秒拿到,启动阶段也不再等任何网络请求。
三版放在一起,基本就是一份「记忆层欠宿主什么」的规格:不阻塞 agent 循环,不动 cache 前缀,启动成本不随历史增长。两天前的那一版还加了个更有野心的东西:让 agent 把待办清单存在 claude-mem 里,因为 Claude Code 没有给 Claude 5 系列模型提供原生的 to-do 工具。目前支持 Claude Code、Codex、Gemini、OpenClaw、Hermes、Copilot 和 OpenCode。
链接:github.com/thedotmack/claude-mem
← 返回所有文章
v13.30.0 改的是 hook 的工作方式。以前 hook 会在会话中途等后台 worker,现在每个 hook 把事件写成磁盘上的一个 spool 文件就立刻返回,worker 稍后再去捡。负责写记忆的 observer 也更省钱了:用户每发一条 prompt 不再单独触发一次模型调用,observer 的 prompt 开头换成了固定指令,方便服务商的 prompt cache 命中。
v13.30.1 是个小修复,但教训很典型。以前恢复一段 Claude Code 对话时,插件会注入一份新渲染的记忆时间线。这会改掉对话的 prompt 前缀,prompt cache 就失效了,一个本意是帮忙的功能在悄悄让每次恢复会话变贵。现在恢复时什么都不注入。
v13.31.0 对付的是启动速度。在一个 1.2 GB 的数据库上,SessionStart hook 平均要 3 秒左右,最差 44 秒,原因是为了留最新的 50 条,要先读出大约 21700 行、63 MB 的数据。加了新索引之后,同样的结果大约 4 毫秒拿到,启动阶段也不再等任何网络请求。
三版放在一起,基本就是一份「记忆层欠宿主什么」的规格:不阻塞 agent 循环,不动 cache 前缀,启动成本不随历史增长。两天前的那一版还加了个更有野心的东西:让 agent 把待办清单存在 claude-mem 里,因为 Claude Code 没有给 Claude 5 系列模型提供原生的 to-do 工具。目前支持 Claude Code、Codex、Gemini、OpenClaw、Hermes、Copilot 和 OpenCode。
链接:github.com/thedotmack/claude-mem
评论