OpenClaw 部署指南:https://www.azman.cn/

平台永久地址:www.azman.cn/

温馨提示: 本站内容精选自优质公开渠道,仅供分享与交流。我们尊重原创,如涉及版权问题,请权利方及时与我们联系,我们将在核实后第一时间处理。感谢您的理解与支持!

一个插件,让OpenClaw的上下文压缩不再丢消息

大家好,我是青澈君,一个喜欢捣鼓openclaw的80后,顺便学学Vibe Coding,也在坚持写日记。

一个插件,让OpenClaw的上下文压缩不再丢消息

我的 OpenClaw 上跑着 16 个 agent,靠一套三层 memory 文件体系来维持记忆。用了将近两个月,整体能用——跨会话的决策不会丢,新会话开起来能接上之前的工作。

之前也分享了我在用的三层记忆系统openclaw记忆越塞越多,我花一晚上给龙虾们做了大瘦身

但有一个问题一直悬着:对话内的记忆。

小开(dev agent)写代码的时候,经常一个会话聊 100 多轮。聊到后半段,偶尔会出现和前面讨论过的约定不一致的情况。不是每次都这样,但发生的时候挺烦——你得重新说一遍,或者翻聊天记录把上下文补回去。

这不是 agent 的问题,是上下文窗口的物理限制。

先说清楚上下文窗口这件事

所有大模型处理对话,底层是把历史消息拼成一段长文本送去推理。这段文本有大小上限,叫”上下文窗口”。Claude 大概 20 万 token,听起来宽裕,但工程类对话每轮都在讨论代码和错误日志,100 轮左右就能撑到边界。

超出部分怎么办?OpenClaw 的默认策略是砍掉最旧的消息。直接砍,没有备份。这就是对话内遗忘的根源。

我的三层 memory 体系解决的是跨会话记忆(下次开新对话还记得),但对话内这个窗口限制,它绕不过去。所以当我发现有个插件能从底层解决这个问题的时候,觉得值得试一下。

以前的应对:三层 memory 文件

我很早就搭了一套外挂记忆系统,基于 markdown 文件,16 个 agent 共享读写,分三层:

MEMORY.md(索引层): ≤ 2KB,每次新会话自动注入。只放 topic 文件指针和红线规则。相当于一张目录卡片。

topic 文件(知识层): 按项目一个文件,≤ 3KB,存提炼后的技术决策和架构方案。跨日累积更新,过时信息直接替换。

daily 日记(日志层): 按天一个文件,记当天操作的精炼摘要。

工作流:新会话开始 → 读 MEMORY.md + 今天/昨天 daily → 按需读 topic → 干活。关键节点手动 /save 落盘。

这套系统管住了”跨会话”的遗忘——下次开新对话,助理还记得上次的决策。但”对话内”的遗忘管不了。上下文窗口满了就砍,文件体系绕不过去。

而且这套体系自己也在出问题。我后来拉了一次数据:47 天 47 个 daily 文件,39 个超出 2KB 限制,最胖的膨胀到 14KB——规定上限的 7 倍。更离谱的是,memory_search 因为本地依赖缺失,其实一直是坏的。助理号称”先查 memory 再回答”,实际上搜不了,全靠开会话时硬读几个文件碰运气。

一套用来对抗遗忘的系统,自己先乱了。

LCM 是什么

然后我发现了「LCM」——Lossless Context Management(无损上下文管理),「Martian Engineering」做成了「OpenClaw」插件:https://github.com/Martian-Engineering/lossless-claw 。

核心机制用一个比方讲清楚:

你有一张书桌(上下文窗口),一直往上堆笔记(对话消息)。以前桌子满了,把最底下的笔记撕掉扔垃圾桶。LCM 的做法是:把最底下一摞笔记收起来,写一张目录卡片概括要点放回桌上,笔记本身归档到旁边的柜子(SQLite 数据库)里。目录卡片多了,再合并成更高层的卡片。层层嵌套,越早的越”浓缩”,但从来不删。

桌子永远不会溢出,柜子里的东西随时能翻。

一个插件,让OpenClaw的上下文压缩不再丢消息

怎么装

一条命令:

openclaw plugins install @martian-engineering/lossless-claw
一个插件,让OpenClaw的上下文压缩不再丢消息

1 分钟装完,重启即生效 。两个关键默认值:上下文满 75% 自动触发压缩,最近 32 条消息保持原文。摘要模型用 Sonnet,便宜够用。数据存本机 SQLite,不走云端。

装完之后,发生了什么

我直接问小皮(主助理),它给了一个清楚的对比:

以前聊 50 轮,上下文快满了,OpenClaw 直接砍掉最早的 30 轮,真没了。现在 LCM 把最早的 20 轮压成摘要,塞回上下文顶部,原文存进数据库。你要翻旧账,用 lcm_grep 搜数据库找原文。永远不丢消息。

那还需要 /save 吗?

还需要,但场景变了。LCM 管”同一对话内不忘”,你一 /new 开新会话,LCM 的摘要不会自动注入。新会话靠什么恢复?还是靠 memory 文件。

分工:LCM → 对话内记忆(自动)。Memory 文件 → 跨会话记忆(手动 /save)。

变化是 /save 从”焦虑式落盘”变成了”从容式落盘”——过程细节 LCM 自动留底,/save 只挑跨会话有价值的结论。

实际感受到的变化:长对话不再突然失忆,/save 压力变小,新会话能用 lcm_grep 翻旧账,16 个助理全覆盖。

LCM 保证聊着不忘,Memory 保证下次还记得。 两个加起来,才算把记忆配齐了。

装完不是终点:配套改造

插件装好只是第一步。底层机制变了,上层的规则和流程也得跟着调。我让小皮做了一次全面体检,发现六个问题,逐一修了:

修复 memory_search。 搜索引擎从坏掉的本地模型切到远程 Gemini embedding,一行配置,memory 文件终于能正常检索了。

daily 日记减负。 上限从 2KB 降到 1KB,从”操作日志”变成”决策清单”,只记结论。历史 41 个超限文件(276KB)全部归档到 _archive

清理冗余快照。 memory 目录下 10 个会话快照文件,LCM 已替代这个功能,全部归档。

上下文管理规则松绑。 原来”超 60% 就赶紧落盘 + 建议重开”是防御策略,现在 LCM 在 75% 自动处理,取消过度防御的规则,不再频繁打断。

落盘纪律精简。 新增核心原则:”LCM 有的不重复写”。调试过程、中间方案对比全部交给 LCM,/save 只写决策和状态变更。

会话恢复加兜底。 开场流程新增一步:读完 memory 文件后如果信息不够,用 lcm_grep 搜近期对话补充。偶尔忘了落盘也不至于断档。

改造后的记忆架构:

  1. LCM(自动): 每条消息存 SQLite,上下文满 75% 自动压缩,不丢原文
  2. MEMORY.md(≤ 2KB): 索引 + 红线规则,每次新会话自动注入
  3. topic 文件(≤ 3KB): 长期知识沉淀,决策变更时才更新
  4. daily 日记(≤ 1KB): 每天的决策清单,只记结论
  5. .learnings: 踩坑经验,独立存放
一个插件,让OpenClaw的上下文压缩不再丢消息

从”怕丢所以多记”变成了”LCM 兜底所以只记精华”。架构没变,每层变薄了。

关于文件大小限制

有了 LCM 之后,memory 文件的大小限制还有必要吗?

有,但理由变了。 以前限大小是怕丢——文件越大,吃上下文越多,越早触发压缩丢消息。现在限大小是为了效率——LCM 解决了”丢”的问题,但上下文窗口大小没变。每次新会话要加载这些文件,文件越瘦,留给正事的空间越多。

1KB 的 daily 和 14KB 的 daily,对模型来说就是能多聊十几轮正事还是不能的区别。LCM 不增加窗口大小,只是让压缩不再丢消息。窗口还是寸土寸金。

局限

摘要质量取决于模型。 我用 Sonnet 没问题,但用太便宜的模型可能丢要点。原文在数据库里不会真丢,但 agent 需要主动展开才能找回。

跨 agent 记忆共享仍靠 memory 文件。 LCM 按会话存储,小开和小文的记录是独立的。跨 agent 信息同步还是得手动落盘或通过主助理协调。

数据库会持续增长。 每条消息都存,长期下来需要关注 lcm.db 的大小,可能半年后需要归档策略。

最后

记忆是 AI 助理的基础设施,基础设施出问题,上面所有能力都打折扣。我花了将近两个月搭 memory 文件体系来对抗遗忘,最后发现人工维护的记忆系统自己也会乱。

LCM 从底层解决了”对话内遗忘”。装上之后不只是多了个插件,而是整个记忆体系的运转逻辑变了:从防御式的”赶紧记”变成了从容的”只记精华”。

但 LCM 不是万能的,它管对话内,memory 文件管跨会话,缺一不可。真正让记忆系统好用的,不是某一个工具,而是搞清楚每一层该存什么、不该存什么。

如果你也在跑 OpenClaw,尤其是多 agent 场景,可以试试 lossless-claw。一条命令,3 分钟。装完记得顺便体检一下你的记忆体系——可能有些问题,借这个机会一起修了。

你的 agent 聊到第几轮开始”失忆”?欢迎留言交流。

一个插件,让OpenClaw的上下文压缩不再丢消息

给TA打赏
共{{data.count}}人
人已打赏
教程与学习

从7小时到50分钟:我的OpenClaw虚拟团队改造实录 (长文慎入)

2026-3-22 15:42:34

教程与学习

OpenClaw 支持连接 Chrome 内置 Dev MCP | Claude 默认支持 100万 Token、Codex 桌面自动化升级

2026-3-22 23:21:20

版权与安全声明:本文内容来源于第三方平台,相关素材的原始链接及标识均与原出处无关。我们致力于传递有价值的信息,若无意中侵犯了您的权益,请联系我们删除或调整。联系6065565#qq.com(请替换#为@)

网络信息繁杂,请读者自行甄别内容真实性,谨防受骗。本站目前无任何收费项目,官方福利群https://t.me/

官方福利群: https://t.me/

觉得内容不错?欢迎分享给好友,复制链接使用浏览器打开,让更多朋友看到!

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索