इसे एक एजेंट के साथ सेट करें
नीचे दिए गए ब्लॉक को खोलें और इसे किसी भी कोडिंग एजेंट में कॉपी करें। प्रॉम्प्ट कभी भी आपकी API key नहीं मांगता है: एजेंट बाकी सब कॉन्फ़िगर करता है, फिर आपके लिए चलाने के लिए एक एक्सपोर्ट लाइन प्रिंट करता है।एक कस्टम प्रोवाइडर को ऑनबोर्ड करें
- गाइडेड सेटअप शुरू करें।
- जब यह auth के बारे में पूछे तो कस्टम प्रोवाइडर विकल्प चुनें। वह
custom-api-keyहै। /v1सफ़िक्स सहित राउटर को base URL के रूप में दर्ज करें।
- अपनी agent key पेस्ट करें।
- कम्पैटिबिलिटी मोड को
openaiपर छोड़ दें। यह हमारा Chat Completions surface है। - एक model id दर्ज करें जिसे हम चलाते हैं, जैसे
gpt-5.6-sol।
openclaw onboard --non-interactive भी मौजूद है, लेकिन इसका custom-api-key auth मोड --custom-api-key से क्रेडेंशियल पढ़ता है, इसलिए secret आपकी शेल हिस्ट्री और प्रोसेस आर्गुमेंट्स में समाप्त हो जाता है। इसके बजाय config commands और एक secret reference के साथ सेटअप को स्क्रिप्ट करें, जो एक्सपोजर के बिना समान परिणाम है।
आप जो भी रास्ता अपनाएं, प्रोवाइडर id खुद सेट करें:
custom-api-flexinference-com के साथ समाप्त होता है, और इस पृष्ठ पर हर बाद के कमांड को उस नाम की आवश्यकता होगी।
लिखने में एक मॉडल रो शामिल है क्योंकि उसे करना है। OpenClaw एक थर्ड-पार्टी प्रोवाइडर को अस्वीकार करता है जो कोई models घोषित नहीं करता है, इसलिए baseUrl-केवल लिखने से स्कीमा सत्यापन विफल हो जाता है। अगले सेक्शन में पूरी रो को बदलें।
कम्पैटिबिलिटी मोड api पर मैप करता है। openai openai-completions लिखता है, जो वह है जिसके साथ हमारा Chat Completions endpoint काम करता है। अन्य विकल्प openai-responses और anthropic हैं।
कॉन्फ़िग फ़ाइल
ऑनबोर्डिंग~/.openclaw/openclaw.json में models.providers के तहत लिखता है। openclaw config file के साथ OpenClaw जिस पथ का उपयोग कर रहा है उसे प्रिंट करें।
"mode": "merge" आपके बिल्ट-इन प्रोवाइडर को रखता है और उनके बगल में इसे जोड़ता है।
api openai-completions होना चाहिए। ऑनबोर्डिंग openai कम्पैटिबिलिटी मोड ठीक यही लिखता है।
apiKey एक सादा स्ट्रिंग भी लेता है, जो ऑनबोर्डिंग लिखता है। यहां दिखाया गया reference secret को फ़ाइल से बाहर रखता है। keep the key out of the config file देखें।
अपने मॉडल खुद सूचीबद्ध करें। केवल OpenClaw के बिल्ट-इन प्रोवाइडर id ही models को छोड़ सकते हैं। एक थर्ड-पार्टी id को baseUrl और models दोनों घोषित करना होगा, इसलिए पिकर में आप जो भी मॉडल चाहते हैं उसके लिए एक रो जोड़ें।
compat.supportsUsageInStreaming सेट करें। OpenClaw एक थर्ड-पार्टी endpoint के लिए स्ट्रीमिंग उपयोग को ऑप्ट-इन बनाता है, क्योंकि कुछ सर्वर इसे अस्वीकार करते हैं। इस फ़्लैग के बिना हमें उपयोग फ्रेम के लिए अनुरोध कभी नहीं मिलता है, इसलिए हर स्ट्रीम किया गया टर्न शून्य टोकन और कोई लागत नहीं बताता है।
हमारे कैटलॉग से मॉडल सूची भरें
OpenClaw आपके द्वारा कॉन्फ़िग में परिभाषित प्रोवाइडर के लिएGET /v1/models को कॉल नहीं करेगा। मॉडल डिस्कवरी एक प्लगइन क्षमता है, और जिन बंडल प्लगइन्स में यह है वे ही इसका उपयोग करते हैं। एक कॉन्फ़िग-परिभाषित प्रोवाइडर अपनी models ऐरे और कुछ नहीं पढ़ता है।
इसके बजाय हमारे कैटलॉग से उस ऐरे को जनरेट करें, और इसे एक कमांड में लिखें।
config patch ऑब्जेक्ट्स को मर्ज करता है और ऐरे को बदलता है, इसलिए यह मॉडल सूची को स्वैप करता है और baseUrl और apiKey को अछूता छोड़ देता है। पहले लिखने को देखने के लिए --dry-run जोड़ें।
केवल उन मॉडलों को रखें जो कैटलॉग के अपने फ़्लैग पर फ़िल्टर करके सस्ते टियर को रेस करते हैं।
contextWindow और maxTokens खुद जोड़ें जहां OpenClaw के डिफ़ॉल्ट मॉडल के अनुरूप नहीं होते हैं।
जब भी हमारा कैटलॉग बदलता है तो कमांड को फिर से चलाएं। परिणाम जांचें:
ग्लोबल कॉन्फ़िग और प्रोफाइल
OpenClaw प्रति प्रोफाइल एक कॉन्फ़िग रखता है, प्रति फ़ोल्डर एक नहीं। वर्किंग डायरेक्टरी कभी नहीं बदलती कि वह कौन सी फ़ाइल पढ़ती है।
अपने सामान्य सेटअप को छुए बिना FlexInference को आज़माने के लिए एक नामित प्रोफाइल का उपयोग करें।
key को कॉन्फ़िग फ़ाइल से बाहर रखें
ऑनबोर्डिंग key कोopenclaw.json में सादे टेक्स्ट में लिखता है। इसके बजाय apiKey को एक secret reference पर सेट करें, और कॉन्फ़िग वेरिएबल के मान के बजाय उसका नाम संग्रहीत करता है।
- उस शेल में key एक्सपोर्ट करें जिससे आप इन कमांड को चलाएंगे।
- एक environment secrets प्रोवाइडर घोषित करें और उस एक वेरिएबल को अनुमति दें।
- प्रोवाइडर के
apiKeyको उस पर पॉइंट करें।
{"source": "env", "provider": "default", "id": "FLEXINFERENCE_API_KEY"} रखता है और कोई secret नहीं। key कभी भी कमांड लाइन तक नहीं पहुंचती है, क्योंकि स्टेप 3 केवल वेरिएबल का नाम पास करता है।
जब आप स्टेप 3 चलाते हैं तो OpenClaw reference को हल करता है, इसलिए पहले वेरिएबल को एक्सपोर्ट करें। एक गुम या खाली वेरिएबल SecretRefResolutionError के साथ लिखने को विफल कर देता है बजाय कुछ टूटा हुआ संग्रहीत करने के। लिखने के बिना जांचने के लिए --dry-run जोड़ें।
बिल्ट-इन ऑडिट के साथ क्या उजागर हुआ है उसकी जांच करें।
पुष्टि करें कि key लागू हो गई है
हर प्रतिक्रियाx-flexinference-defaults-applied के साथ आती है। OpenClaw प्रतिक्रिया हेडर नहीं दिखाता है, इसलिए इसके बजाय Logs के तहत डैशबोर्ड में अनुरोध पढ़ें।
समस्या निवारण
मॉडल पिकर छोटा है, या कोई मॉडल गायब है। एक कॉन्फ़िग-परिभाषित प्रोवाइडर कभी भीGET /v1/models को कॉल नहीं करता है, इसलिए यह केवल आपके द्वारा लिखी गई पंक्तियों को दिखाता है। हमारे कैटलॉग से सूची को फिर से जनरेट करें।
टर्न शून्य टोकन और कोई लागत नहीं बताते हैं। OpenClaw ने हमसे स्ट्रीमिंग उपयोग के लिए नहीं पूछा, इसलिए हमने कोई उपयोग फ्रेम नहीं भेजा। प्रत्येक मॉडल रो पर compat.supportsUsageInStreaming को true पर सेट करें।
एक मॉडल id अस्वीकृत है। आपके द्वारा हाथ से लिखी गई पंक्तियाँ हमारे द्वारा चलाए जाने वाले से भिन्न हो सकती हैं, क्योंकि id ठीक वैसे ही बाहर जाता है जैसे लिखा गया था। id को संपादित करने के बजाय हमारे कैटलॉग से सूची को फिर से जनरेट करें।
कॉन्फ़िग संपादन प्रभावी नहीं होते हैं। gateway पुरानी कॉन्फ़िग रखता है। इसे पुनरारंभ करें, और पुष्टि करें कि आपने उस फ़ाइल को संपादित किया है जिसे openclaw config file प्रिंट करता है।
हमारे द्वारा लौटाए गए हर अस्वीकृति के लिए errors देखें, और उन लोगों के लिए agent keys देखें जो OpenClaw के लिए विशिष्ट नहीं हैं।