正在打开工具详情…
正在打开工具详情…
给编码代理装跨会话记忆:5 个生命周期 hook 自动抓取工具调用、压缩成摘要,下次会话自动注入。适合长项目反复断线的场景;注意 `npm install -g claude-mem` 只装 SDK,不注册 hook。
在长周期项目里反复开新会话、厌倦了每次重新解释背景的人;以及跨多个 agent(Claude Code、Codex、OpenCode 等)干活、希望记忆能共用的人。
会话都很短、上下文根本用不完的人——注入的记忆只会白白占上下文;也不适合不能接受「代理把你的工具调用记录写进本地库并可能走云端记忆服务」的团队。
claude-mem 解决的是编码代理最烦的一件事:会话一断,之前做过的决定、踩过的坑全部归零。它用 5 个生命周期 hook(SessionStart、UserPromptSubmit、PostToolUse、Stop、SessionEnd)自动抓取会话里的工具使用观察,生成语义摘要,下次会话开始时自动注回上下文。
检索设计得比较克制,是一个三层工作流:先 search 拿紧凑索引(每条约 50~100 token),再 timeline 看某个观察前后的时间线,最后只对筛出来的 ID 用 get_observations 取全文(每条约 500~1000 token)。官方称这样能省约 10 倍 token——关键是先筛后取,不要一上来就拉全文。
架构是本地 worker 服务(Bun 管理,带 web viewer)+ SQLite(FTS5)+ Chroma 向量库做混合检索。配置在 ~/.claude-mem/settings.json,模型、worker 端口、数据目录、日志级别和上下文注入都能调。隐私上有 <private> 标签,包住的内容不进存储。
要注意两点:一是安装方式——npm install -g claude-mem 只装 SDK,不注册 hook 也不起 worker,必须走 npx claude-mem install 或 ;二是它默认会引导你用邮箱魔法链接登录以换取 memory key 并开通 30 天试用(不登录也能用,加 或设 即可跳过)。
/plugin--providerCLAUDE_MEM_ONLINE_OPTIN=false上手步骤之外的具体做法:常见场景怎么配、命令怎么写、报错怎么处理。
按第一次装会卡在哪讲:为什么 npm 全局装没用、登录后到底开了什么、三层检索怎么用才省 token、以及配置与隐私控制在哪。
bashnpx claude-mem install不要用 npm install -g claude-mem 代替。 README 专门加了 Note:全局 npm 安装只装 SDK / library,不注册 plugin hook,也不起 worker 服务。结果就是「装了但什么都没发生」。
Claude Code 里也可以走插件市场:
text/plugin marketplace add thedotmack/claude-mem
/plugin install claude-mem装完必须重启 Claude Code,之后旧会话的上下文会自动出现在新会话里。
要求 Node.js 20.0.0+,Bun 和 uv(向量检索用)缺了会自动装。
安装程序会让你在浏览器里用邮箱魔法链接登录(不需要信用卡)。登录后:
登录完你还要选记忆 provider:claude-mem observer、你自己的 OpenRouter / Gemini Key,或者直接用 Anthropic 套餐。
不想登录完全可以:加显式的 --provider,或设 CLAUDE_MEM_ONLINE_OPTIN=false,或在 CI / 非交互 shell 里跑——安装会全程不问账号。
bashnpx claude-mem install --provider host # 用本机 provider这是它省 token 的关键,也是最容易用反的地方:
textsearch(query="authentication bug", type="bugfix", limit=10) # 索引,每条 50~100 token
timeline(...) # 看某个观察前后发生了什么
get_observations(ids=[123, 456]) # 只对筛出来的 ID 取全文顺序不能反。 直接 get_observations 拉全文,每条 500~1000 token,几十条就把上下文吃光了。
官方给的省法是:先 search 拿到带 ID 的索引,挑出真正相关的 ID,批量传给 get_observations。这样能省约 10 倍 token。
~/.claude-mem/settings.json,首次运行自动带默认值生成。能调:AI 模型、worker 端口、数据目录、日志级别、上下文注入设置。
一个常用的开关:想在 Claude Code 与 Codex 的 SessionStart 上下文里包含所有 harness 的观察,把它设成 true:
json"CLAUDE_MEM_SESSION_START_INCLUDE_ALL_SOURCES": "true"默认是 "false",只注入当前 harness 的观察——这样上下文更干净,代价是跨 agent 的记忆不会自动带过来。
不想进存储的内容用 <private> 标签包住:
text<private>这段不要记</private>被包住的部分不写入存储。涉及密钥、客户数据时养成这个习惯。
核心是 5 个生命周期 hook:SessionStart、UserPromptSubmit、PostToolUse、Stop、SessionEnd(6 个 hook 脚本),加上一个预执行脚本做依赖检查。
worker 启动时会打印一个 URL,那是实时的 memory stream web viewer,可以直接在浏览器里看它记了什么、也支持搜索。观察都带 ID,可以在 worker API 或 viewer 里引用。
存储是本地 SQLite(FTS5)+ Chroma 向量库做混合检索,另有可选的 Cloud Sync 往 cmem.ai 备份(worker 写入时同步,不需要常驻守护进程)。