الأهداف
- إعادة المحاولة لكل طلب HTTP، وليس لكل تدفق متعدد الخطوات.
- الحفاظ على الترتيب من خلال إعادة محاولة الخطوة الحالية فقط.
- تجنب تكرار العمليات غير الآمنة للتكرار.
الإعدادات الافتراضية
السلوك
موفرو النماذج
- يتيح OpenClaw لحزم SDK الخاصة بالموفرين معالجة عمليات إعادة المحاولة القصيرة المعتادة.
- بالنسبة إلى حزم SDK المستندة إلى Stainless، مثل Anthropic وOpenAI، يمكن أن تتضمن الاستجابات القابلة لإعادة المحاولة (
408و409و429و5xx) القيمةretry-after-msأوretry-after. عندما تتجاوز مدة الانتظار 60 ثانية، يضيف OpenClaw الترويسةx-should-retry: falseلكي تعرض حزمة SDK الخطأ فورًا، مما يتيح لتجاوز فشل النموذج الانتقال إلى ملف تعريف مصادقة آخر أو نموذج احتياطي. - تجاوز الحد باستخدام
OPENCLAW_SDK_RETRY_MAX_WAIT_SECONDS=<seconds>. اضبطه على0أوfalseأوoffأوnoneأوdisabledللسماح لحزم SDK بالتقيد داخليًا بفترات الانتظار الطويلة المحددة فيRetry-After.
Discord
- يعيد المحاولة عند حدوث أخطاء حد المعدل (HTTP 429)، وانتهاء مهلة الطلب، واستجابات HTTP 5xx، وإخفاقات النقل المؤقتة مثل إخفاقات البحث في DNS، وإعادة ضبط الاتصال، وإغلاق المقبس، وإخفاقات الجلب.
- يستخدم Discord القيمة
retry_afterعند توفرها، وإلا فيستخدم التراجع الأُسّي.
Telegram
- يعيد المحاولة عند حدوث أخطاء مؤقتة (429، وانتهاء المهلة، وفشل الاتصال أو إعادة ضبطه أو إغلاقه، وعدم التوفر مؤقتًا).
- يستخدم القيمة
retry_afterعند توفرها، وإلا فيستخدم التراجع الأُسّي. - لا تُعاد المحاولة عند حدوث أخطاء في تحليل HTML/Markdown؛ بل يُستخدم النص العادي بديلًا في المحاولة الأولى.
الإعداد
اضبط سياسة إعادة المحاولة لكل موفر في~/.openclaw/openclaw.json:
ملاحظات
- تُطبق عمليات إعادة المحاولة لكل طلب (إرسال رسالة، أو رفع وسائط، أو إضافة تفاعل، أو إنشاء استطلاع، أو إرسال ملصق).
- لا تعيد التدفقات المركبة محاولة الخطوات المكتملة.