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 核对)