Lossless Claw — OpenClaw 的无损上下文管理插件
> 一句话版本:OpenClaw 的上下文压缩插件。正常情况下对话太长会截断老消息,这个插件用 SQLite + DAG 摘要把所有消息都存下来,摘要可追溯原文,Agent 永远不丢记忆。4,383 stars,MIT。
| 项目 | 信息 | ||
|---|---|---|---|
| 来源 | [github.com/Martian-Engineering/lossless-claw](https://github.com/Martian-Engineering/lossless-claw) | ||
| Stars | 4,383 | Forks 363 | |
| 语言 | TypeScript | 许可证 | MIT |
| 创建 | 2026-02-18 | 最后推送 | 2026-04-19 |
| 论文 | [LCM Paper](https://papers.voltropy.com/LCM) | ||
| 可视化 | [losslesscontext.ai](https://losslesscontext.ai) | ||
| 作者 | Martian Engineering / Voltropy |
解决什么问题
OpenClaw(和所有 AI Agent 一样)在对话超出上下文窗口时,会用滑动窗口截断老消息。信息丢失。
Lossless Claw 用 LCM(Lossless Context Management) 替代滑动窗口:
- 每条消息存入 SQLite 数据库
- 老消息被摘要压缩成 DAG(有向无环图)
- 摘要可追溯原文——Agent 能 drill down 恢复细节
- 没有任何信息丢失
DAG 摘要通俗解释
这里的 DAG 不是 Exa Canon 那种任务编排图,而是摘要层级树。
普通 compaction(滑动窗口):
消息 1-200 → LLM 总结成一段话 → 丢掉原文 → 继续聊
消息 201-300 → 再总结 → 丢掉 → 继续
...
最终只剩最近几轮 + 一段模糊的总结
"之前聊过一些关于部署的事" ← 你问具体细节?没了
Lossless Claw 的 DAG 摘要:
第1天聊天(消息1-50)
├── 原文完整保留(SQLite)
└── Leaf 摘要:"讨论了 oMLX 报告部署流程,遇到 wrangler 缓存问题"
│
▼
第2天聊天(消息51-120)
├── 原文完整保留
└── Leaf 摘要:"研究了 browser-harness,写了从零开始教程"
│
▼
第3天聊天(消息121-200)
├── 原文完整保留
└── Leaf 摘要:"分析了 active-memory 插件,讨论了 token 代价"
│
▼
┌───┴───┐
▼ ▼
Condensed Condensed
节点 A 节点 B
"本周主要 "技术分析类:
研究了3个 oMLX、browser-harness、
开源项目" active-memory"
│
▼
Root 节点
"本周工作总结:研究了 oMLX、browser-harness、active-memory 三个项目,
写了3份报告部署到 temp.jaylab.io"
树结构就是 DAG(有向无环图):
Root
/ \
Cond-A Cond-B
/ | \ | \
L1 L2 L3 L4 L5 ← Leaf 节点(每段对话的摘要)
| | | | |
原文 原文 原文 原文 原文 ← 永远保存在 SQLite 里
Agent 平时只看 Root 节点(省 token),需要细节时用 lcm_expand 逐层展开(不丢信息)。
工作原理
对话增长
↓
超出阈值(75% 上下文窗口)
↓
最近的 64 条消息保持原文(freshTailCount)
↓
更早的消息按 chunk 摘要(leafChunkTokens: 80000 tokens/chunk)
↓
摘要累积后进一步压缩成高层节点(condensed nodes)
↓
形成 DAG(有向无环图)
↓
每次对话组装:高层摘要 + 中层摘要 + 最近原文
DAG 结构:
Level 0 (原文): [msg1] [msg2] [msg3] ... [msg100]
↓ 摘要
Level 1 (leaf): [summary-1-50] [summary-51-100]
↓ 压缩
Level 2 (condensed): [condensed-1-100]
Agent 回忆工具
LCM 给 Agent 提供 3 个工具来搜索和恢复压缩的历史:
| 工具 | 功能 |
|---|---|
| `lcm_grep` | 在所有摘要中搜索关键词 |
| `lcm_describe` | 描述某个摘要节点的详细程度 |
| `lcm_expand` | 展开摘要,恢复原文细节(用 sub-agent) |
Agent 感觉就像"从来不忘记"——因为它确实不丢。
安装
openclaw plugins install @martian-engineering/lossless-claw
安装后自动启用,自动替换 OpenClaw 内置的滑动窗口 compaction。
命令
| 命令 | 功能 |
|---|---|
| `/lcm` | 显示版本、状态、DB 大小、摘要健康度 |
| `/lcm backup` | 备份 LCM SQLite 数据库 |
| `/lcm rotate` | 重写会话记录为压缩形式(不改会话身份) |
| `/lcm doctor` | 扫描损坏或截断的摘要 |
| `/lcm doctor clean` | 只读诊断,显示可清理的垃圾数据 |
| `/lcm status` | 显示插件/会话/维护状态 |
| `/lossless` | `/lcm` 的别名 |
关键配置
| 参数 | 默认值 | 说明 |
|---|---|---|
| `freshTailCount` | 64 | 最近多少条消息保持原文 |
| `leafChunkTokens` | 80000 | 多少 token 触发 leaf 摘要 |
| `contextThreshold` | 0.75 | 上下文使用率多少触发压缩 |
| `summaryModel` | OpenClaw 默认 | 摘要用什么模型(推荐 gpt-5.4-mini) |
| `expansionModel` | OpenClaw 默认 | 展开查询用什么模型 |
| `incrementalMaxDepth` | 1 | 压缩深度(0=仅 leaf,-1=无限) |
| `cacheAwareCompaction` | true | 缓存感知压缩(Anthropic prompt cache 热时不压缩) |
cache-aware compaction 是个精妙设计——当 Anthropic prompt cache 还热的时候不触发压缩,等 cache 冷了再压缩,避免浪费 cache hit。
与 Cloudflare Agent Memory 的对比
| 维度 | Lossless Claw | Cloudflare Agent Memory |
|---|---|---|
| 定位 | OpenClaw 插件,替代 compaction | 独立服务,持久记忆层 |
| 存储 | 本地 SQLite | Cloudflare 托管 |
| 摘要方式 | DAG 层级压缩 | ingest/remember/recall |
| 可追溯 | ✅ 摘要→原文 drill down | ✅ supersession 版本链 |
| 跨 Agent | ❌ 单 Agent | ✅ 跨 Agent/跨人 |
| 离线 | ✅ 完全本地 | ❌ 需要 Cloudflare |
| 费用 | 摘要 LLM 调用费用 | 免费层 + 付费 |
| 分类 | ❌ 无 | ✅ Facts/Events/Instructions/Tasks |
社区评价
🔥 OpenClaw 创始人公开推荐——Reddit 帖标题就是 "OpenClaw's creator says use this plugin",社区认为这是最高背书。
🔥 "解决了最大痛点"——普遍认为上下文窗口丢失是 OpenClaw(和所有 Agent)最大的问题,LCM 直接解决了它。
🔥 QMD + Lossless Claw 组合被称 "incredible"——有用户测试了所有记忆插件后说 QMD(长期记忆搜索)+ LCM(DAG 上下文压缩)是最强组合。
🔥 改变 Agent 行为模式——从"20 分钟后就忘"变成"可以过夜运行不丢信息",让 VPS 自动化 Agent 变得真正可用。
🟡 配置有学习曲线——一行安装,但 leafChunkTokens、freshTailCount 等参数需要根据模型上下文窗口大小调整。
🟡 摘要质量依赖模型——用便宜模型做摘要质量会下降,用强模型成本上升。
⚠️ 116 个 open issues——4,383 stars 对应 116 issues,用的人多、问题也多。cache-aware compaction 兼容性问题在 release notes 里多次修复。
⚠️ 版本更新频繁——快速迭代中,稳定性还在提升。
总结:OpenClaw 生态"必装插件"级别。争议不在"要不要用",而在"怎么调参最优"。
来源:r/openclaw、r/clawdbot、r/OpenClawInstall、r/AISEOInsider(2026年3月)
分析
优势:
- 🔥 解决真实痛点——长对话信息丢失是所有 Agent 的问题
- 🧠 DAG 设计优雅——层级摘要 + 可追溯,理论扎实(有论文)
- 🔌 零配置安装——
openclaw plugins install一行搞定 - 🛠️ Agent 回忆工具——lcm_grep/lcm_expand 让 Agent 能主动恢复记忆
- 🧹 cache-aware compaction——不浪费 prompt cache hit
- 📦 轻量——本地 SQLite,不需要外部服务
风险:
- ⚠️ 摘要质量依赖模型——用便宜模型摘要可能丢失细节
- ⚠️ 116 open issues——维护压力
- ⚠️ 只支持 OpenClaw——不是通用方案
- 🟡 lcm_expand 有延迟——sub-agent 查询,可能需要几秒
- 🟡 SQLite 单文件——大量历史数据后性能?
与 Jay 的关联:
- 🔥 直接为 OpenClaw 设计——Jay 的主力 Agent 框架
- 我们的 cron lint 失败就是因为上下文溢出——LCM 可能直接解决这个问题
- researcher agent 对话很长(40+ 报告,频繁 compaction)——LCM 能保持历史记忆
- MIT 许可证,商业无风险
- 推荐用
gpt-5.4-mini做摘要模型(便宜快)
评分
| 维度 | 评分 (1-10) | 说明 |
|---|---|---|
| 创新性 | 9 | DAG 摘要 + 可追溯 + cache-aware |
| 实用性 | 9 | 直接解决 compaction 信息丢失问题 |
| 代码质量 | 7 | TypeScript,配置完善,116 issues |
| 成熟度 | 7 | 4.4K stars,2 个月前创建,活跃 |
| 安全性 | 8 | 本地 SQLite,不外传数据 |
| 与 Jay 的关联 | 10 | 直接为 OpenClaw 设计,解决实际痛点 |
| **总分** | **8.3** | OpenClaw 的必备插件 |