> ## Documentation Index
> Fetch the complete documentation index at: https://openclaw.veiseule.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# मॉडल फॉलबैक

# मॉडल फॉलबैक

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](/concepts/oauth)

क्रेडेंशियल प्रकार:

* `type: "api_key"` → `{ provider, key }`
* 43. `type: "oauth"` → `{ provider, access, refresh, expires, email? 44. }` (+ कुछ providers के लिए `projectId`/`enterpriseUrl`)

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

OAuth लॉगिन अलग-अलग प्रोफ़ाइल बनाते हैं ताकि कई खाते सह-अस्तित्व में रह सकें।

* डिफ़ॉल्ट: जब ईमेल उपलब्ध न हो तो `provider:default`।
* ईमेल के साथ OAuth: `provider:<email>` (उदाहरण के लिए `google-antigravity:user@gmail.com`)।

प्रोफ़ाइलें `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` (प्रत्येक प्रकार के भीतर सबसे पुरानी पहले)।
* **कूलडाउन/अक्षम प्रोफ़ाइलें** अंत में ले जाई जाती हैं, और सबसे निकट समाप्ति के क्रम में रखी जाती हैं।

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

45. OpenClaw **चुने गए auth प्रोफ़ाइल को प्रति सत्र पिन करता है** ताकि provider caches warm रहें।
46. यह **हर रिक्वेस्ट पर रोटेट नहीं करता**। 47. पिन किया गया प्रोफ़ाइल तब तक पुन: उपयोग होता है जब तक:

* सत्र रीसेट न हो (`/new` / `/reset`)
* कोई कम्पैक्शन पूर्ण न हो जाए (कम्पैक्शन काउंट बढ़ता है)
* प्रोफ़ाइल कूलडाउन/अक्षम न हो

`/model …@<profileId>` के माध्यम से मैनुअल चयन उस सत्र के लिए **उपयोगकर्ता ओवरराइड** सेट करता है
और नया सत्र शुरू होने तक स्वतः रोटेट नहीं होता।

48. Auto‑pinned प्रोफ़ाइल (सत्र राउटर द्वारा चुने गए) को **preference** माना जाता है:
    उन्हें पहले आज़माया जाता है, लेकिन rate limits/timeouts पर OpenClaw किसी अन्य प्रोफ़ाइल पर रोटेट कर सकता है।
49. User‑pinned प्रोफ़ाइल उसी प्रोफ़ाइल पर लॉक रहते हैं; यदि वह विफल हो और model fallbacks
    कॉन्फ़िगर हों, तो OpenClaw प्रोफ़ाइल बदलने के बजाय अगले मॉडल पर जाता है।

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

50. यदि आपके पास एक ही provider के लिए OAuth प्रोफ़ाइल और API key प्रोफ़ाइल दोनों हैं, तो पिन न होने पर round‑robin संदेशों के बीच उनके बीच स्विच कर सकता है। 1. किसी एक प्रोफ़ाइल को मजबूरन उपयोग करने के लिए:

* `auth.order[provider] = ["provider:profileId"]` से पिन करें, या
* प्रोफ़ाइल ओवरराइड के साथ `/model …` के माध्यम से प्रति‑सत्र ओवरराइड का उपयोग करें (जब आपके UI/चैट सतह द्वारा समर्थित हो)।

## कूलडाउन

2. जब किसी प्रोफ़ाइल में auth/रेट‑लिमिट त्रुटियों (या ऐसे टाइमआउट जो रेट लिमिट जैसे लगें) के कारण विफलता होती है, तो OpenClaw उसे कूलडाउन में चिह्नित करता है और अगली प्रोफ़ाइल पर चला जाता है।
3. फ़ॉर्मैट/अमान्य‑रिक्वेस्ट त्रुटियाँ (उदाहरण के लिए Cloud Code Assist टूल कॉल ID वैलिडेशन विफलताएँ) को भी फेलओवर‑योग्य माना जाता है और वही कूलडाउन लागू होते हैं।

कूलडाउन एक्सपोनेंशियल बैकऑफ़ का उपयोग करते हैं:

* 1 मिनट
* 5 मिनट
* 25 मिनट
* 1 घंटा (सीमा)

स्थिति `usageStats` के अंतर्गत `auth-profiles.json` में संग्रहीत होती है:

```json theme={"theme":{"light":"min-light","dark":"min-dark"}}
{
  "usageStats": {
    "provider:profile": {
      "lastUsed": 1736160000000,
      "cooldownUntil": 1736160600000,
      "errorCount": 2
    }
  }
}
```

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

4. बिलिंग/क्रेडिट विफलताएँ (उदाहरण के लिए “insufficient credits” / “credit balance too low”) को फेलओवर‑योग्य माना जाता है, लेकिन वे आम तौर पर अस्थायी नहीं होतीं। 5. छोटे कूलडाउन के बजाय, OpenClaw प्रोफ़ाइल को **disabled** के रूप में चिह्नित करता है (लंबे बैकऑफ़ के साथ) और अगली प्रोफ़ाइल/प्रोवाइडर पर रोटेट करता है।

स्थिति `auth-profiles.json` में संग्रहीत होती है:

```json theme={"theme":{"light":"min-light","dark":"min-dark"}}
{
  "usageStats": {
    "provider:profile": {
      "disabledUntil": 1736178000000,
      "disabledReason": "billing"
    }
  }
}
```

डिफ़ॉल्ट्स:

* बिलिंग बैकऑफ़ **5 घंटे** से शुरू होता है, प्रत्येक बिलिंग विफलता पर दोगुना होता है, और **24 घंटे** पर सीमित होता है।
* यदि प्रोफ़ाइल **24 घंटे** तक विफल न हुई हो तो बैकऑफ़ काउंटर रीसेट हो जाते हैं (विन्यस्त करने योग्य)।

## मॉडल फॉलबैक

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

जब कोई रन मॉडल ओवरराइड (hooks या CLI) के साथ शुरू होता है, तब भी किसी भी विन्यस्त फॉलबैक को आज़माने के बाद फॉलबैक `agents.defaults.model.primary` पर समाप्त होते हैं।

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

इनके लिए [Gateway configuration](/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](/concepts/models) देखें।
