メッセージと配信
リトライポリシー
目標
- マルチステップフローではなく、HTTPリクエストごとにリトライする。
- 現在のステップのみをリトライすることで順序を保持する。
- べき等でない操作の重複を避ける。
デフォルト設定
- 試行回数: 3
- 最大遅延上限: 30000 ms
- ジッター: 0.1 (10 パーセント)
- プロバイダー別デフォルト:
- Telegram 最小遅延: 400 ms
- Discord 最小遅延: 500 ms
動作
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,
},
},
},
}
注意点
- リトライはリクエストごと (メッセージ送信、メディアアップロード、リアクション、投票、ステッカー) に適用されます。
- 複合フローでは、完了したステップはリトライされません。