Lossless Claw的5个自救命令:/lossless doctor、backup与rotate记忆维护修复指南
【免费下载链接】lossless-clawLossless Claw — LCM (Lossless Context Management) plugin for OpenClaw项目地址: https://gitcode.com/gh_mirrors/lo/lossless-claw
Lossless Claw(LCM,Lossless Context Management)是 OpenClaw 的无损上下文管理插件,负责把超长对话持续压缩成可检索的摘要记忆。用久了难免出现摘要损坏、数据库臃肿、会话文件膨胀等问题——这时候无需重装、无需写代码,内置的5 个自救命令就能完成体检、备份、压缩与修复。
💡 所有命令都通过聊天里的
/lossless前缀执行,/lcm是隐藏别名。输入/lossless help可随时查看全部用法。
为什么 AI 记忆库也需要"自救"?
Lossless Claw 把每一轮对话存进本地 SQLite 数据库(lcm.db),并在上下文超预算时自动做"无损压缩":旧消息被替换为分层摘要,原文随时可以按需召回。
但长期运行后,三类问题比较常见:
| 问题症状 | 常见原因 | 对症命令 |
|---|---|---|
| AI 答非所问、摘要内容残缺 | 摘要被截断或写坏 | /lossless doctor→doctor apply |
| 数据库体积越来越大 | 历史垃圾数据、压缩债务 | doctor clean/doctor maintenance |
| 会话文件臃肿、响应变慢 | 转录文件只增不减 | /lossless rotate |
好消息是:每个命令在动手修复前都会先自动创建数据库备份(backup-first 策略),实现位于 src/plugin/lcm-command.ts,你可以放心执行。
命令一:/lossless status快速体检
出问题之前,先看看"病历"。直接输入/lossless status,会返回一份紧凑报告:
- Global:总会话数、摘要数、摘要占用的 token 总量;
- 当前会话:消息数、上下文 token 数、压缩比(例如
1:34表示上下文被压到原来的 1/34); - 维护状态:是否存在待处理的压缩债务。
建议养成习惯:每次觉得"AI 记性变差"时,先跑一次/lossless status定位问题方向。状态报告的生成逻辑见 src/plugin/lcm-command.ts。
命令二:/lossless backup一键备份记忆库
这是最基础的自救命令:创建当前 LCM 数据库的时间戳快照。
/lossless backup执行后:
- 使用 SQLite 的
VACUUM INTO生成一个完全一致、可独立打开的数据库副本; - 备份文件与
lcm.db放在同一目录,命名为lcm.db.backup-<时间戳>-<随机码>.bak; - 返回备份文件的完整路径,方便归档或迁移。
备份路径生成与写入实现见 src/plugin/lcm-db-backup.ts。
最佳实践:在执行任何修复(doctor apply、clean apply、rotate)之前,或定期手动执行一次/lossless backup,等于给记忆库上了一份保险。
命令三:/lossless rotate压缩会话转录文件
rotate解决的是"会话文件膨胀"问题:
/lossless rotate它会在保持当前会话身份不变的前提下,完成一次安全轮转(实现见 src/session-rotation.ts):
- 重写会话转录文件,把最新消息尾部之外的原始上下文压缩掉;
- 释放磁盘空间(报告会展示
bytesRemoved与保留的最新消息数); - 自动先创建一份数据库备份,再执行轮转;
- LCM 对话与正在进行的会话不受影响,无需
/new或/reset。
注意区分:/reset会重置整个 OpenClaw 会话流;如果你只是想让转录文件"瘦身",选/lossless rotate。另外 OpenClaw 还支持在会话文件过大时自动轮转,可用lcm config get autoRotateSessionFiles.enabled查看开关状态,详见 docs/cli.md。
命令四:/lossless doctor诊断记忆库
doctor是一次只读全面体检,扫描以下隐患并给出报告:
- 损坏/截断的摘要:标记出内容断裂的摘要条目;
- 版本分裂(Version split):检测是否存在多份插件副本、活跃版本与影子副本不一致;
- 压缩债务:历史会话中积压的未处理压缩任务;
- 轮转分裂(rollover-splits):整库范围的转录轮转残留;
- 垃圾候选(clean):高置信度的无效数据清单(仅报告,不删除)。
/lossless doctor报告里如果各项都是 "0" 或 "none found",说明记忆库健康;有 ⚠️ 标记时,再进入下一步修复。诊断扫描逻辑分布在 src/plugin/lcm-doctor-cleaners.ts、src/plugin/lcm-doctor-maintenance.ts 等模块。
命令五:/lossless doctor apply一键修复
确认诊断报告后,doctor apply是真正动手的修复命令:
/lossless doctor apply它会先创建数据库备份,然后尝试重建当前会话中损坏的摘要(修复逻辑见 src/plugin/lcm-doctor-apply.ts)。两种进阶用法:
- 定向修复指定会话:
/lossless doctor apply 42 confirm-offline,针对 ID 为 42 的会话执行隔离修复; - 大目标覆盖:目标摘要过多或会话处于活跃状态时,需追加
confirm-offline确认,避免误伤热会话。
所有修复都是"可回滚"的——备份文件就在原地,出问题可以人工还原。
进阶维护:clean、maintenance 与 rollover-splits
doctor家族还有三组"深度清洁"子命令,全部遵循 backup-first:
| 命令 | 作用 |
|---|---|
/lossless doctor clean | 只报告全局高置信垃圾数据,不删除 |
/lossless doctor clean apply [filter-id] [vacuum] | 备份后删除垃圾,vacuum可顺带回收磁盘空间 |
/lossless doctor maintenance | 报告活跃/非活跃的压缩债务,不写入 |
/lossless doctor apply maintenance <id> confirm-inactive | 备份后关闭符合条件的历史债务(召回数据保留) |
/lossless doctor rollover-splits | 报告轮转分裂导致的记忆碎片 |
/lossless doctor apply rollover-splits confirm | 备份后修复所有安全的分裂组 |
推荐自救流程(3 步走)
遇到问题时,按这个顺序操作最稳妥:
- 看:
/lossless status+/lossless doctor定位问题; - 存:
/lossless backup拿一份独立快照; - 修:按报告执行
doctor apply、rotate或clean apply。
更多细节可以参考项目自带的技能说明 skills/lossless-claw/SKILL.md 与参考文档 skills/lossless-claw/references/diagnostics.md。
常见问题
Q:doctor apply会丢消息吗?不会。它只重建损坏的摘要节点,原始消息仍保留在数据库中可随时召回;且每次修复前都有自动备份。
Q:rotate和自动轮转有什么区别?rotate是手动触发、立即生效并返回释放报告;自动轮转由后台监控会话文件大小后择机执行,两者共用同一套安全机制。
Q:能在终端里排查数据库吗?可以。配套的lcm命令行工具以只读模式打开lcm.db(PRAGMA query_only = ON),提供lcm status、lcm summaries list等查询,完整说明见 docs/cli.md。
掌握这 5 个自救命令,你的 Lossless Claw 记忆库就能长期保持健康、可备份、可修复——AI 的记忆从此不怕"失忆"。
【免费下载链接】lossless-clawLossless Claw — LCM (Lossless Context Management) plugin for OpenClaw项目地址: https://gitcode.com/gh_mirrors/lo/lossless-claw
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考