实践openclaw-concepts
Message lifecycle refactor · OpenClaw — 一次消息生命周期重构,解决重启丢消息的可靠性难题
一次消息生命周期重构,解决重启丢消息的可靠性难题
2026-07-27原文
本文为要点摘要,完整细节以原文为准。
- 核心不变式:核心决定消息应存在后,发送意图必须先持久化再调用平台,平台回执必须在成功后提交,实现至少一次恢复。
- 对 agent harness 设计含义:消息发送的持久化与平台调用分离,确保崩溃后能恢复发送状态。
- 引入
sendDurableMessageBatch封装渲染、发送、提交/失败步骤,返回sent/suppressed/partial_failed/failed四种结果。- 对 agent harness 设计含义:标准化发送结果枚举,让上层逻辑能根据结果决定重试或降级。
- 接收上下文通过
ack()/nack(error)和可配置的确认策略(如after_durable_send),控制何时确认事件已处理。- 对 agent harness 设计含义:将确认时机与下游发送绑定,避免确认后崩溃导致回复丢失。