---
read_when:
    - आप कई मॉडल प्रदाताओं के लिए एक प्रबंधित कुंजी चाहते हैं
    - आपको OpenClaw में ClawRouter मॉडल खोज या कोटा रिपोर्टिंग की आवश्यकता है
summary: क्रेडेंशियल-स्कोप्ड मॉडल को ClawRouter के माध्यम से रूट करें और प्रबंधित कोटा दिखाएँ
title: ClawRouter
x-i18n:
    generated_at: "2026-07-27T20:22:07Z"
    model: gpt-5.6
    postprocess_version: locale-links-v1
    prompt_version: 32
    provider: openai
    source_hash: 929a93e8d1d003e21f792d0fdab9542553ffab374f59d4d0505819b0f719591f
    source_path: providers/clawrouter.md
    workflow: 16
---

ClawRouter, OpenClaw को कई अपस्ट्रीम मॉडल प्रदाताओं के लिए एक नीति-सीमित कुंजी देता है। बंडल किया गया `clawrouter` Plugin केवल उस कुंजी के लिए अनुमत मॉडलों को खोजता है, प्रत्येक मॉडल को उसके घोषित प्रोटोकॉल के माध्यम से रूट करता है, और OpenClaw के उपयोग इंटरफ़ेस पर कुंजी के बजट तथा समेकित उपयोग की रिपोर्ट देता है।

अपस्ट्रीम क्रेडेंशियल और प्रदाता-विशिष्ट फ़ॉरवर्डिंग ClawRouter में ही रहते हैं, इसलिए OpenClaw होस्ट पर प्रत्येक अपस्ट्रीम प्रदाता Plugin को कभी भी इंस्टॉल या प्रमाणित करने की आवश्यकता नहीं होती। यह Plugin OpenClaw (`enabledByDefault: true`) के साथ बंडल किया हुआ आता है; आपको केवल जारी किया गया ClawRouter क्रेडेंशियल चाहिए।

| गुण           | मान                                      |
| ------------- | ---------------------------------------- |
| प्रदाता       | `clawrouter`                       |
| Plugin        | बंडल किया हुआ (OpenClaw में शामिल)       |
| प्रमाणीकरण    | `CLAWROUTER_API_KEY`                       |
| डिफ़ॉल्ट URL  | `https://clawrouter.openclaw.ai`                       |
| मॉडल कैटलॉग   | `/v1/catalog` के माध्यम से क्रेडेंशियल-सीमित |
| कोटा          | `/v1/usage` के माध्यम से मासिक बजट और उपयोग |

## आरंभ करना

<Steps>
  <Step title="सीमित क्रेडेंशियल प्राप्त करें">
    अपने ClawRouter व्यवस्थापक से ऐसा क्रेडेंशियल माँगें जिसकी नीति में वे
    प्रदाता, मॉडल और मासिक बजट शामिल हों जिनका आपको उपयोग करना चाहिए। जारी किए
    जाने पर क्रेडेंशियल केवल एक बार दिखाए जाते हैं।
  </Step>
  <Step title="OpenClaw कॉन्फ़िगर करें">
    ```bash
    export CLAWROUTER_API_KEY="..."
    openclaw onboard --auth-choice clawrouter-api-key
    openclaw plugins enable clawrouter
    ```

    `clawrouter` बंडल किया हुआ है और डिफ़ॉल्ट रूप से सक्षम रहता है। यदि आपका कॉन्फ़िगरेशन
    `plugins.allow` सेट करता है, तो इसे सक्षम करने से पहले उस सूची में `clawrouter` जोड़ें। कस्टम
    परिनियोजन के लिए, `models.providers.clawrouter.baseUrl` को
    ClawRouter मूल पते पर सेट करें; डिफ़ॉल्ट `https://clawrouter.openclaw.ai` है।

  </Step>
  <Step title="प्रदत्त मॉडल सूचीबद्ध करें">
    ```bash
    openclaw models list --all --provider clawrouter
    ```

    लौटाए गए मॉडल संदर्भों का उपयोग ठीक वैसे ही करें जैसे वे दिखाए गए हैं। उनमें अपस्ट्रीम
    नेमस्पेस बना रहता है, जैसे `clawrouter/openai/gpt-5.5`,
    `clawrouter/anthropic/claude-sonnet-4-6`, या
    `clawrouter/google/gemini-3.5-flash`। यदि `agents.defaults.modelPolicy.allow`
    कॉन्फ़िगर किया गया है, तो प्रत्येक चयनित ClawRouter संदर्भ उसमें जोड़ें।

  </Step>
  <Step title="मॉडल चुनें">
    ```bash
    openclaw models set clawrouter/<provider>/<model>
    ```

    आप एक रन के लिए लौटाया गया मॉडल
    `openclaw agent --model clawrouter/<provider>/<model> --message "..."` से भी चुन सकते हैं।

  </Step>
</Steps>

## प्रबंधित गैर-संवादात्मक परिनियोजन

प्रॉक्सी कुंजी को वर्कलोड के सीक्रेट इंजेक्शन में रखें और `openclaw.json` में केवल
SecretRef संग्रहित करें। मानक प्रबंधित फ़ील्ड ये हैं:

| उद्देश्य      | कॉन्फ़िगरेशन या परिवेश फ़ील्ड                                            |
| ------------- | ------------------------------------------------------------------------ |
| राउटर मूल पता | `models.providers.clawrouter.baseUrl`                                                       |
| क्रेडेंशियल   | `models.providers.clawrouter.apiKey` -> env SecretRef                                      |
| सीक्रेट मान   | Gateway प्रक्रिया के परिवेश में `CLAWROUTER_API_KEY`                       |
| डिफ़ॉल्ट मॉडल | `agents.defaults.model.primary` -> `clawrouter/<provider>/<model>`                                 |
| वर्कलोड टैग   | `models.providers.clawrouter.headers.X-ClawRouter-Project-Id` (वैकल्पिक)                                           |

उदाहरण के लिए, कोई परिनियोजन नियंत्रक इस JSON5 पैच का स्वामी हो सकता है:

```json5
{
  plugins: {
    entries: { clawrouter: { enabled: true } },
  },
  models: {
    providers: {
      clawrouter: {
        baseUrl: "https://clawrouter.internal.example",
        apiKey: {
          source: "env",
          provider: "default",
          id: "CLAWROUTER_API_KEY",
        },
        headers: {
          "X-ClawRouter-Project-Id": "fakeco",
        },
      },
    },
  },
  agents: {
    defaults: {
      model: { primary: "clawrouter/openai/gpt-5.5" },
    },
  },
}
```

यदि परिनियोजन `plugins.allow` सेट करता है, तो उसकी मौजूदा प्रविष्टियाँ बनाए रखें और
`clawrouter` जोड़ें। संवादात्मक विज़ार्ड के बिना सत्यापित करके लागू करें:

```bash
openclaw config patch --file ./clawrouter.patch.json5 --dry-run --json
openclaw config patch --file ./clawrouter.patch.json5
```

ड्राई रन SecretRef को रिज़ॉल्व करता है, लेकिन उसका मान कभी प्रिंट नहीं करता। क्रेडेंशियल
रोटेट करने के लिए, `CLAWROUTER_API_KEY` प्रदान करने वाले बाहरी Secret को अपडेट करें और
Gateway वर्कलोड पुनः आरंभ करें, ताकि नया प्रक्रिया परिवेश लोड हो जाए। कॉन्फ़िगरेशन
फ़ाइल और मॉडल संदर्भ नहीं बदलते।

स्रोत से बनाए गए स्टैंडअलोन Docker Gateway के लिए, ClawRouter पहले से ही
रूट रनटाइम में शामिल है। केवल वह चैनल Plugin चुनें जिसे अलग पैकेजिंग चाहिए,
जैसे `OPENCLAW_EXTENSIONS=clickclack`, `slack`, या `msteams`; देखें
[चयनित Plugins के साथ स्रोत से बनी इमेज](/hi/install/docker#source-built-images-with-selected-plugins)।
आर्काइव/एप्लायंस परिनियोजनों को OCI इमेज का उपयोग करने के बजाय उसी लैंड किए गए स्रोत को
अपनी आर्टिफ़ैक्ट पाइपलाइन के माध्यम से पैकेज करना होगा।

## तत्परता और लाइव प्रमाण

ये जाँचें अलग-अलग सीमाओं को प्रमाणित करती हैं; किसी एक के स्थान पर दूसरी का उपयोग न करें:

```bash
# केवल ClawRouter प्रक्रिया का स्वास्थ्य; किसी क्रेडेंशियल या अपस्ट्रीम मॉडल का प्रयोग नहीं किया जाता।
curl -fsS https://clawrouter.internal.example/v1/health

# केवल OpenClaw Gateway स्टार्टअप की तत्परता; कोई मॉडल कॉल नहीं की जाती।
curl -fsS http://127.0.0.1:18789/readyz

# क्रेडेंशियल-सीमित कैटलॉग खोज।
openclaw models list --all --provider clawrouter --json

# कॉन्फ़िगर किए गए ClawRouter प्रदाता के माध्यम से न्यूनतम वास्तविक इन्फ़रेंस जाँच।
openclaw models status --probe --probe-provider clawrouter --probe-max-tokens 8 --json

# सटीक प्रदत्त मॉडल संदर्भ का उपयोग करने वाला वर्कलोड कैनरी।
openclaw agent --agent main \
  --model clawrouter/openai/gpt-5.5 \
  --message "ठीक यही उत्तर दें: CLAWROUTER_CANARY_OK" \
  --json
```

उदाहरण मॉडल को आँख मूँदकर कॉपी करने के बजाय सीमित कैटलॉग द्वारा लौटाए गए मॉडल का
उपयोग करें। सफल `/readyz` प्रतिक्रिया का अर्थ है कि Gateway अनुरोधों को सेवा दे सकता
है; इसका यह दावा नहीं है कि ClawRouter, उसका क्रेडेंशियल या कोई अपस्ट्रीम
प्रदाता तैयार है। मॉडल जाँच और एजेंट कैनरी इन्फ़रेंस के प्रमाण हैं।

लाइव निदान के लिए, कैनरी जारी करें और Gateway के मानक लॉग देखें।
मौजूदा केवल-मेटाडेटा मॉडल ट्रांसपोर्ट डायग्नोस्टिक्स इस प्रकार की पंक्तियाँ उत्सर्जित करते हैं:

```text
[model-fetch] प्रारंभ provider=clawrouter api=openai-responses model=openai/gpt-5.5 method=POST url=https://clawrouter.internal.example/v1/responses
[model-fetch] प्रतिक्रिया provider=clawrouter api=openai-responses model=openai/gpt-5.5 status=200
```

जब वे पहचानकर्ता उपलब्ध होते हैं, तो Plugin सीमित `X-ClawRouter-Client`, `X-ClawRouter-Agent-Id`, और
`X-ClawRouter-Session-Id` हेडर भेजता है। यह मॉडल कॉल के डायग्नोस्टिक
`callId` (`<run-id>:model:<n>`) को
`X-Request-ID` में मैप भी करता है, ताकि OpenClaw मॉडल-कॉल ईवेंट को ClawRouter के
केवल-मेटाडेटा ऑडिट ट्रेल से जोड़ा जा सके। 128-वर्ण अनुरोध-id बजट के भीतर के मान
समान रहते हैं। लंबे मान `:model:<n>` प्रत्यय और एक नियतात्मक
हैश बनाए रखते हैं, ताकि अलग-अलग कॉल सीमित और जोड़ने योग्य रहें। स्थिर परिनियोजन मेटाडेटा,
जैसे `X-ClawRouter-Project-Id`, प्रदाता के `headers` मैप में सेट किया जा सकता है।
एजेंट और सत्र एट्रिब्यूशन हेडर अपनी अलग 256-वर्ण
सीमा बनाए रखते हैं। ClawRouter के ASCII पहचानकर्ता सेट से बाहर के वर्णों वाले
स्वचालित अनुरोध id भी उसी नियतात्मक सीमित रूप का उपयोग करते हैं।
स्पष्ट रूप से कॉन्फ़िगर किए गए हेडर, जिनमें `X-Request-ID` का कोई भी केस वेरिएंट शामिल है, स्वचालित मानों पर
प्राथमिकता पाते हैं। ट्रांसपोर्ट डायग्नोस्टिक रूटिंग और प्रतिक्रिया
मेटाडेटा दर्ज करता है; यह क्रेडेंशियल, अनुरोध id, प्रॉम्प्ट या पूर्णताएँ लॉग नहीं करता।
ClawRouter का अपना ऑडिट ईवेंट चयनित अपस्ट्रीम प्रदाता और
सामग्री-प्रतिधारण स्थिति प्रदान करता है।

## मॉडल खोज

`GET /v1/catalog`, `{ providers: [...] }` लौटाता है, जहाँ प्रत्येक प्रदाता प्रविष्टि
अपना `models[]` (अपस्ट्रीम id, क्षमताओं और मूल्य निर्धारण सहित) और अपने
समर्थित अनुरोध रूट सूचीबद्ध करती है। OpenClaw, ClawRouter मॉडलों की दूसरी स्थिर सूची
प्रदान नहीं करता। कोई कैटलॉग मॉडल OpenClaw मॉडल के रूप में तब प्रदर्शित होता है जब:

- क्रेडेंशियल की नीति उसके प्रदाता को अनुमति देती है;
- कैटलॉग मॉडल समर्थित LLM क्षमता (`llm.responses`,
  `llm.chat`, `llm.messages`, या मेल खाने वाले स्ट्रीमिंग
  रूट के साथ `llm.stream`) प्रदर्शित करता है; और
- प्रदाता नीचे दिए गए ट्रांसपोर्ट में से किसी एक के लिए मेल खाने वाला रूट उजागर करता है।

किसी समर्थित ClawRouter प्रदाता में मॉडल जोड़ने के लिए OpenClaw रिलीज़ की आवश्यकता नहीं होती:
अगला कैटलॉग रीफ़्रेश (प्रति क्रेडेंशियल सीमा 60 सेकंड तक कैश किया गया) उसे
खोज लेता है। जिस मॉडल को नया वायर प्रोटोकॉल चाहिए, उसके लिए पहले Plugin समर्थन आवश्यक है।

## प्रोटोकॉल और प्रदाता Plugins

ClawRouter अपस्ट्रीम क्रेडेंशियल का स्वामी है; उसका कैटलॉग OpenClaw को बताता है कि कौन-सा
ट्रांसपोर्ट उपयोग करना है, इसलिए आपको प्रत्येक अपस्ट्रीम कंपनी का प्रमाणीकरण Plugin कभी इंस्टॉल नहीं करना पड़ता।

| कैटलॉग क्षमता / रूट                                     | OpenClaw ट्रांसपोर्ट    |
| -------------------------------------------------------- | ---------------------- |
| `llm.responses` (OpenAI-संगत प्रदाता)                 | `openai-responses`     |
| `llm.chat` (OpenAI-संगत प्रदाता)                 | `openai-completions`     |
| `llm.messages` + `anthropic.messages` रूट              | `anthropic-messages`     |
| `llm.stream` + स्ट्रीमिंग `google.generate_content` रूट   | `google-generative-ai`     |

Plugin उन परिवारों के लिए मेल खाने वाली रीप्ले और टूल-स्कीमा नीतियाँ भी लागू करता है
(OpenAI/DeepSeek/Gemini/Perplexity टूल-स्कीमा संगतता; नेटिव
Anthropic और Google Gemini रीप्ले नीतियाँ)। Perplexity मॉडलों को कठोर
स्कीमा पुनर्लेखन मिलता है: `patternProperties` और `additionalProperties` हटाए जाते हैं तथा
प्रत्येक ऑब्जेक्ट स्कीमा `properties` घोषित करता है, क्योंकि Perplexity इनके बिना टूल
स्कीमा अस्वीकार करता है। केवल असमर्थित अनुरोध प्रारूप उजागर करने वाले कैटलॉग
प्रदाता को जानबूझकर OpenClaw टेक्स्ट मॉडल के रूप में प्रदर्शित नहीं किया जाता।
असंगत पेलोड भेजने के बजाय उन प्रदाताओं को ClawRouter में समर्थित अनुबंधों में से
किसी एक के अनुरूप सामान्यीकृत करें।

## कोटा और उपयोग

ClawRouter की `/v1/usage` प्रतिक्रिया सामान्य OpenClaw प्रदाता-उपयोग
इंटरफ़ेस को डेटा देती है: अनुरोध, टोकन और व्यय के कुल योग, साथ ही कुंजी की सीमा होने पर
मासिक बजट विंडो। मीटर-रहित कुंजियाँ प्रतिशत विंडो के बिना भी समेकित उपयोग
दिखाती हैं।

कोटा लुकअप मॉडल खोज वाली उसी सीमित कुंजी का उपयोग करता है। विफल कोटा
लुकअप मॉडल निष्पादन को अवरुद्ध नहीं करता।

लाइव स्नैपशॉट इससे जाँचें:

```bash
openclaw status --usage
openclaw models status
```

यही प्रदाता स्नैपशॉट चैट में `/status` और OpenClaw के
उपयोग UI में उपलब्ध है। बजट पूरी नीति पर लागू होता है, इसलिए समान ClawRouter नीति
का उपयोग करने वाले किसी अन्य क्लाइंट के अनुरोध शेष प्रतिशत बदल सकते हैं।

## समस्या निवारण

| लक्षण                                      | जाँच                                                                                                                                              |
| ------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------- |
| कोई ClawRouter मॉडल नहीं                   | पुष्टि करें कि Plugin सक्षम है और `plugins.allow` द्वारा अनुमत है, फिर जाँचें कि क्रेडेंशियल सक्रिय है और कम-से-कम एक तैयार प्रदाता को अनुमति देता है। |
| कॉन्फ़िगर किया गया ClawRouter मॉडल अनुपलब्ध है | उसकी `/v1/catalog` क्षमता और रूट समर्थन का निरीक्षण करें। असमर्थित ट्रांसपोर्ट अनुबंध जानबूझकर फ़िल्टर किए जाते हैं।                         |
| मॉडल ओवरराइड नीति द्वारा अस्वीकृत          | सटीक कैटलॉग संदर्भ या `clawrouter/*` को `agents.defaults.modelPolicy.allow` में जोड़ें।                                                                         |
| कैटलॉग या उपयोग से `401` या `403` | ClawRouter क्रेडेंशियल को फिर जारी करें या उसकी सीमा बदलें; OpenClaw अपस्ट्रीम प्रदाता कुंजियों पर फ़ॉलबैक नहीं करता।                            |
| खोज के बाद मॉडल कॉल विफल                   | ClawRouter में प्रदाता कनेक्शन और अपस्ट्रीम स्वास्थ्य जाँचें, फिर उसकी तत्परता स्थिति बहाल होने के बाद पुनः प्रयास करें।                         |
| उपयोग में कुल योग हैं लेकिन प्रतिशत नहीं   | नीति मीटर-रहित है; प्रतिशत विंडो दिखाने के लिए ClawRouter में मासिक बजट जोड़ें।                                                                    |

## सुरक्षा व्यवहार

- कैटलॉग खोज कॉन्फ़िगर की गई प्रॉक्सी कुंजी तक सीमित होती है और प्रत्येक क्रेडेंशियल दायरे (एजेंट डायरेक्टरी, वर्कस्पेस डायरेक्टरी, प्रमाणीकरण प्रोफ़ाइल आईडी और आधार URL) के लिए कैश की जाती है।
- प्रॉक्सी कुंजी केवल अनुरोध भेजते समय संलग्न की जाती है; इसे मॉडल मेटाडेटा में संग्रहीत नहीं किया जाता।
- स्वचालित श्रेय और अनुरोध-सहसंबंध मानों से अतिरिक्त रिक्त स्थान हटाए जाते हैं और भेजने से पहले नियंत्रण वर्ण अस्वीकार कर दिए जाते हैं। श्रेय मान अधिकतम 256 वर्णों तक सीमित होते हैं; अनुरोध आईडी अधिकतम 128 वर्णों तक सीमित होती हैं।
- मॉडल ट्रांसपोर्ट निदान में केवल मेटाडेटा होता है और उसमें कभी भी प्रॉक्सी कुंजी या मॉडल सामग्री शामिल नहीं होती।
- मूल Anthropic और Gemini मॉडल आईडी को केवल अनुरोध भेजते समय उनकी अपस्ट्रीम आईडी में पुनर्लिखित किया जाता है।
- असमर्थित या अनुमति-रहित कैटलॉग पंक्तियाँ सुरक्षित रूप से विफल होती हैं और चयन योग्य नहीं होतीं।

## संबंधित

<CardGroup cols={2}>
  <Card title="मॉडल प्रदाता" href="/hi/concepts/model-providers" icon="layers">
    प्रदाता कॉन्फ़िगरेशन और मॉडल चयन।
  </Card>
  <Card title="उपयोग ट्रैकिंग" href="/hi/concepts/usage-tracking" icon="chart-line">
    OpenClaw के उपयोग और स्थिति इंटरफ़ेस।
  </Card>
</CardGroup>
