इस प्रोजेक्ट के बारे में

opencode2api OpenCode Zen और Zen Go के लिए एक Go गेटवे है। यह Chat Completions, Responses और Anthropic Messages एंडपॉइंट प्रदर्शित करता है, उनके मूल प्रोटोकॉल के बीच अनुवाद करते हुए अपस्ट्रीम कुंजियों और प्रॉक्सी का प्रबंधन करता है। निष्पादन योग्य में एक WebUI शामिल है और इसे Node.js रनटाइम या डेटाबेस की आवश्यकता नहीं है। क्षमताओं में तीनों अनुमान प्रोटोकॉल में JSON और SSE प्रतिक्रियाएँ, टेक्स्ट, छवियों, तर्क, फ़ंक्शन टूल, टूल कॉल और टूल परिणामों के लिए समर्थन, अलग Zen और Go कुंजी पूल जिनमें कॉन्फ़िगर करने योग्य टियर वरीयता, पुनर्प्रयास और सत्र आत्मीयता शामिल हैं, वैकल्पिक अनाम Zen पहुँच, प्रत्यक्ष/HTTP/HTTPS/SOCKS5/SOCKS5H प्रॉक्सी समर्थन, डिस्क कैश के साथ गतिशील मॉडल खोज, कॉन्फ़िगरेशन संपादन के साथ एक अलग प्रबंधन पोर्ट, एक प्लेग्राउंड, निदान, टोकन आँकड़े और लाइव लॉग, साथ ही सत्यापन के साथ कॉन्फ़िगरेशन हॉट रीलोड शामिल हैं। त्वरित प्रारंभ: GitHub Releases से एक बाइनरी डाउनलोड करें या Go 1.24+ के साथ बनाएँ। server_keys, Zen/Go कुंजियाँ (या अनाम सक्षम करें) और WebUI पासवर्ड सेट करने के लिए config.json संपादित करें। `./opencode2api -config config.json` के साथ चलाएँ। Docker छवियाँ ghcr.io/jasonxu114514/opencode2api के माध्यम से docker compose समर्थन के साथ उपलब्ध हैं। API एंडपॉइंट में GET /v1/models, POST /v1/chat/completions, POST /v1/responses, POST /v1/messages और GET /healthz शामिल हैं। प्रमाणीकरण Bearer या x-api-key हेडर के माध्यम से स्थानीय server_keys का उपयोग करता है। `stream: true` के साथ स्ट्रीमिंग समर्थित है। गेटवे एम्बेडिंग, फ़ाइल अपलोड, छवि निर्माण या Responses पुनर्प्राप्ति/रद्दीकरण लागू नहीं करता है, और वार्तालाप इतिहास संग्रहीत नहीं करता है। रूटिंग अपस्ट्रीम /v1/models और OpenCode की क्षमता सूची से मॉडल खोज का उपयोग करती है, जिसमें प्रोटोकॉल ओवरराइड उपलब्ध हैं। 'free' वाले ID या शून्य-लागत गैर-अप्रचलित मॉडल वाले मॉडलों के लिए अनाम पहुँच सक्षम है। रूटिंग अनुक्रम पहले अनाम प्रॉक्सी आज़माता है, फिर वरीयता क्रम में प्रमाणित टियर, प्रति टियर पुनर्प्रयास के साथ। सत्र आत्मीयता स्पष्ट सत्र ID या पहले उपयोगकर्ता संदेश के आधार पर एक स्थिर हैश का उपयोग करती है। कॉन्फ़िगरेशन में कुंजियाँ, श्रोता, रूटिंग वरीयताएँ, तर्क प्रयास (प्रति-मॉडल ओवरराइड के साथ), प्रॉक्सी (इनलाइन सूची और proxyfile), टाइमआउट, कनेक्शन पूल, लॉगिंग और WebUI सेटिंग्स शामिल हैं। WebUI एक कॉन्फ़िगरेशन सेंटर, प्लेग्राउंड, निदान, निगरानी और लाइव लॉग प्रदान करता है। प्रबंधन API मार्ग प्रमाणीकरण, कॉन्फ़िगरेशन पुनर्प्राप्ति/अद्यतन, रीलोड, गुप्त प्रकटीकरण, खाता अद्यतन, निगरानी आँकड़े, मॉडल निदान, अनुमान परीक्षण और लॉग संभालते हैं। निगरानी अनुरोध परिणाम, अपस्ट्रीम प्रयास, टोकन उपयोग और संसाधन आँकड़े ट्रैक करती है। डेटा दृढ़ता में कॉन्फ़िगरेशन फ़ाइलें, बैकअप और मॉडल कैश शामिल हैं; सत्र और मेट्रिक्स मेमोरी में हैं। स्वास्थ्य जाँच कैटलॉग उपलब्धता और प्रॉक्सी स्वास्थ्य के आधार पर तत्परता की रिपोर्ट करती है। विकास के लिए Go 1.24+ की आवश्यकता है और मानक Go टूलिंग का उपयोग करता है।