概述

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 }
    }
  }
}

相关页面