OpenClaw 的 2026.7.2-beta 系列(beta.5 到 beta.7)带来了一批不炫技但极其重要的可靠性改进。其中最值得关注的是两大块:持久通道投递(Durable Channel Delivery)让 Telegram、Signal、Slack、QQBot 等 9 个平台的消息在网关重启或本地崩溃后仍然可恢复;会话回溯与分支(Session Rewind & Branching)让对话可以从任意一条消息回退或分叉,跨端无缝切换。这俩东西放在一起,基本覆盖了 Agent 日常运行中最让人头疼的两类故障——消息丢了不知道为什么、对话走歪了回不去。
在此之前站内聊过 OpenClaw 的 Beta 7 耐久性工程(死信重试、崩溃恢复、隔离存储),也聊过 v2026.6.34 的安全加固。今天这篇聚焦在”消息可靠投递”和”对话可回溯”这两个具体能力上,讲清楚它们解决了什么问题、怎么实现的、对运营者的实际意义是什么。
问题一:Agent 说收到了但消息丢了——通道投递的可靠性缺口
做过 Agent 运维的人一定遇到过这个场景:你在 Telegram 上给 Agent 发了一条指令,Agent 显示”处理中”,然后网关因为某个原因重启了——消息就永远丢了。Agent 不会主动告诉你”刚才那条我没收到”,你也无从判断是模型慢了还是消息根本就没进队列。更糟的情况是,Agent 已经处理完了、回复也发出了,但网关在发出去之前崩了,回复丢了,用户以为 Agent 没干活。
这两个问题在技术上有统一的名字:入站消息丢失和出站响应丢失。在 OpenClaw 之前的架构里,消息在通道里是”发完即忘”的模式——到达了就被消费,没到达就等于没发生。这在单次交互的场景下可用,但在 Agent 长时间连续运行的场景下,任何一次重启都可能变成一个”黑箱”。
这和 证据包 记录 Agent 每一步操作的思路是同一个问题:没有持久化记录的消息通道,就像没有日志的业务系统——出了问题只能猜。
解决方案:共享 Ingress Drain + 死信恢复
OpenClaw Beta 7 的持久通道投递机制做了两件事。第一,所有入站消息在经过通道到达网关后,不是立即被消费,而是先进入一个”共享入站排水池(Shared Ingress Drain)”。这个排水池在网关和本地进程之间有持久化存储,消息在被成功处理并确认之前不会从池中删除。网关重启了,重启后排水池里还没处理完的消息会重新被接管。
第二,出站方向引入了”死信恢复(Dead-Letter Recovery)”机制。Agent 生成的回复在发送到通道之前先写入持久化队列。如果网关在发送过程中崩溃,恢复后死信队列里的消息会被重新投递。同时,确认机制保证了幂等性——同一条消息不会被重复发送两次。
覆盖的平台范围相当广:Telegram、Signal、Slack、QQBot、Twitch、Synology Chat、Tlon、IRC、Zalo。对国内用户来说,QQBot 的支持尤其重要。这意味着在 QQ 机器人这种本身就容易断线的通道上,消息可靠性有了系统级的保障。
这套设计和 失败升级规则 的思路是互补的:通道投递保证消息不丢,失败升级规则保证丢不掉的消息里属于异常的那些能被正确处理。
问题二:聊着聊着走歪了——会话的不可逆性
Agent 对话有一个反直觉的特点:你没法”撤销”。跟人聊天说错话了可以解释、纠偏,跟 Agent 聊天一旦某条回复引入了错误上下文,后面所有轮次都可能被带偏。传统做法是清空上下文重新开始,但那样之前积累的有用信息也全丢了。
OpenClaw Beta 7 的会话回溯机制给出了一个更优雅的解法:对话可以从任意一条消息”回退”(rewind),或者从某个节点”分叉”(fork)出一条新的分支。分支之间独立演化,可以在 Web 端和 Native App 端无缝切换。
这不是简单的”回到某个时间点”。它是一个完整的会话历史操作模型:回退后上游的 Codex 会话也会同步分叉;分支间的排队消息互不干扰(分支安全的排队发送);分叉后原分支的图片提示词会被恢复;过期的面板写入会被拒绝(防止不同分支互相覆盖)。
对运维场景来说,这可能比刚才的通道投递更有实际意义。比如 回放对照 里提到的验证流程——Agent 执行完一组操作后需要回放检查。有了分支能力,验证工作可以在分叉出的独立会话里完成,不影响主线对话的上下文。
还有一批配套的可靠性优化
Beta 7 的可靠性改进不止通道和会话这两块。持久化数据存储也有了质的提升:引入隔离存储(Quarantine Store)在数据库损坏时保护已持久化的数据;SQLite 快照支持崩溃恢复;文件系统发布支持崩溃持久化;Schema 升级时的数据丢失被拒绝执行;Rollback-Writer 快照恢复。
此外还有一批故障恢复类修复:流进度处理失败不再导致 Agent 静默停止;模型 Provider 崩溃后自动切换备用方案;stdio 通道崩溃后自动恢复;长时间运行 Agent 能分辨真正卡住和模型仍在计算中的状态。这些细节单独拎出来都不起眼,但放在一起就是一套从进程到存储到传输的全链路可靠性方案。
结合 知识库巡检 的经验来看,Agent 系统的可靠性跟知识库陈旧内容的巡检一样,不是做一次就完了,而是需要持续监控和定期验证。
老达点评
持久通道投递和会话回溯这两个能力,放在一起看有一个共同的指向:OpenClaw 正在把”Agent 跑崩了怎么办”从一个运维难题变成平台特性。消息丢了能从排水池里捞回来,对话走歪了能从节点分叉回去——这些事情在以前的 Agent 框架里要么不处理,要么靠运维人员手工救火。现在变成了内置能力,Agent 运维从”祈祷别崩”升级成”崩了也能恢复”,这是一个很关键的成熟度跃迁。下一阶段值得关注的是:这些可靠性能力能不能变成可观测的指标,让运营者一眼就能看到通道投递成功率、死信队列积压量、分支活跃度——光有机制不够,还得有仪表盘。
总结
OpenClaw 2026.7.2-beta 通过持久通道投递(共享入站排水池 + 死信恢复)覆盖 9 大平台的消息可靠性,通过会话回溯与分支实现对话的可逆性和可分支性。配合崩溃恢复、流进度保护、Provider 故障切换,形成了一套从网络到存储到进程的全链路可靠性方案。对 Agent 运营者来说,这两项能力把”消息丢了””对话歪了”从意外变成了可处理的事件。