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

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

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

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

  1. उस शेल में key एक्सपोर्ट करें जो OpenScience शुरू करता है।
  1. प्रोवाइडर एंट्री को openscience.json में लिखें।
  1. कॉन्फ़िग डायरेक्टरी सेट करके OpenScience शुरू करें।
जब आपकी key डेडलाइन रखती है, तो options से start_within को हटा दें। हम केवल तभी एक संग्रहीत डिफ़ॉल्ट भरते हैं जब फ़ील्ड अनुपस्थित हो, इसलिए यहां एक मान हर अनुरोध पर key को ओवरराइड कर देगा। इसके बजाय, जब आप agent key का उपयोग नहीं कर रहे हों, तो हर मॉडल पर "start_within": "default" सेट करें। यह सुरक्षित आधार रेखा है, क्योंकि बिना सेशन चयन के चुना गया मॉडल फिर गलती से रेसिंग करने के बजाय मानक रूप से रूट करता है।

फ़ाइल कहाँ जाती है

OpenScience कई जगहों से कॉन्फ़िग को मर्ज करता है, और बाद वाला स्रोत जीतता है।
  • OpenScience की कॉन्फ़िग डायरेक्टरी में ग्लोबल यूजर कॉन्फ़िग।
  • OPENSCIENCE_CONFIG, एक कॉन्फ़िग फ़ाइल का पाथ।
  • synsc.jsonc, synsc.json, openscience.jsonc, और openscience.json जो worktree रूट तक जाते हुए मिलते हैं, जब तक कि OPENSCIENCE_DISABLE_PROJECT_CONFIG सेट न हो।
  • OPENSCIENCE_CONFIG_CONTENT, JSON को इनलाइन रखता है।
  • उस वॉक पर प्रत्येक .openscience या .synsc डायरेक्टरी के अंदर वही चार नाम, साथ ही OPENSCIENCE_CONFIG_DIR द्वारा नामित कोई भी डायरेक्टरी।
दो पाथ वेरिएबल एक दूसरे के स्थान पर उपयोग नहीं किए जा सकते। OPENSCIENCE_CONFIG एक फ़ाइल का नाम देता है। OPENSCIENCE_CONFIG_DIR एक डायरेक्टरी का नाम देता है और पूरी चीज़ को कॉन्फ़िग के रूप में मानता है, इसे कमांड, agents और plugins के लिए स्कैन करता है। जब बंडल में JSON से अधिक हो तो डायरेक्टरी फॉर्म का उपयोग करें।

इसे रखकर एक plugin लोड करें

OpenScience प्रत्येक कॉन्फ़िग डायरेक्टरी को {plugin,plugins}/*.{ts,js} के लिए स्कैन करता है और जो मिलता है उसे एक लोकल फ़ाइल के रूप में लोड करता है। फ़ाइल को plugins/flex.js पर रखें और JSON से plugin को हटा दें।
plugin में पाथ लिखने से काम नहीं चलेगा। OpenScience वहां हर एंट्री को file:// प्रीफिक्स के बिना एक npm पैकेज नाम के रूप में पढ़ता है और इसे bun add को सौंपता है, इसलिए "./plugins/flex.js" इंस्टॉल होने में विफल रहता है और plugin स्टार्टअप को भी बंद कर देता है। स्कैन एक स्तर गहरा होता है, और यह plugins/ में सीधे स्थित हर .js और .ts को लेता है। साझा मॉड्यूल को उस डायरेक्टरी के बाहर रखें, अन्यथा OpenScience उन्हें भी plugins के रूप में लोड कर देगा। पहली बार जब OpenScience किसी डायरेक्टरी से कॉन्फ़िग लोड करता है, तो वह package.json, bun.lock, node_modules/, और उन्हें कवर करने वाली एक .gitignore उसमें लिखता है। इनकी अपेक्षा करें, और उन्हें Git से बाहर रखें।

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

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

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

एक plugin कभी लोड नहीं हुआ। इसे plugin में नाम देने से यह bun add को एक पैकेज नाम के रूप में भेजता है, जो विफल हो जाता है और plugin स्टार्टअप को बंद कर देता है। फ़ाइल को कॉन्फ़िग डायरेक्टरी के अंदर plugins/flex.js पर रखें और JSON से plugin को हटा दें। एक हेल्पर मॉड्यूल एक plugin के रूप में लोड हुआ। स्कैन plugins/ में सीधे स्थित हर .js और .ts को लेता है। साझा मॉड्यूल को उस डायरेक्टरी के बाहर ले जाएं। अनुरोध हम तक कभी नहीं पहुंचते। टॉप-लेवल model फ़ील्ड प्रोवाइडर का चयन करता है। इसके बिना OpenScience अपने बिल्ट-इन डिफ़ॉल्ट पर रहता है। 401 invalid_api_key. FLEXINFERENCE_API_KEY उस शेल में अनसेट है जिसने OpenScience शुरू किया था। लॉन्च करने से पहले इसे एक्सपोर्ट करें। 400 flex_unsupported_for_anthropic. options में एक अवधि आपकी अपनी Anthropic key पर claude-* मॉडल तक पहुंच गई। race जो एक Claude अवधि चलाती है, प्रबंधित keys लेती है। अवधि को हटा दें और key को डेडलाइन ले जाने दें। key की डेडलाइन कभी लागू नहीं होती। एक मॉडल के options में start_within key पर जीत जाता है, क्योंकि हम केवल तभी एक संग्रहीत डिफ़ॉल्ट भरते हैं जब फ़ील्ड अनुपस्थित हो। इसे एंट्री से हटा दें। हमारे द्वारा लौटाए गए हर अस्वीकृति के लिए errors देखें, उन त्रुटियों के लिए agent keys देखें जो OpenScience के लिए विशिष्ट नहीं हैं, और प्रति-मॉडल और प्रति-वेरिएंट डेडलाइन विकल्पों के लिए OpenCode देखें, जिन्हें OpenScience साझा करता है।