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

# routatic-proxy একটি Go CLI প্রক্সি যা আপনাকে [Claude Code](https://docs.anthropic.com/en/docs/claude-code) অনুরোধ একাধিক আপস্ট্রিম প্রদানকারীর মাধ্যমে রাউট করতে দেয়, স্বয়ংক্রিয় মডেল নির্বাচন এবং ফরম্যাট রূপান্তর সহ। `routatic-proxy` ক্লড কোড এবং আপনার নির্বাচিত প্রদানকারীদের মধ্যে বসে, Anthropic API অনুরোধ আটকায়, সেগুলোকে উপযুক্ত ফরম্যাটে (OpenAI, Anthropic, Responses, বা Gemini) রূপান্তর করে এবং আপস্ট্রিমে ফরওয়ার্ড করে। ক্লড কোড মনে করে এটি Anthropic-এর সাথে কথা বলছে — কিন্তু আপনার অনুরোধগুলো আপনার কনফিগার করা মডেল এবং প্রদানকারীদের কাছে যায়। `oc-go-cc` একটি সামঞ্জস্যপূর্ণ উপনাম হিসাবে উপলব্ধ থাকে এবং বিদ্যমান `OC_GO_CC_*` এনভায়রনমেন্ট ভেরিয়েবল এবং `~/.config/oc-go-cc/config.json` ফাইলগুলো এখনও স্বীকৃত হয়। ## সমর্থিত প্রদানকারী | প্রদানকারী | বিবরণ | সেরা জন্য | |----------|-------------|----------| | **OpenCode Go** | উচ্চ-পারফরম্যান্স ওপেন-সোর্স কোডিং মডেল ফ্ল্যাট-রেট মূল্যে | দৈনিক কোডিং, জটিল যুক্তি, সাশ্রয়ী কাজের চাপ | | **OpenCode Zen** | কিউরেটেড, পরীক্ষিত মডেল পে-অ্যাজ-ইউ-গো মূল্যে | একাধিক API কী ছাড়া Claude/GPT/Gemini অ্যাক্সেস | | **AWS Bedrock** | এন্টারপ্রাইজ-গ্রেড মডেল আপনার নিজস্ব AWS অবকাঠামোতে | ডেটা সার্বভৌমত্ব এবং সম্মতি প্রয়োজন এমন এন্টারপ্রাইজ | | **OpenRouter** | 100+ LLM-এর জন্য ইউনিফাইড API স্বয়ংক্রিয় ফলওভার সহ | একাধিক প্রদানকারীর মডেল নিয়ে পরীক্ষা | | **Anthropic** | নেটিভ ক্লড মডেল anthropic-প্রথম ফলওভার মোড সহ | OpenCode ফলব্যাক সহ ক্লড-প্রথম ওয়ার্কফ্লো | ## বৈশিষ্ট্য - **মাল্টি-প্রোভাইডার** — একটি কনফিগ থেকে OpenCode Go, OpenCode Zen, AWS Bedrock, বা OpenRouter-এর মাধ্যমে রাউট করুন - **ট্রান্সপারেন্ট প্রক্সি** — ক্লড কোড Anthropic-ফরম্যাট অনুরোধ পাঠায়, প্রক্সি প্রদানকারী-নেটিভ ফরম্যাটে রূপান্তর করে এবং ফিরিয়ে আনে - **মডেল রাউটিং** — প্রসঙ্গ অনুযায়ী স্বয়ংক্রিয়ভাবে বিভিন্ন মডেলে রাউট করে (ডিফল্ট, চিন্তা, দীর্ঘ প্রসঙ্গ, ব্যাকগ্রাউন্ড) - **স্ট্রিমিং সিনারিও রাউটিং** — স্ট্রিমিং অনুরোধের জন্য কনফিগারযোগ্য রাউটিং - **ফলব্যাক চেইন** — একটি মডেল ব্যর্থ হলে, আপনার কনফিগার করা চেইনের পরেরটি স্বয়ংক্রিয়ভাবে চেষ্টা করে - **Anthropic-প্রথম ফলওভার** — ক্লডকে Anthropic-এ রাখুন এবং রেট লিমিট বা আউটেজের সময় শুধুমাত্র OpenCode ব্যবহার করুন - **সার্কিট ব্রেকার** — মডেল স্বাস্থ্য ট্র্যাক করে এবং লেটেন্সি স্পাইক এড়াতে ব্যর্থ মডেলগুলো এড়িয়ে যায় - **রিয়েল-টাইম স্ট্রিমিং** — লাইভ ফরম্যাট রূপান্তর সহ সম্পূর্ণ SSE স্ট্রিমিং - **টুল কলিং** — সঠিক Anthropic tool_use/tool_result ↔ OpenAI/Gemini ফাংশন কলিং অনুবাদ - **হট রিলোড** — কনফিগ ফাইল পরিবর্তন দেখুন এবং স্বয়ংক্রিয়ভাবে পুনরায় লোড করুন - **সেলফ-আপডেট** — এক কমান্ডে সর্বশেষ রিলিজ চেক এবং ইনস্টল করুন ## GUI সংস্করণ এই রিপোজিটরি `routatic-proxy`-এর জন্য একটি ক্রস-প্ল্যাটফর্ম GUI সরবরাহ করে: - **macOS** — সিস্টেম ট্রে ইন্টিগ্রেশন সহ নেটিভ Cocoa উইন্ডো (CGO প্রয়োজন)। **Releases** পৃষ্ঠা থেকে `.dmg` ডাউনলোড করুন। - **Linux** — `xdg-open`-এর মাধ্যমে ব্রাউজার-ভিত্তিক GUI (ডিফল্ট, CGO প্রয়োজন নেই)। সিস্টেম ট্রের জন্য: `CGO_ENABLED=1` দিয়ে বিল্ড করুন এবং `libappindicator-gtk3-devel` (Fedora) বা `libayatana-appindicator3-dev` (Ubuntu/Debian) ইনস্টল করুন। - **Windows** — GUI সমর্থিত নয় (শুধুমাত্র CLI)। **ড্যাশবোর্ড ট্যাব:** ওভারভিউ (রিয়েল-টাইম মেট্রিক্স ও মডেল বিতরণ), হিস্ট্রি (ফিল্টার সহ শেষ 1000 অনুরোধ), সেটিংস (হট-রিলোড সহ কনফিগ সম্পাদনা)। `start` (নয় `serve`) ব্যবহার করার সময় ড্যাশবোর্ড `http://127.0.0.1:3445`-এ উপলব্ধ। ## দ্রুত শুরু ```bash # 1. ইনস্টল brew tap routatic/tap && brew install routatic-proxy # 2. কনফিগারেশন শুরু করুন routatic-proxy init # 3. আপনার API কী সেট করুন export ROUTATIC_PROXY_API_KEY=sk-opencode-your-key-here # 4. প্রক্সি শুরু করুন routatic-proxy serve # 5. ক্লড কোড কনফিগার করুন export ANTHROPIC_BASE_URL=http://127.0.0.1:3456 export ANTHROPIC_AUTH_TOKEN=unused # 6. ক্লড কোড চালান claude ``` **Fedora / RHEL:** প্রতিটি রিলিজ `x86_64` এবং `aarch64` RPM পাঠায় — `sudo dnf install https://github.com/routatic/proxy/releases/download/vX.Y.Z/routatic-proxy-X.Y.Z-1.x86_64.rpm`। Homebrew, Scoop, Docker এবং সোর্স থেকে বিল্ড বিকল্পের জন্য [INSTALLATION.md](INSTALLATION.md) দেখুন। প্রদানকারী পরিবর্তনের জন্য GUI পছন্দ করেন? routatic-proxy [CC-Switch](https://github.com/farion1231/cc-switch)-এর সাথে কাজ করে। ## CLI কমান্ড ``` routatic-proxy start প্রক্সি + ড্যাশবোর্ড শুরু করুন (http://127.0.0.1:3445) routatic-proxy start -b ব্যাকগ্রাউন্ডে প্রক্সি + ড্যাশবোর্ড শুরু করুন routatic-proxy serve শুধুমাত্র প্রক্সি সার্ভার শুরু করুন (হেডলেস, ড্যাশবোর্ড ছাড়া) routatic-proxy serve -b শুধুমাত্র ব্যাকগ্রাউন্ডে প্রক্সি শুরু করুন (টার্মিনাল থেকে বিচ্ছিন্ন) routatic-proxy stop চলমান প্রক্সি সার্ভার বন্ধ করুন routatic-proxy status প্রক্সি চলছে কিনা পরীক্ষা করুন routatic-proxy init ডিফল্ট কনফিগারেশন ফাইল তৈরি করুন routatic-proxy validate কনফিগারেশন ফাইল বৈধতা যাচাই করুন routatic-proxy models সমস্ত উপলব্ধ মডেল তালিকাভুক্ত করুন routatic-proxy autostart enable লগইনে অটো-স্টার্ট সক্ষম করুন routatic-proxy update আপনার চ্যানেলে সর্বশেষ রিলিজে আপডেট করুন routatic-proxy update check ইনস্টল না করে নতুন রিলিজ পরীক্ষা করুন routatic-proxy update-channel রিলিজ চ্যানেল দেখুন বা পরিবর্তন করুন (stable|beta) routatic-proxy --version সংস্করণ দেখান ``` ## ডকুমেন্টেশন | ডকুমেন্ট | বিবরণ | |----------|-------------| | [MODELS.md](MODELS.md) | সমস্ত প্রদানকারীর মডেল রেফারেন্স — ক্ষমতা, খরচ, এন্ডপয়েন্ট, রাউটিং সুপারিশ | | [docs/openrouter.md](docs/openrouter.md) | OpenRouter প্রদানকারী সেটআপ এবং কনফিগারেশন | | [CONFIGURATION.md](CONFIGURATION.md) | কনফিগ ফাইল রেফারেন্স, এনভি ভেরিয়েবল, মডেল রাউটিং, ফলব্যাক চেইন | | [INSTALLATION.md](INSTALLATION.md) | Homebrew, Scoop, সোর্স থেকে বিল্ড, Docker | | [CONTRIBUTING.md](CONTRIBUTING.md) | ডেভেলপমেন্ট সেটআপ, আর্কিটেকচার | | [TROUBLESHOOTING.md](TROUBLESHOOTING.md) | সাধারণ সমস্যা এবং ডিবাগ মোড | | [docs/architecture.md](docs/architecture.md) | সিস্টেম ডিজাইন এবং অনুরোধ প্রবাহ | | [docs/fedora-setup.md](docs/fedora-setup.md) | Fedora 44 সেটআপ (systemd, SELinux) | | [docs/reference-api.md](docs/reference-api.md) | HTTP API রেফারেন্স | | [docs/howto-add-model.md](docs/howto-add-model.md) | নতুন মডেল যোগ করা (শূন্য কোড পরিবর্তন) | | [docs/howto-custom-routing.md](docs/howto-custom-routing.md) | সিনারিও সনাক্তকরণ এবং রাউটিং কাস্টমাইজ করা | | [docs/howto-debug-routing.md](docs/howto-debug-routing.md) | রাউটিং সমস্যা ডিবাগ করা | ## রিলিজ চ্যানেল এই প্রকল্প দুটি চ্যানেলে পাঠানো হয়। স্টেবল ডিফল্ট; বিটা আপনাকে নতুন বৈশিষ্ট্য আগে দেয়। ```bash routatic-proxy update-channel beta # বিটা অপ্ট ইন routatic-proxy update # সর্বশেষ বিটা ইনস্টল করুন routatic-proxy update-channel stable # স্টেবল রিলিজে ফিরে যান ``` ### বিটা চ্যানেল (স্বয়ংক্রিয়) - **ট্রিগার:** `main` শাখায় প্রতিটি পুশ - **সংস্করণ ফরম্যাট:** `v{আসন্ন}-beta.{N}` (যেমন, `v0.6.4-beta.1`), যেখানে `{N}` একটি ক্রমিক কাউন্টার যা সেই সংস্করণ স্টেবল হিসেবে প্রকাশিত হলে পুনরায় শুরু হয় - **GitHub রিলিজ:** প্রিরিলিজ হিসেবে চিহ্নিত - **Docker ট্যাগ:** `beta` (রোলিং), প্লাস সঠিক `v{আসন্ন}-beta.{N}` - **ব্যবহারের ক্ষেত্রে:** সর্বশেষ বৈশিষ্ট্য এবং বাগ ফিক্স অবিলম্বে পান; পরীক্ষার জন্য আদর্শ ### প্রোডাকশন চ্যানেল (ম্যানুয়াল) - **ট্রিগার:** `releases` শাখায় ম্যানুয়াল `workflow_dispatch` - **সংস্করণ ফরম্যাট:** `vX.Y.Z` (সেমান্টিক ভার্সনিং) - **GitHub রিলিজ:** স্টেবল হিসেবে চিহ্নিত - **Docker ট্যাগ:** `vX.Y.Z`, `vX.Y`, `vX`, `latest` - **ব্যবহারের ক্ষেত্রে:** প্রোডাকশন ব্যবহারের জন্য স্থিতিশীল, পরীক্ষিত রিলিজ ## অবদান আমরা অবদান স্বাগত জানাই! ডেভেলপমেন্ট সেটআপ, আর্কিটেকচার ওভারভিউ এবং পুল রিকোয়েস্ট জমা দেওয়ার জন্য [CONTRIBUTING.md](CONTRIBUTING.md) দেখুন। ## লাইসেন্স [AGPL-3.0](LICENSE)