Skip to main content
OpenCode बिना किसी स्रोत परिवर्तन या फोर्क के, एक JSON फ़ाइल से एक प्रोवाइडर एंट्री पढ़ता है। OpenCode कॉन्फ़िग में start_within सेट कर सकता है, इसलिए यहां एक एजेंट key वैकल्पिक है। key अभी भी एक सरल तरीका है, क्योंकि यह बिना रीस्टार्ट के बदल जाती है। एजेंट key देखें।

इसे एक एजेंट के साथ सेट करें

नीचे दिए गए ब्लॉक को खोलें और इसे किसी भी कोडिंग एजेंट में कॉपी करें। प्रॉम्प्ट कभी भी आपकी API key नहीं मांगेगा: एजेंट बाकी सब कॉन्फ़िगर करता है, फिर आपके लिए चलाने के लिए एक एक्सपोर्ट लाइन प्रिंट करता है।

OpenCode कॉन्फ़िगर करें

  1. OpenCode शुरू करने वाले शेल में key एक्सपोर्ट करें।
  2. प्रोवाइडर एंट्री को opencode.json में लिखें।
  3. उस फ़ाइल के विरुद्ध OpenCode शुरू करें।
चार फ़ील्ड इंटीग्रेशन को संभालते हैं। npm OpenAI-संगत पैकेज चुनता है। options.baseURL राउटर को रिक्वेस्ट भेजता है। options.apiKey एनवायरनमेंट से key पढ़ता है। models के तहत प्रत्येक key एक slug है जिसे हम चलाते हैं। models के तहत एक key जोड़कर एक मॉडल जोड़ें। एंट्री में बाकी सब डिस्प्ले और लिमिट्स हैं।

ग्लोबल या प्रति प्रोजेक्ट

आप इसे कितनी व्यापक रूप से चाहते हैं, इसके आधार पर प्रोवाइडर एंट्री को दो स्थानों में से एक में रखें। प्रोजेक्ट कॉन्फ़िग ग्लोबल पर हावी होता है। OpenCode वर्किंग डायरेक्टरी में opencode.json की तलाश करता है और निकटतम Git डायरेक्टरी तक ऊपर जाता है, ताकि एक रेपो आपके मशीन-व्यापी प्रोवाइडर को छुए बिना उसे ओवरराइड कर सके। प्रोवाइडर एंट्री को ग्लोबल फ़ाइल में रखें और डेडलाइन हर जगह समान रहेगी। इसे एक प्रोजेक्ट फ़ाइल में रखें और केवल वही रेपो हमारे माध्यम से रूट करेगा। ऊपर की ओर खोज को रोकने के लिए OPENCODE_DISABLE_PROJECT_CONFIG सेट करें। बंडलों और ऑटोमेशन के लिए दो और स्रोत मौजूद हैं। OPENCODE_CONFIG_DIR एक डायरेक्टरी का नाम देता है जिससे OpenCode कॉन्फ़िग पढ़ता है, और OPENCODE_CONFIG_CONTENT JSON को इनलाइन रखता है। प्रति रन एक फ़ाइल में ऑप्ट-इन करने के लिए OPENCODE_CONFIG का उपयोग करें।

इसके बजाय कॉन्फ़िग में डेडलाइन सेट करें

OpenCode स्वयं start_within भेज सकता है। दोनों स्थान सादे JSON हैं, और दोनों key को मात देते हैं। इसे प्रति मॉडल सेट करें। options ब्लॉक उस मॉडल के लिए रिक्वेस्ट बॉडी में जाता है।
इसके बजाय इसे प्रति वेरिएंट सेट करें, ताकि मॉडल बदले बिना स्विच किया जा सके। opencode run पर --variant के साथ एक चुनें, या TUI में ctrl+t के साथ उन्हें साइकिल करें।
यहां एक अवधि उस मॉडल पर विफल हो जाती है जो दौड़ नहीं सकता। key पर समान अवधि इसके बजाय वापस आ जाती है। यही कारण है कि key को प्राथमिकता दी जाती है।

पुष्टि करें कि key लागू हो गई है

हर रिस्पॉन्स x-flexinference-defaults-applied के साथ आता है। OpenCode TUI में रिस्पॉन्स हेडर नहीं दिखाता है, इसलिए इसके बजाय डैशबोर्ड में Logs के तहत रिक्वेस्ट पढ़ें।

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

रिक्वेस्ट हम तक कभी नहीं पहुंचती। टॉप-लेवल model फ़ील्ड ही प्रोवाइडर का चयन करता है, इसलिए प्रोवाइडर को वहां नाम दिए बिना परिभाषित करने से OpenCode अपने बिल्ट-इन डिफ़ॉल्ट पर रहता है। "model": "flexinference/<slug>" सेट करें। 401 invalid_api_key OpenCode शुरू करने वाले शेल में FLEXINFERENCE_API_KEY अनसेट है। लॉन्च करने से पहले इसे एक्सपोर्ट करें, क्योंकि options.apiKey इसे एनवायरनमेंट से पढ़ता है। 400 unsupported_parameter एक Chat Completions पैरामीटर जिसे हम ट्रांसलेट नहीं करते हैं, वह मॉडल के options में था, जैसे seed या stop। इसे एंट्री से हटा दें। 400 key_default_not_applicable आपकी key में एक अवधि है और उनमें से एक पैरामीटर इसके साथ आया था। key को एक टियर में एडिट करें, या पैरामीटर हटा दें। 400 flex_unsupported_for_anthropic options में एक अवधि आपकी अपनी Anthropic key पर claude-* मॉडल तक पहुंच गई। रेस जो एक Claude अवधि चलाती है, प्रबंधित key लेती है। अवधि हटा दें और key को डेडलाइन रखने दें, क्योंकि एक key अवधि इसके बजाय वापस आ जाती है। एक कॉन्फ़िग एडिट ने कुछ नहीं बदला। एक बाद के कॉन्फ़िग स्रोत ने इसे ओवरराइड कर दिया। ऊपर दिए गए सर्च ऑर्डर की जांच करें, और प्रति रन एक फ़ाइल में ऑप्ट-इन करने के लिए OPENCODE_CONFIG को प्राथमिकता दें। हमारे द्वारा लौटाए गए हर अस्वीकृति के लिए errors देखें, और उन एजेंट key के लिए जो OpenCode के लिए विशिष्ट नहीं हैं। OpenWork और OpenScience समान प्रोवाइडर एंट्री पढ़ते हैं।