← 返回 Tony's Lab

Lossless Claw 记忆插件详解

让 OpenClaw 的上下文永不丢失 · DAG 压缩 + LLM 摘要 + 历史检索
🦞 Martian-Engineering MIT 开源 ⭐ 4.9k

# 这是什么

Lossless Claw 是 OpenClaw 的 无损上下文管理插件,基于 Voltropy 的 LCM 论文。它替换掉 OpenClaw 原生的滑动窗口截断(聊到一定长度就扔旧消息),改用一种 DAG(有向无环图)摘要系统:每条消息都永久保留在 SQLite 里,上下文窗口只装摘要,需要细节时随时展开。

一句话概括 装了这个插件,你的 OpenClaw agent 就像有了永久的记忆——不会因为对话太长而忘记之前说过什么,而且你自己不需要做任何额外操作。

# 对比:有 vs 没有

❌ 原生内存裁剪

对话超过上下文窗口(例如 200k tokens)后,最早的消息被直接丢弃。

结果:你问我三天前的架构分析,我只能说"抱歉我忘了"——哪怕当时讨论了好几个小时。你得重新发一遍。

✅ Lossless Claw

每条消息存 SQLite,超出窗口时用 LLM 自动压缩成摘要。上下文里只放摘要+最近消息,需要细节可以随时展开。

结果:你问我三天前的架构分析,我不仅记得,还能展开到细节。你没有任何重复劳动。

# 工作原理

核心流程

  1. 持久化:每一条消息写入 SQLite 数据库,按会话组织
  2. 摘要叶节点:上下文窗口快满时,用配置的 LLM 把最早的 N 条消息压缩成一条摘要(leaf summary),称为 d1 节点
  3. 摘要层叠压缩:随着对话继续,多条 d1 摘要再压缩成一条更上层的 d2 节点,d3、d4 同理——形成一个 DAG
  4. 上下文组装:每轮对话从 DAG 顶层取摘要 + 最近原始消息,拼成给模型的 prompt
  5. 按需展开:agent 可以调用 lcm_expand / lcm_grep / lcm_describe 工具,翻出摘要背后的原始消息细节

DAG 结构示意

d3(最上层抽象摘要) ╱ ╲ d2a d2b ╱ ╲ ╱ ╲ d1a d1b d1c d1d ╱ ╲ ╱ ╲ ╱ ╲ ╱ ╲ m1-m50 m51-100 ...(原始消息) 最近 64 条原始消息不压缩,保持热状态

# 关键特性

# 实际场景演示

场景一:跨天项目讨论

第 1 天:你发了一份项目的技术文档,让我分析架构设计,给了详细拆解(~100 条消息)。

第 3 天:问了上千条别的之后,你问"那个数据库分库方案确定用 sharding 还是按租户隔离?"

❌ 原生

超出窗口,信息已丢弃。我只能道歉让你重发。

✅ LCM

上下文里自动放了摘要:"讨论了数据库架构,两方案对比:sharding(跨租户查询复杂、运维成本高)vs 按租户隔离(更适合≤100 租户场景),最后推荐后者。"

如果还不够,我调 lcm_expand 展开到原始细节。

场景二:当前对话

你明天接着问:"昨天查的 Lossless Claw 最新版本多少?"

❌ 原生

要么希望 memory 碰运气存了,要么你重说一遍。

✅ LCM

摘要里有:"用户于 2026-07-28 查询 Lossless Claw,4.9k stars,最新兼容 OpenClaw 2026.5.12+,0.10.x 版本。关键功能:DAG 摘要、延迟压缩、session 迁移 CLI"。展开到更细也不在话下。

# 安装与配置

一行安装

openclaw plugins install @martian-engineering/lossless-claw@latest

安装后会自动替换 OpenClaw 的原生上下文引擎。之后重启 gateway 即生效。

推荐起步配置

LCM_FRESH_TAIL_COUNT=64 # 保留最近 64 条原始消息不压缩 LCM_LEAF_CHUNK_TOKENS=20000 # 每 20000 token 触发一次叶压缩 LCM_INCREMENTAL_MAX_DEPTH=1 # 每次压缩后做一层层叠 LCM_CONTEXT_THRESHOLD=0.75 # 上下文用到 75% 时开始压缩 LCM_SUMMARY_MODEL=openai/gpt-5.4-mini # 用便宜模型做摘要

或用插件配置等价的 JSON:

{ "plugins": { "entries": { "lossless-claw": { "enabled": true, "config": { "freshTailCount": 64, "leafChunkTokens": 20000, "incrementalMaxDepth": 1, "contextThreshold": 0.75, "summaryModel": "openai/gpt-5.4-mini" } } } } }

可用命令

# 版本兼容

Lossless Claw 版本最低 OpenClaw 版本说明
≥ 0.10.02026.5.12需要 api.runtime.llm.complete 摘要能力
memory supplement 支持2026.5.28需要 buildMemorySystemPromptAddition
最新配置文档2026.5.22需要 context-engine 运行时能力校验

如果 OpenClaw 版本较低,可以停留在 lossless-claw@0.9.4 并去掉 0.10.x 专属配置。

# 更多资源