跳到正文

CM-001:claude-mem 队列积压与数据保护


问题现象

历史个案中,pending_messages 长期积压、observations 没有新增,随后手工清理队列造成尚未处理的原始数据丢失。具体表名、状态和恢复能力会随 claude-mem 版本变化。


本次核对结论

  • claude-mem 官方排障文档说明:v5.x 后不会在 worker 启动时自动恢复队列,应使用项目提供的队列检查/恢复工具
  • 当前官方 Release 为 v13.12.4(2026-07-23);Release 说明强调迁移时保留孤立 observations/summaries,而不是删除用户数据
  • 旧页硬编码的 claude-haiku-4-5-20251001 不能证明在当前 provider 可用,已撤下;模型应按 claude-mem 当前配置文档和实际 provider 模型列表选择

安全处理步骤

1. 停止清库并备份

不要执行 DELETE FROM pending_messages,也不要删除数据库、PID 文件或整个插件目录。先退出相关会话,并把 ~/.claude-mem/ 数据目录完整复制到单独备份位置。

2. 在官方插件目录检查 worker

cd ~/.claude/plugins/marketplaces/thedotmack
npm run worker:status
npm run worker:logs

如果目录不存在或来源不明,停止执行并从 claude-mem 官方 GitHub 核对安装方式。

3. 使用官方交互式恢复工具

cd ~/.claude/plugins/marketplaces/thedotmack
bun scripts/check-pending-queue.ts

默认交互流程会先显示 worker 健康状态和队列摘要,再询问是否处理。先查看结果,不使用跳过确认的参数。

4. 核对版本和 provider

先阅读 v13.12.4 Release官方配置说明。若模型通道返回 503 或 model not found,只从对应 provider 的官方模型列表选择当前可用 ID;不要根据本站旧案例猜测替代模型。


预防措施

做法目的
升级前备份 ~/.claude-mem/保留数据库和配置的可恢复副本
用官方 status、logs 和交互式队列工具诊断避免直接修改内部表导致数据丢失
只在对应 provider 当前列表中选择模型避免过期模型造成持续失败
提交日志前删除 Key、Token、提示词和私人路径避免排障过程泄露敏感数据

资料来源:claude-mem 官方排障 · 官方配置 · v13.12.4 Release(Release 发布于 2026-07-23;2026-07-26 核对)