منصوبے کے بارے میں
opencode2api ایک Go گیٹ وے ہے جو OpenCode Zen اور Zen Go کے لیے بنایا گیا ہے۔ یہ Chat Completions، Responses اور Anthropic Messages endpoints فراہم کرتا ہے، ان کے مقامی پروٹوکولز کے درمیان ترجمہ کرتا ہے اور upstream keys اور proxies کا انتظام کرتا ہے۔ اس executable میں WebUI شامل ہے اور اسے Node.js runtime یا database کی ضرورت نہیں۔
اس کی صلاحیتوں میں تینوں inference پروٹوکولز میں JSON اور SSE responses، text، images، reasoning، function tools، tool calls اور tool results کی معاونت، Zen اور Go کے الگ key pools جن میں قابلِ ترتیب tier preference، retries اور session affinity شامل ہیں، اختیاری anonymous Zen رسائی، direct/HTTP/HTTPS/SOCKS5/SOCKS5H proxy سپورٹ، disk caches کے ساتھ dynamic model discovery، configuration editing کے لیے الگ management port، ایک Playground، diagnostics، token statistics اور live logs، نیز validation کے ساتھ configuration hot reload شامل ہیں۔
Quick start: GitHub Releases سے binary ڈاؤن لوڈ کریں یا Go 1.24+ کے ساتھ build کریں۔ config.json میں server_keys، Zen/Go keys (یا anonymous فعال کریں) اور WebUI password سیٹ کریں۔ `./opencode2api -config config.json` کے ساتھ چلائیں۔ Docker images ghcr.io/jasonxu114514/opencode2api پر دستیاب ہیں اور docker compose سپورٹ موجود ہے۔
API endpoints میں GET /v1/models، POST /v1/chat/completions، POST /v1/responses، POST /v1/messages اور GET /healthz شامل ہیں۔ Authentication مقامی server_keys کو Bearer یا x-api-key headers کے ذریعے استعمال کرتا ہے۔ Streaming `stream: true` کے ساتھ معاون ہے۔ یہ گیٹ وے embeddings، file uploads، image generation یا Responses retrieval/cancellation نافذ نہیں کرتا، اور conversation history محفوظ نہیں کرتا۔
Routing upstream /v1/models سے model discovery اور OpenCode کے capability catalog استعمال کرتی ہے، جس میں protocol overrides دستیاب ہیں۔ Anonymous رسائی ان models کے لیے فعال ہے جن کی ID میں 'free' ہو یا جو zero-cost اور non-deprecated ہوں۔ Routing sequence پہلے anonymous proxies آزمانے کی کوشش کرتی ہے، پھر authenticated tiers کو preference order میں، ہر tier کے لیے retries کے ساتھ۔ Session affinity واضح session IDs یا پہلے user message پر مبنی مستحکم hash استعمال کرتی ہے۔
Configuration میں keys، listeners، routing preferences، reasoning effort (per-model overrides کے ساتھ)، proxies (inline list اور proxyfile)، timeouts، connection pools، logging اور WebUI settings شامل ہیں۔ WebUI ایک Configuration Center، Playground، diagnostics، monitoring اور live logs فراہم کرتا ہے۔ Management API routes authentication، config retrieval/update، reload، secret reveal، account updates، monitoring stats، model diagnostics، inference testing اور logs کو سنبھالتے ہیں۔
Monitoring request outcomes، upstream attempts، token usage اور resource statistics کو ٹریک کرتی ہے۔ Data persistence میں configuration files، backups اور model caches شامل ہیں؛ sessions اور metrics in-memory ہوتے ہیں۔ Health checks catalog availability اور proxy health کی بنیاد پر readiness رپورٹ کرتے ہیں۔ Development کے لیے Go 1.24+ درکار ہے اور معیاری Go tooling استعمال ہوتی ہے۔
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.