OpenClaw从入门到应用——Agent:重试机制
通过OpenClaw实现副业收入:《OpenClaw赚钱实录:从“养龙虾“到可持续变现的实践指南》
重试策略
目标
- 按 HTTP 请求进行重试,而不是按多步骤流程。
- 通过仅重试当前步骤来保持顺序。
- 避免重复执行非幂等操作。
默认值
- 尝试次数:3 次
- 最大延迟上限:30000 毫秒
- 抖动(Jitter):0.1(10%)
- 各提供方的默认值:
- Telegram 最小延迟:400 毫秒
- Discord 最小延迟:500 毫秒
行为
Discord
- 仅在限流错误(HTTP 429)时重试。
- 如果可用,使用 Discord 提供的
retry_after字段;否则使用指数退避算法。
Telegram
- 在瞬时错误时重试(429、超时、连接/重置/关闭、暂时不可用)。
- 如果可用,使用
retry_after字段;否则使用指数退避算法。 - Markdown 解析错误不会重试;会回退到纯文本发送。
配置
在~/.openclaw/openclaw.json中为每个提供方设置重试策略:
{ channels: { telegram: { retry: { attempts: 3, minDelayMs: 400, maxDelayMs: 30000, jitter: 0.1, }, }, discord: { retry: { attempts: 3, minDelayMs: 500, maxDelayMs: 30000, jitter: 0.1, }, }, }, }注意事项
- 重试适用于每个独立请求(如发送消息、上传媒体、添加反应、创建投票、发送贴纸等)。
- 复合流程不会对已完成的步骤进行重试。
`
