Lossless-Claw 是由 Martian-Engineering 团队开发的一款开源 OpenClaw 插件。它基于 LCM(Lossless Context Management)论文思想,旨在彻底解决 AI 代理在长对话中因上下文窗口限制而“遗忘”历史信息的问题。传统的 AI 代理(包括 OpenClaw 默认机制)在对话过长时,通常采用滑动窗口截断策略,直接丢弃最旧的消息。Lossless-Claw 则引入了一种基于 DAG(有向无环图)的摘要系统,将历史消息持久化存储并智能压缩,确保代理在有限的 Token 预算内,既能保持对全局历史的“记忆”,又能快速检索到任何细节。
- 无损持久化:将对话中的每一条原始消息(包括工具调用结果)持久化存储到本地 SQLite 数据库,永不丢失。
- DAG 摘要压缩:当对话长度触及上下文阈值时,自动将旧消息块进行 LLM 摘要,并将摘要进一步压缩为更高层级的节点,形成多层级的 DAG 结构,有效减少送入模型的 Token 数量。
- 智能上下文组装:在每轮对话中,自动组装上下文,包含最近的原始消息(Fresh Tail)和代表历史的高层级摘要,确保模型拥有连贯的“短期记忆”和准确的“长期记忆”。
- 历史检索工具:为代理提供
lcm_grep(全文搜索)、lcm_describe(查看摘要详情)、lcm_expand(展开摘要查看原文)等工具,使代理能够主动搜索和回溯被压缩的历史细节。 - 大文件拦截:自动拦截超过阈值(如 25K Token)的大文件内容,将其存储为独立资产并生成摘要,避免单条消息撑爆上下文窗口。
前提条件
- 已安装并运行 OpenClaw(支持插件上下文引擎插槽的版本,如 2026.3.7+)。
- Node.js 22+。
安装步骤
- 使用 OpenClaw 插件安装器安装(推荐):
openclaw plugins install @martian-engineering/lossless-claw该命令会自动注册插件、启用插件,并设置
contextEngine插槽指向lossless-claw。 - 重启 OpenClaw 服务以使配置生效。
配置说明
配置主要通过环境变量或 OpenClaw 的 openclaw.json文件进行。关键配置项包括:
- LCM_FRESH_TAIL_COUNT:保护最近 N 条消息不被压缩(默认 32)。
- LCM_CONTEXT_THRESHOLD:触发压缩的上下文占用比例(默认 0.75,即 75%)。
- LCM_SUMMARY_MODEL:用于生成摘要的模型(默认继承会话模型,建议使用成本较低的中等模型如
claude-haiku)。 - LCM_INCREMENTAL_MAX_DEPTH:摘要压缩深度(-1 表示无限深度,0 表示仅做叶子层摘要)。
安装并配置完成后,Lossless-Claw 将在后台自动运行,无需用户手动干预。其工作流程如下:
- 自动检测:OpenClaw 每处理一轮对话,Lossless-Claw 会检查当前上下文长度。
- 触发压缩:当长度超过
窗口大小 * 阈值时,自动启动压缩流程,将最旧的消息块发送给 LLM 生成摘要。 - 提供服务:在后续对话中,当代理需要查询历史细节(如“我们之前讨论的第三个方案是什么?”),代理可以主动调用
lcm_grep工具进行搜索,系统会从数据库中召回相关消息或摘要,并动态展开注入上下文。
用户在与代理交互时,会直观感受到代理的“记忆力”显著增强,即使对话进行了数千轮,代理依然能准确引用几天前讨论的细节。
实例 1:长期软件项目开发辅助
场景:开发者与 OpenClaw 代理协作进行一个为期数周的复杂项目重构。期间讨论了数十个架构决策、修改了上百个文件。
应用:使用 Lossless-Claw 后,当开发者在第 15 天询问“当初为什么决定将缓存策略从 Redis 改为 Memcached?”时,代理不会回答“我不记得了”,而是会通过检索 DAG,找到两周前的相关对话片段,准确复现当时的权衡理由,甚至指出具体是哪个文件的性能测试数据导致了这一决策。
实例 2:学术研究与文献整理
场景:研究员将上百篇论文的摘要和核心观点逐条输入给代理,要求其帮助撰写综述。
应用:Lossless-Claw 将每篇论文的信息存储为叶子节点,并自动生成按主题分类的层级摘要(如“神经网络优化方法综述”节点下包含“梯度下降优化器”、“激活函数改进”等子节点)。当研究员要求“列举所有关于 Transformer 变体的论文”时,代理能迅速从压缩的摘要中定位到相关簇,并展开列出具体的论文标题和作者。
实例 3:客户支持与知识库查询
场景:企业使用 OpenClaw 作为内部客服机器人,知识库包含数万条产品文档和历史工单。
应用:Lossless-Claw 确保机器人在处理当前用户问题时,能始终记住该用户过去 3 个月的所有交互记录(如已尝试的解决方案、设备型号),同时不会因为载入全部历史而超载。当用户提到“上次那个方法没用”时,机器人能精准关联到具体的工单 ID 和当时的操作日志。
项目仓库:https://github.com/Martian-Engineering/lossless-claw
开源协议:MIT License
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/246607.html