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

# routatic-proxy एक Go CLI प्रॉक्सी जो आपको [Claude Code](https://docs.anthropic.com/en/docs/claude-code) अनुरोधों को स्वचालित मॉडल चयन और प्रारूप रूपांतरण के साथ कई अपस्ट्रीम प्रदाताओं के माध्यम से रूट करने देता है। `routatic-proxy` Claude Code और आपके चुने हुए प्रदाताओं के बीच बैठता है, Anthropic API अनुरोधों को इंटरसेप्ट करता है, उन्हें उपयुक्त प्रारूप (OpenAI, Anthropic, Responses, या Gemini) में रूपांतरित करता है, और उन्हें अपस्ट्रीम अग्रेषित करता है। Claude Code को लगता है कि यह 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-first फेलओवर मोड के साथ मूल Claude मॉडल | OpenCode फ़ॉलबैक के साथ Claude-first वर्कफ़्लो | ## विशेषताएँ - **मल्टी-प्रोवाइडर** — एक ही कॉन्फ़िग से OpenCode Go, OpenCode Zen, AWS Bedrock, या OpenRouter के माध्यम से रूट करें - **पारदर्शी प्रॉक्सी** — Claude Code Anthropic-प्रारूप अनुरोध भेजता है, प्रॉक्सी प्रदाता-मूल प्रारूप में और वापस रूपांतरित करता है - **मॉडल रूटिंग** — संदर्भ (डिफ़ॉल्ट, थिंकिंग, लंबा संदर्भ, पृष्ठभूमि) के आधार पर स्वचालित रूप से विभिन्न मॉडलों पर रूट करता है - **स्ट्रीमिंग परिदृश्य रूटिंग** — स्ट्रीमिंग अनुरोधों के लिए कॉन्फ़िगर करने योग्य रूटिंग - **फ़ॉलबैक श्रृंखलाएँ** — यदि कोई मॉडल विफल हो जाता है, तो आपकी कॉन्फ़िगर की गई श्रृंखला में अगला स्वचालित रूप से आज़माता है - **Anthropic-First फेलओवर** — Claude को 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)। **डैशबोर्ड टैब:** Overview (रीयल-टाइम मेट्रिक्स और मॉडल वितरण), History (फ़िल्टर के साथ अंतिम 1000 अनुरोध), Settings (हॉट-रीलोड के साथ कॉन्फ़िग संपादित करें)। `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. Claude Code कॉन्फ़िगर करें export ANTHROPIC_BASE_URL=http://127.0.0.1:3456 export ANTHROPIC_AUTH_TOKEN=unused # 6. Claude Code चलाएँ 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) | रूटिंग समस्याओं को डीबग करना | ## रिलीज़ चैनल यह प्रोजेक्ट दो चैनलों पर भेजा जाता है। Stable डिफ़ॉल्ट है; beta आपको नवीनतम सुविधाएँ जल्दी देता है। ```bash routatic-proxy update-channel beta # बीटा में शामिल हों routatic-proxy update # नवीनतम बीटा इंस्टॉल करें routatic-proxy update-channel stable # स्थिर रिलीज़ पर वापस जाएँ ``` ### बीटा चैनल (स्वचालित) - **ट्रिगर:** `main` शाखा पर प्रत्येक पुश - **संस्करण प्रारूप:** `v{UPCOMING}-beta.{N}` (जैसे, `v0.6.4-beta.1`), जहाँ `{N}` एक अनुक्रमिक काउंटर है जो उस संस्करण के स्थिर रूप में जारी होने पर पुनः आरंभ होता है - **GitHub रिलीज़:** प्रीरिलीज़ के रूप में चिह्नित - **Docker टैग:** `beta` (रोलिंग), साथ ही सटीक `v{UPCOMING}-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)