会话与记忆 · retro · 验证于 2026-08-28 ✓ 实测验证

claude-mem

已验证 2026-08-28MCP + worker 全链路实测通过;首会话重复报 SessionStart 错误 = worker 未预热竞态,先 claude-mem start 再开会话。

跨会话持久记忆:捕获会话、AI 压缩并注入相关上下文(MCP + worker),适合想让 Claude Code 记住上下文的开发者

你会遇到什么

你上周和 AI 一起花三个小时排查的部署问题,结论都在那个会话里。这周开个新会话,AI 一脸茫然,你又从头讲一遍。Claude-Mem 就是干这个的:每次会话它默默捕获、压缩成记忆,下次新会话自动把相关的记忆带回来。

本文路径:快速修复(30 秒一段命令)→ 一步步来(可跳读)→ 怎么确认修好了(成功判据)。赶时间直接跳到「快速修复」。

为什么会这样

AI 会话默认是一次性的:每个新会话都是干净起点,不继承上次讨论。Claude-Mem 的解法是加一个后台 worker——会话进行时记录,用 AI 压缩成结构化记忆,下次会话开始时按相关性注入。它不是聊天记录备份,而是「压缩过、会主动带回来的」记忆。 它由三件套组成:npm 全局 CLI(引导器)负责安装与注册;Claude Code 插件(claude-mem install --ide claude-code 注册)负责会话内命令;worker(后台进程,端口 37700)负责捕获与记忆 UI。注意:CLI 版本号(12.4.7)与插件本体(13.16.1)不一致,是官方现象,不影响使用。代价是它要写你的 Claude Code 配置(~/.claude.json 和 ~/.claude/plugins/),安装前会自动备份到 ~/.claude/backups/。

快速修复(不想看讲解,直接跑)

下面这一条命令完成安装与注册(已合并成一段,可整体复制):

npm_config_registry=https://registry.npmmirror.com npm install -g claude-mem && claude-mem install --ide claude-code

预期输出: Installation Complete(Plugin dir: ~/.claude/plugins/marketplaces/thedotmack;Worker port: 37700)

跑完看到 Installation Complete 就装好了。国内网络保留开头的 npmmirror 前缀,避免 npm 超时。

一步步来

第 1 步:装引导器 + 注册插件(两步都要)

为什么是两步:npm install -g claude-mem 装的只是命令行引导器(CLI 12.4.7),它本身不干活;claude-mem install --ide claude-code 才把插件注册进 Claude Code(写 ~/.claude.json + ~/.claude/plugins/,安装前自动备份到 ~/.claude/backups/)。漏掉第二步,之后所有 runtime 命令都会提示未安装。

npm_config_registry=https://registry.npmmirror.com npm install -g claude-mem
claude-mem install --ide claude-code

预期输出: Installation Complete(Plugin dir: ~/.claude/plugins/marketplaces/thedotmack;Worker port: 37700)

装好确认:

  • 输出 Installation Complete 且给出 Plugin dir 与 Worker port;
  • claude-mem status 不再提示未安装(见下一步)。

卡住怎么办:

  • bun-missing → 前置检查提示 bun-missing:worker 运行时需要 Bun,先装 Bun 再继续;
  • install 报错写 ~/.claude.json → 检查 Claude Code 是否在运行/占用该文件;~/.claude/backups/ 里有安装前快照可回滚;
  • npm 慢/超时 → 确认用了 npm_config_registry=https://registry.npmmirror.com 前缀。

第 2 步:启动 worker,让记忆跑起来

讲解:status 看 worker 状态(已 install 未启动时显示 Worker is not running);start 拉起 worker(记忆 UI http://localhost:37700),之后 Claude Code 内 /mem-search 可用。

claude-mem status

预期输出: Worker is not running(已 install、未启动时);未 install 时输出 claude-mem is not installed. Run: npx claude-mem install(2026-08-29 实测:CLI 12.4.7 为引导器,runtime 命令依赖 Bun);启动后显示端口与记忆数

claude-mem start

预期输出: worker 启动(记忆 UI http://localhost:37700;Claude Code 内 /mem-search 可用)

装好确认:

  • status 不再提示未安装;
  • start 后浏览器能打开 http://localhost:37700(记忆 UI)。

卡住怎么办:

  • start 失败 → 确认 Bun 已安装且版本可用;看 ~/.claude-mem/ 下日志;
  • 端口 37700 被占 → 先 claude-mem stop 再 start,或检查占用进程。

第 3 步:日常用起来

讲解:装完不用管,worker 自己捕获会话、写记忆;需要主动操作时用下面四条(合并成一个块,按需取用):

claude-mem status              # 看 worker 状态与记忆数
claude-mem search "部署问题"    # 主动搜记忆
claude-mem adopt --dry-run     # worktree 记忆整合(合并分支后;确认后去掉 --dry-run)
claude-mem stop                # 停止 worker

预期输出: status 显示端口与记忆数;search 返回相关记忆片段列表;adopt --dry-run 列出待整合清单;stop 输出 worker stopped

多 worktree 并行干活时,合并分支后跑 adopt 把记忆并回来;search 是主动搜,/mem-search 是 Claude Code 内的同款命令。记忆与设置都存在 ~/.claude-mem/。 卡住怎么办:

  • search 没结果 → 先确认 worker 在跑(claude-mem status),新装的工具需要先有捕获过的会话;
  • adopt 报错 → 确认当前在合并后的分支上、且记忆目录可写;拿不准先 --dry-run 看清单。

怎么确认修好了

  1. claude-mem status 显示 worker 在跑,不再提示未安装;
  2. 浏览器打开 http://localhost:37700 能看到记忆 UI;
  3. 开一个全新会话,问上周讨论过的问题,AI 能接上上下文。

其它环境的表现(常见变体)

  • 其他 IDE:claude-mem install --ide cursor(或 codex 等,支持 13 种 IDE),写法不变;
  • Windows:npm 全局装照常,~ 指用户目录,写面路径相同;
  • 和别的工具共存:与 ruflo 判定 possible-compatible(2026-08-30 部分实测:ruflo 写工作区 + HOME CLAUDE.md 指针块,本工具写 HOME ~/.claude.json + ~/.claude/plugins/,写面不重叠;隔离实测 ruflo doctor 不受影响;本工具 IDE 注册段在无 Claude Code 环境未验证);cc-switch、oh-my-claudecode、code-review-graph 与它共用 ~/.claude.json 注册面,存在互相覆盖的可能(推断,未实测)——装了这些再装 claude-mem,装完用 claude-mem status 确认插件仍在;

日常使用

启动与入口

  • worker:claude-mem start(后台进程,端口 37700);Claude Code 会话内用 /mem-search;
  • 状态:claude-mem status。

常用操作

操作 1:查看 worker 状态与记忆数

claude-mem status

预期输出: 运行中显示端口与记忆数;已安装未启动时显示 Worker is not running

操作 2:搜索 / 整合 / 停止(一个命令块)

claude-mem status              # 看 worker 状态与记忆数
claude-mem search "部署问题"    # 主动搜记忆
claude-mem adopt --dry-run     # worktree 记忆整合(合并分支后;确认后去掉 --dry-run)
claude-mem stop                # 停止 worker

预期输出: status 显示端口与记忆数;search 返回相关记忆片段列表;adopt --dry-run 列出待整合清单;stop 输出 worker stopped

多 worktree 并行干活时,合并分支后跑 adopt 把记忆并回来;search 是主动搜,/mem-search 是 Claude Code 内的同款命令。记忆与设置都存在 ~/.claude-mem/。

卡住怎么办

  • search 没结果 → 先确认 worker 在跑(claude-mem status),新装的工具需要先有捕获过的会话;
  • adopt 报错 → 确认当前在合并后的分支上、且记忆目录可写;拿不准先 --dry-run 看清单。

卸载与清理

note: 先注销插件(自动恢复配置备份),再删 npm 包与记忆目录;卸载前关闭所有 Claude Code 会话(活跃 hooks 会重建 ~/.claude-mem)

没有单条命令,按顺序做:

  1. claude-mem uninstall —— 注销插件(从备份恢复 ~/.claude.json);
  2. npm rm -g claude-mem —— 移除 CLI 引导器;
  3. rm -rf ~/.claude-mem —— 清掉记忆数据。

预期输出: 无残留命令;command -v claude-mem 为空即卸载干净

依赖警告

  • 版本:插件本体 [13.18.0, 13.18.0](manifest 锁定,2026-08-30 隔离实测确认);npm CLI 引导器版本号滞后为 12.4.7,属官方现象。
  • 环境:Node >= 18;worker 运行时需 Bun(README 系统要求);实测本场环境无 uv → status 显示 Dependencies: degraded(矢量搜索降级,关键词搜索不受影响,非工具缺陷)。
  • 网络:npm 用 npmmirror 前缀(国内实测路径)。
  • 写面(大):~/.claude-mem/、~/.claude.json、~/.claude/backups/、~/.claude/plugins/marketplaces/thedotmack/——共享注册面,装前确认。
  • 端口:worker 默认 37700(记忆 UI)。

FAQ(常见问题)

  • 问:为什么装了 CLI 还是提示未安装?答:CLI 12.4.7 只是引导器,必须再跑 claude-mem install --ide claude-code 注册插件(写 ~/.claude.json);runtime 命令还依赖 Bun。
  • 问:卸载会不会弄坏 Claude Code 配置?答:官方 uninstall 会用 ~/.claude/backups/ 恢复 ~/.claude.json;卸载前务必关闭所有 Claude Code 会话,否则活跃 hooks 会重建 ~/.claude-mem。
  • 问:记忆存哪、多大?答:~/.claude-mem/(记忆库/设置/日志);长期使用注意目录大小,可定期清理或按需保留。
  • 问:端口 37700 被占用?答:先 stop 再 start;或排查占用进程。
  • 问:使用问题向谁反馈?答:本市场安装/卸载问题走条目反馈入口;项目自身问题请向作者仓库反馈。
验证证据
  • 实测(usage 采集 2026-08-30):实测复现日志(2026-08-30)——npx claude-mem install 全链路 + worker start/37700/stop 零残留 + 版本差实证;清单见 站内文档。
  • 实测:实测记录(本地留存)(2026-08-28/29 CLI 冒烟:install/status/start/stop);实测记录(本地留存)(装/卸循环);实测记录(本地留存)(网络预检)。
  • 未实测:三个 possible-conflict 对子(oh-my-claudecode / code-review-graph / cc-switch)的共装实测(当前判定为共享注册面推断);ruflo 对子已部分实测(2026-08-30:写面不重叠,IDE 注册段未验证)。

引用:claude-mem · 验证于 2026-08-28 · v13.18.0~13.18.0

相关问题(问题域)

出问题了?排障方案

排障手册:claude-mem(L34 批次 1)

症状 → 原因 → 解法 → 验证证据 四段结构。
素材来源:L33 分源记录(CSDN/掘金)+ 上游 Issue 检索(#63/#2666/#2959/#3137/#415/#380/#1447)+ 本市场实测(2026-08-28 隔离 HOME 安装/卸载闭环)。
采集纪律:零账号匿名检索;不破解反爬;未碰 GitHub。check-words HARD 0。

基本信息

  • 条目名称:claude-mem(thedotmack/claude-mem,Apache-2.0,插件 13.16.1 收录;npm CLI 12.4.7)
  • L33 分源信号:CSDN=8 / 掘金=1 / 知乎=0 / B站=0(强)
  • §14 角色:core;分类:retro
  • 定位:跨会话持久记忆(捕获会话、AI 压缩、注入相关上下文;MCP mcp-search + worker)
  • 本市场安装路径:npm 全局 CLI + claude-mem install --ide claude-code(插件本体)+ 记忆 worker(Bun)
  • 主要安装形态:npm(CLI)/ Claude Code 插件市场(git clone 上游仓库)/ 13 种 IDE 插件面

症状 → 原因 → 解法 → 验证证据

1. marketplace 克隆失败:SSH 认证失败 / 克隆卡死

症状

claude-mem install --ide claude-code 在 "Adding marketplace…" 处报错或长期卡住:

# 来源: Trove 排障手册 · 验证于 2026-08-28
✘ Failed to add marketplace: Failed to clone marketplace repository: SSH authentication failed.
Please ensure your SSH keys are configured for GitHub, or use an HTTPS URL instead.

或直连时克隆无进展后报 Recv failure: Connection reset by peer。

原因

Claude Code 插件安装 = git clone 上游仓库 thedotmack/claude-mem(浅克隆 + 递归子模块;实测仓库约 271MB),安装器默认走 SSH URL(git@github.com:...)。无可用 SSH key(或 key 对应账号状态异常)时认证失败;国内直连 GitHub 时大仓库克隆容易中断。

解法

  1. 强制 HTTPS(公开仓库匿名即可克隆,不需要 key):

git config --global url."https://github.com/".insteadOf "git@github.com:"

  1. 国内加速(2026-08-28 实测可用):

git config --global url."https://gh-proxy.com/https://github.com/".insteadOf "https://github.com/"

  1. CLI 本身走镜像源:npm_config_registry=https://registry.npmmirror.com npm install -g claude-mem
  2. 以上只改 git clone 的 URL 通道,不改插件任何行为;不用给任何账号授权。

验证证据

  • 本市场实测 2026-08-28(实测记录(本地留存)):
  • 无改写时:SSH 认证失败(key 对应账号状态异常)→ install FAIL;
  • 加改写后:SSH not configured, cloning via HTTPS → ✔ Successfully added marketplace: thedotmack → ✔ Successfully installed plugin: claude-mem@thedotmack (scope: user) → claude-mem installed successfully! → install exit=0;
  • 直连 90s 未完成 vs gh-proxy 加速后 60s 内克隆完成(仓库实测 271MB)。

2. worker/UI 端口占用:"Is port 37777 in use?"

症状

worker 启动失败,报端口被占用(Windows 重启后常见);记忆 UI 打不开。

原因

旧版/部分版本 worker 固定端口 37777,被残留进程或其它程序占用;僵尸 socket(TIME_WAIT)未释放。

解法

  1. 先确认实际端口(安装输出 / claude-mem status 为准):lsof -i :37700(本版)或 lsof -i :37777(旧版资料)。
  2. 清理占用:kill -9 $(lsof -t -i:37700)(按实际端口替换)。
  3. 改端口:CLAUDE_MEM_WORKER_PORT 环境变量,或 ~/.claude-mem/settings.json 中配置。

验证证据

  • 上游 Issue #415/#380(2025-12,Windows 重启后端口占用场景)。
  • 本市场实测:本版(插件 13.16.1)安装输出 Worker port: 37700——端口随版本变化,排查前先看实际输出,避免按旧资料找错端口。

3. 首会话重复 SessionStart hook 错误(worker 竞态)

症状

每次新会话开始出现 2 个 SessionStart hook 错误;记忆有时不注入。

原因

worker 启动竞态(上游 Issue #1447):多个 hook 同时触发时 worker 尚未就绪。

解法

  1. 预预热:开会话前 claude-mem start(或 npx claude-mem start),确认 claude-mem status 显示 worker 就绪。
  2. 启动失败时先清理残留 worker 进程再 start(见症状 2 的 lsof/kill 方法)。

验证证据

  • 上游 Issue #1447;上游项目方文档 Troubleshooting(lsof/kill 清理残留进程)。
  • 本市场实测:安装完成提示 worker not yet ready -- still starting up; check claude-mem status later——属正常提示,按 status 确认即可。

4. npm 依赖安装失败

症状

npm install -g claude-mem 报错或后台静默失败,claude-mem 命令不可用。

原因

依赖树/网络问题;旧版使用 pm2 管理 worker(v7.1.0 起 PM2→Bun,需要 Bun 运行时)。

解法

  1. 换源重试:npm_config_registry=https://registry.npmmirror.com npm install -g claude-mem。
  2. 依赖异常时 npm ci 或 npm install --force 后重启 worker。
  3. 确认运行时:bun --version(缺 Bun 时装 Bun;旧资料里的 pm2 场景对应旧版本)。

验证证据

  • 上游 Issue #63;CSDN 2026-03(旧版 pm2 重启场景)。
  • 本市场实测 2026-08-28:npmmirror 全局安装成功(首次约 50s,缓存后约 5s);Bun 已装。

5. Chroma 进程泄漏 / zombie 链

症状

长期使用后内存/进程膨胀,出现多个 chroma 残留进程。

原因

旧版 process-tree 清理缺失(上游 Issue #2959/#3137)。

解法

  1. 升级插件到 v13.16.1(2026-08-25 release 修复 process-tree cleanup)。
  2. 手动清理残留进程后重启 worker。

验证证据

  • 上游 Issue #2959/#3137。
  • 本市场收录版本 = 13.16.1(含该修复)。

6. 第三方模型鉴权切换后 "No previous sessions found"

症状

DeepSeek 等第三方模型从 OAuth 切到 API Key 后,/mem-search 报 No previous sessions found。

原因

鉴权信息不一致;worker 不读取 ANTHROPIC_BASE_URL/AUTH_TOKEN 环境变量,需要手动同步到 ~/.claude-mem/.env(上游 Issue #2666)。

解法

  1. 手动同步 ~/.claude-mem/.env 的 BASE_URL / AUTH_TOKEN。
  2. 重启 worker(claude-mem restart)。
  3. 重新触发一次会话捕获后再搜索。

验证证据

7. opencode 安装 API 不匹配

症状

opencode 下安装 claude-mem 插件报 API 不匹配/加载失败。

原因

opencode 插件 API 与 claude-mem 插件实现版本不一致(CSDN 2026-05 案例)。

解法

  1. 替换兼容实现,或优先在 Claude Code 场景使用(插件主形态)。
  2. 等待插件更新后再试 opencode 形态。

验证证据

  • CSDN 2026-05 案例。
  • 本市场未实测 opencode 形态(无登录态),如实标注。

本市场实测安装 / 卸载(2026-08-28)

安装(manifest install.cmd,隔离 HOME=/tmp/l34-cm2/home,git 改写仅为验证环境适配、不改 install 语义):

# 来源: Trove 排障手册 · 验证于 2026-08-28
[install] 执行: npm_config_registry=https://registry.npmmirror.com npm install -g claude-mem && claude-mem install --ide claude-code
added 131 packages in 5s
claude-mem install
  Version: 12.4.7
  Platform: linux (x64)
Adding marketplace…SSH not configured, cloning via HTTPS: https://github.com/thedotmack/claude-mem.git
✔ Successfully added marketplace: thedotmack (declared in user settings)
✔ Successfully installed plugin: claude-mem@thedotmack (scope: user)
  Installation Complete
  Worker port: 37700
claude-mem installed successfully!
[install] exit=0

卸载(manifest uninstall.cmd,真实执行 claude-mem uninstall):

# 来源: Trove 排障手册 · 验证于 2026-08-28
◇ Marketplace directory removed OK
◇ Cache directory removed OK
◇ Marketplace registration removed OK
◇ Plugin registration removed OK
◇ Claude settings updated OK
Uninstallation complete!
Your data directory at ~/.claude-mem was preserved. To remove it manually: rm -rf ~/.claude-mem
removed 131 packages in 218ms
[uninstall] 验证: claude-mem removed: OK;~/.claude-mem 与 ~/.claude/plugins/thedotmack 已清;claude.json 残留注册 0
  • 完整日志:实测记录(本地留存)(install exit=0 → uninstall 全链路清理 → verify 零残留)。
  • CLI/写面证据:实测记录(本地留存)(安装后写面 = ~/.claude/plugins/marketplaces/thedotmack + cache/thedotmack/claude-mem/13.16.1/ + ~/.claude-mem/ + MCP mcp-search;安装前备份 ~/.claude/backups/)。
  • 连通性:实测记录(本地留存)(npmmirror 可用;GitHub release 无资产,npm 分发)。
  • 未能实测:真实会话捕获/记忆写入(需登录的 Claude Code 会话)、adopt/cleanup 实跑、opencode 形态。

冲突标注

  • possible-conflict(推断态,未共装实测):oh-my-claudecode / ruflo / code-review-graph——共享 Claude 插件注册面(~/.claude.json + ~/.claude/plugins/)与 MCP 注册面;cc-switch——双方都改写 ~/.claude.json(不同段,同文件需注意)。
  • possible-compatible(推断态):其余收录条目(无共享写面/注册面/端口面;CLI 面互不干扰)。
  • 专属面:~/.claude-mem/(settings/logs/记忆存储)、worker 端口 37700、MCP mcp-search(stdio)。

名称混淆

  • 版本号双轨:npm CLI 12.4.7 ≠ 插件 13.16.1(GitHub release tag 同步)。排查/升级判断以插件目录 ~/.claude/plugins/cache/thedotmack/claude-mem/<ver> 为准,不要用 claude-mem --version 当插件版本。
  • 与 claude-code-router(ccr,跨模型路由)、mem0(记忆库服务)及各类 "claude memory" 项目区分;检索时注意 "claude-mem" 连字符形态。

判据(验证状态)

  • 症状清单:
  • [x] marketplace 克隆失败:SSH 认证失败 / 直连卡死(2026-08-28 本市场实测:改写前 FAIL → 改写后 PASS)
  • [x] bun/worker 端口占用 37777 导致启动异常(CSDN 2025-12 + 上游 #415/#380;本版实测端口 37700)
  • [x] worker 竞态:首会话 SessionStart hook 错误(上游 #1447)
  • [x] npm install 失败 → 换源/--force + worker 重启(CSDN 2026-03;v7.1.0 起 PM2→Bun)
  • [x] worker 启动失败 / Chroma 端口与进程泄漏(CSDN/掘金 2026-02/03 + 上游 #2959/#3137)
  • [x] 第三方模型 OAuth→API Key 后 No previous sessions found(CSDN 2026-05 + 上游 #2666)
  • [x] opencode 插件 API 不匹配(CSDN 2026-05)
  • 实测步骤:

本站实测记录

  • [x] 卸载验证(manifest uninstall.cmd:claude-mem uninstall 全链路清理 → npm rm → 目录清除 → verify 零残留)
  • [x] 网络/镜像场景(npmmirror 安装;git 改写 HTTPS + gh-proxy 加速克隆;探针见)
  • [x] 未能实测项:真实会话捕获/记忆写入(需登录会话)、adopt/cleanup 实跑、opencode 形态

验收

  • [x] 症状 → 原因 → 解法 → 验证证据 四段齐全(7 症状)
  • [x] 名称混淆已点名(npm CLI 版本 ≠ 插件版本;与 ccr/mem0 区分)
  • [x] check-words HARD 0
  • [x] validate 通过
  • [x] 未碰 GitHub / 未用任何账号

所属组合包 (3)

矩阵暂无该工具对子。

用户反馈

反馈经维护 agent 质检:情绪输出删除,可验证说法实测后标注。提交:匿名问题空间(helpdesk)。

  • 已验证反馈(2026-08-31):安装后 claude-mem status 提示 not installed,以为没装成功 验证证据:实测复现日志(2026-08-29)(实测:CLI 12.4.7 为引导器,需先 claude-mem install --ide <id> 注册插件,runtime 命令依赖 Bun)

← 返回工具货架 | 遇到其它问题?去 问题空间 提交求助卡 | 预检与证据记录由维护流程本地留存,仅公开结论与来源