मुख्य सामग्री पर जाएं

मॉडल फॉलबैक

OpenClaw विफलताओं को दो चरणों में संभालता है:
  1. वर्तमान प्रदाता के भीतर प्रमाणीकरण प्रोफ़ाइल रोटेशन
  2. agents.defaults.model.fallbacks में अगले मॉडल पर मॉडल फॉलबैक
यह दस्तावेज़ रनटाइम नियमों और उन्हें समर्थित करने वाले डेटा की व्याख्या करता है।

प्रमाणीकरण भंडारण (कुंजियाँ + OAuth)

OpenClaw API कुंजियों और OAuth टोकनों—दोनों के लिए प्रमाणीकरण प्रोफ़ाइलों का उपयोग करता है।
  • सीक्रेट्स ~/.openclaw/agents/<agentId>/agent/auth-profiles.json में रहते हैं (लीगेसी: ~/.openclaw/agent/auth-profiles.json)।
  • विन्यास auth.profiles / auth.order केवल मेटाडेटा + रूटिंग के लिए हैं (कोई सीक्रेट नहीं)।
  • लीगेसी केवल-इम्पोर्ट OAuth फ़ाइल: ~/.openclaw/credentials/oauth.json (पहले उपयोग पर auth-profiles.json में आयात होती है)।
अधिक विवरण: /concepts/oauth क्रेडेंशियल प्रकार:
  • type: "api_key"{ provider, key }
    1. type: "oauth"{ provider, access, refresh, expires, email? 44. } (+ कुछ providers के लिए projectId/enterpriseUrl)

प्रोफ़ाइल आईडी

OAuth लॉगिन अलग-अलग प्रोफ़ाइल बनाते हैं ताकि कई खाते सह-अस्तित्व में रह सकें।
  • डिफ़ॉल्ट: जब ईमेल उपलब्ध न हो तो provider:default
  • ईमेल के साथ OAuth: provider:<email> (उदाहरण के लिए google-antigravity:[email protected])।
प्रोफ़ाइलें profiles के अंतर्गत ~/.openclaw/agents/<agentId>/agent/auth-profiles.json में रहती हैं।

रोटेशन क्रम

जब किसी प्रदाता के पास कई प्रोफ़ाइलें होती हैं, OpenClaw इस तरह क्रम चुनता है:
  1. स्पष्ट विन्यास: auth.order[provider] (यदि सेट हो)।
  2. विन्यस्त प्रोफ़ाइलें: auth.profiles (प्रदाता के अनुसार फ़िल्टर की गई)।
  3. संग्रहीत प्रोफ़ाइलें: प्रदाता के लिए auth-profiles.json में प्रविष्टियाँ।
यदि कोई स्पष्ट क्रम विन्यस्त नहीं है, तो OpenClaw राउंड‑रॉबिन क्रम का उपयोग करता है:
  • प्राथमिक कुंजी: प्रोफ़ाइल प्रकार (API कुंजियों से पहले OAuth)।
  • द्वितीयक कुंजी: usageStats.lastUsed (प्रत्येक प्रकार के भीतर सबसे पुरानी पहले)।
  • कूलडाउन/अक्षम प्रोफ़ाइलें अंत में ले जाई जाती हैं, और सबसे निकट समाप्ति के क्रम में रखी जाती हैं।

सत्र स्थिरता (कैश‑अनुकूल)

  1. OpenClaw चुने गए auth प्रोफ़ाइल को प्रति सत्र पिन करता है ताकि provider caches warm रहें।
  2. यह हर रिक्वेस्ट पर रोटेट नहीं करता। 47. पिन किया गया प्रोफ़ाइल तब तक पुन: उपयोग होता है जब तक:
  • सत्र रीसेट न हो (/new / /reset)
  • कोई कम्पैक्शन पूर्ण न हो जाए (कम्पैक्शन काउंट बढ़ता है)
  • प्रोफ़ाइल कूलडाउन/अक्षम न हो
/model …@<profileId> के माध्यम से मैनुअल चयन उस सत्र के लिए उपयोगकर्ता ओवरराइड सेट करता है और नया सत्र शुरू होने तक स्वतः रोटेट नहीं होता।
  1. Auto‑pinned प्रोफ़ाइल (सत्र राउटर द्वारा चुने गए) को preference माना जाता है: उन्हें पहले आज़माया जाता है, लेकिन rate limits/timeouts पर OpenClaw किसी अन्य प्रोफ़ाइल पर रोटेट कर सकता है।
  2. User‑pinned प्रोफ़ाइल उसी प्रोफ़ाइल पर लॉक रहते हैं; यदि वह विफल हो और model fallbacks कॉन्फ़िगर हों, तो OpenClaw प्रोफ़ाइल बदलने के बजाय अगले मॉडल पर जाता है।

OAuth “गुम हुआ” क्यों दिख सकता है

  1. यदि आपके पास एक ही provider के लिए OAuth प्रोफ़ाइल और API key प्रोफ़ाइल दोनों हैं, तो पिन न होने पर round‑robin संदेशों के बीच उनके बीच स्विच कर सकता है। 1. किसी एक प्रोफ़ाइल को मजबूरन उपयोग करने के लिए:
  • auth.order[provider] = ["provider:profileId"] से पिन करें, या
  • प्रोफ़ाइल ओवरराइड के साथ /model … के माध्यम से प्रति‑सत्र ओवरराइड का उपयोग करें (जब आपके UI/चैट सतह द्वारा समर्थित हो)।

कूलडाउन

  1. जब किसी प्रोफ़ाइल में auth/रेट‑लिमिट त्रुटियों (या ऐसे टाइमआउट जो रेट लिमिट जैसे लगें) के कारण विफलता होती है, तो OpenClaw उसे कूलडाउन में चिह्नित करता है और अगली प्रोफ़ाइल पर चला जाता है।
  2. फ़ॉर्मैट/अमान्य‑रिक्वेस्ट त्रुटियाँ (उदाहरण के लिए Cloud Code Assist टूल कॉल ID वैलिडेशन विफलताएँ) को भी फेलओवर‑योग्य माना जाता है और वही कूलडाउन लागू होते हैं।
कूलडाउन एक्सपोनेंशियल बैकऑफ़ का उपयोग करते हैं:
  • 1 मिनट
  • 5 मिनट
  • 25 मिनट
  • 1 घंटा (सीमा)
स्थिति usageStats के अंतर्गत auth-profiles.json में संग्रहीत होती है:
{
  "usageStats": {
    "provider:profile": {
      "lastUsed": 1736160000000,
      "cooldownUntil": 1736160600000,
      "errorCount": 2
    }
  }
}

बिलिंग अक्षमकरण

  1. बिलिंग/क्रेडिट विफलताएँ (उदाहरण के लिए “insufficient credits” / “credit balance too low”) को फेलओवर‑योग्य माना जाता है, लेकिन वे आम तौर पर अस्थायी नहीं होतीं। 5. छोटे कूलडाउन के बजाय, OpenClaw प्रोफ़ाइल को disabled के रूप में चिह्नित करता है (लंबे बैकऑफ़ के साथ) और अगली प्रोफ़ाइल/प्रोवाइडर पर रोटेट करता है।
स्थिति auth-profiles.json में संग्रहीत होती है:
{
  "usageStats": {
    "provider:profile": {
      "disabledUntil": 1736178000000,
      "disabledReason": "billing"
    }
  }
}
डिफ़ॉल्ट्स:
  • बिलिंग बैकऑफ़ 5 घंटे से शुरू होता है, प्रत्येक बिलिंग विफलता पर दोगुना होता है, और 24 घंटे पर सीमित होता है।
  • यदि प्रोफ़ाइल 24 घंटे तक विफल न हुई हो तो बैकऑफ़ काउंटर रीसेट हो जाते हैं (विन्यस्त करने योग्य)।

मॉडल फॉलबैक

  1. यदि किसी प्रोवाइडर की सभी प्रोफ़ाइलें विफल हो जाती हैं, तो OpenClaw agents.defaults.model.fallbacks में अगले मॉडल पर चला जाता है। 7. यह auth विफलताओं, रेट लिमिट्स, और उन टाइमआउट्स पर लागू होता है जिनमें प्रोफ़ाइल रोटेशन समाप्त हो गया हो (अन्य त्रुटियाँ फॉलबैक को आगे नहीं बढ़ातीं)।
जब कोई रन मॉडल ओवरराइड (hooks या CLI) के साथ शुरू होता है, तब भी किसी भी विन्यस्त फॉलबैक को आज़माने के बाद फॉलबैक agents.defaults.model.primary पर समाप्त होते हैं।

संबंधित विन्यास

इनके लिए Gateway configuration देखें:
  • auth.profiles / auth.order
  • auth.cooldowns.billingBackoffHours / auth.cooldowns.billingBackoffHoursByProvider
  • auth.cooldowns.billingMaxHours / auth.cooldowns.failureWindowHours
  • agents.defaults.model.primary / agents.defaults.model.fallbacks
  • agents.defaults.imageModel रूटिंग
व्यापक मॉडल चयन और फॉलबैक अवलोकन के लिए Models देखें।