概述
OpenClaw 的重试策略针对出站 provider 调用,按 HTTP 请求粒度重试(而非整个多步骤流程),保持顺序性,避免重复非幂等操作。
核心要点
默认参数:
- 尝试次数:3
- 最大延迟上限:30000 ms
- Jitter:0.1(10%)
- Telegram 最小延迟:400 ms
- Discord 最小延迟:500 ms
模型 provider 重试:
- 让 provider SDK 处理常规短重试
- 对 Stainless-based SDK(Anthropic、OpenAI),当
retry-after超过 60 秒时,注入x-should-retry: false让 SDK 立即报错,触发模型 failover - 可通过
OPENCLAW_SDK_RETRY_MAX_WAIT_SECONDS覆盖上限
Discord 重试触发条件:HTTP 429、请求超时、HTTP 5xx、DNS 失败、连接重置、socket 关闭
Telegram 重试触发条件:429、超时、connect/reset/closed、temporarily unavailable;Markdown 解析错误不重试,直接降级为纯文本
重试范围:每个请求(消息发送、媒体上传、reaction、poll、sticker),复合流程不重试已完成的步骤。
配置/使用
{
channels: {
telegram: {
retry: { attempts: 3, minDelayMs: 400, maxDelayMs: 30000, jitter: 0.1 }
},
discord: {
retry: { attempts: 3, minDelayMs: 500, maxDelayMs: 30000, jitter: 0.1 }
}
}
}相关页面
- model-failover - 模型故障转移机制
- queue - 命令队列与消息处理
- model-providers - 模型 provider 配置