重试策略
- 按 HTTP 请求重试,而非按多步骤流程重试。
- 通过仅重试当前步骤来保持顺序。
- 避免重复执行非幂等操作。
- 尝试次数:3
- 最大延迟上限:30000 毫秒
- 抖动:0.1(10%)
- 提供商默认值:
- Telegram 最小延迟:400 毫秒
- Discord 最小延迟:500 毫秒
Discord
Section titled “Discord”- 仅在速率限制错误(HTTP 429)时重试。
- 可用时使用 Discord
retry_after,否则使用指数退避。
Telegram
Section titled “Telegram”- 在瞬态错误时重试(429、超时、连接/重置/关闭、暂时不可用)。
- 可用时使用
retry_after,否则使用指数退避。 - Markdown 解析错误不会重试;会回退为纯文本。
在 ~/.coderclaw/coderclaw.json 中按提供商设置重试策略:
{ channels: { telegram: { retry: { attempts: 3, minDelayMs: 400, maxDelayMs: 30000, jitter: 0.1, }, }, discord: { retry: { attempts: 3, minDelayMs: 500, maxDelayMs: 30000, jitter: 0.1, }, }, },}- 重试按请求应用(消息发送、媒体上传、表情回应、投票、贴纸)。
- 组合流程不会重试已完成的步骤。