প্রকল্প সম্পর্কে

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` দিয়ে চালান। ghcr.io/jasonxu114514/opencode2api এর মাধ্যমে ডকার ইমেজ উপলব্ধ, ডকার কম্পোজ সমর্থন সহ। 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' থাকা মডেল বা শূন্য-খরচের অ-অপ্রচলিত মডেলগুলির জন্য বেনামী অ্যাক্সেস সক্ষম। রাউটিং ক্রম প্রথমে বেনামী প্রক্সি চেষ্টা করে, তারপর পছন্দের ক্রমে প্রমাণীকৃত টিয়ার, প্রতি টিয়ারে পুনরায় চেষ্টা সহ। সেশন অ্যাফিনিটি স্পষ্ট সেশন আইডি বা প্রথম ব্যবহারকারী বার্তার উপর ভিত্তি করে একটি স্থিতিশীল হ্যাশ ব্যবহার করে। কনফিগারেশন কী, লিসেনার, রাউটিং পছন্দ, যুক্তি প্রচেষ্টা (প্রতি-মডেল ওভাররাইড সহ), প্রক্সি (ইনলাইন তালিকা এবং প্রক্সিফাইল), টাইমআউট, সংযোগ পুল, লগিং এবং WebUI সেটিংস কভার করে। WebUI একটি কনফিগারেশন সেন্টার, প্লেগ্রাউন্ড, ডায়াগনস্টিকস, মনিটরিং এবং লাইভ লগ সরবরাহ করে। ব্যবস্থাপনা API রুট প্রমাণীকরণ, কনফিগারেশন পুনরুদ্ধার/আপডেট, রিলোড, গোপন প্রকাশ, অ্যাকাউন্ট আপডেট, মনিটরিং পরিসংখ্যান, মডেল ডায়াগনস্টিকস, ইনফারেন্স পরীক্ষা এবং লগ পরিচালনা করে। মনিটরিং অনুরোধের ফলাফল, আপস্ট্রিম প্রচেষ্টা, টোকেন ব্যবহার এবং সংস্থান পরিসংখ্যান ট্র্যাক করে। ডেটা স্থায়ীত্বের মধ্যে কনফিগারেশন ফাইল, ব্যাকআপ এবং মডেল ক্যাশ অন্তর্ভুক্ত; সেশন এবং মেট্রিক্স মেমরিতে থাকে। স্বাস্থ্য পরীক্ষা ক্যাটালগ প্রাপ্যতা এবং প্রক্সি স্বাস্থ্যের উপর ভিত্তি করে প্রস্তুতি রিপোর্ট করে। উন্নয়নের জন্য Go 1.24+ প্রয়োজন এবং স্ট্যান্ডার্ড Go টুলিং ব্যবহার করে।