मैं ऐसी स्थिति में हूँ जहाँ Gemini token बहुत सस्ते में इस्तेमाल कर सकता हूँ, इसलिए शीर्षक की तरह Claude Code से Gemini से जुड़े एक proxy backend को जोड़कर इस्तेमाल कर रहा हूँ। Gemini CLI बहुत ज़्यादा आक्रामक है (सिर्फ कोड पढ़ने को कहो तब भी बार-बार कुछ न कुछ बदलने की कोशिश करता है), इसलिए वह मुझे खास सूट नहीं किया। मुझे लगता है कि Claude Code का agent डिज़ाइन सबसे बेहतर काम करता है, इसलिए backend बदलने के बाद भी मैं इसे संतोषजनक तरीके से इस्तेमाल कर रहा हूँ.
यह proxy layer असल में एक अतिरिक्त abstraction layer जोड़ती है, इसलिए OpenAI, XAI, Claude, Gemini—सभी को एक ही तरीके से Claude Code से जोड़कर इस्तेमाल किया जा सकता है।
इस दौरान streaming + JSON parsing की समस्याएँ, और tool use के लिए schema refinement जैसी थकाऊ समस्याएँ हल करनी पड़ीं। अगर किसी की ऐसी ही चीज़ आज़माने में रुचि हो, तो कमेंट में बताइए, मैं इसे open source के रूप में जारी करने की कोशिश करूँगा।
अगर किसी ने ऐसा मिलता-जुलता काम किया है, तो कृपया अपना अनुभव साझा करें~
8 टिप्पणियां
मेरा अप्रोच थोड़ा अलग है। Claude Code या Cowork जैसे agent tools की बजाय, मैं pure LLM web chat में natural language बातचीत के ज़रिए development करता हूँ। अपने server पर एक proxy चढ़ाकर Claude ↔ Gemini API को जोड़ रखा है, और production services (KakaoTalk chatbot, ERP natural language agent) Gemini चलाता है, जबकि code review और architecture design Claude से बातचीत करते हुए आगे बढ़ते हैं, और इंसान सिर्फ final confirmation और deployment करता है.
Gemini coding trainee, Claude coding reviewer, और इंसान final confirmation — यह role separation काफ़ी अच्छी तरह fit बैठता है।
Code editor-आधारित agents (Claude Code आदि) की तुलना में token consumption बहुत कम होना भी एक फ़ायदा है। क्योंकि file I/O के बिना बातचीत के ज़रिए code का आदान-प्रदान होता है और इंसान उसे सीधे लागू करता है। जिस बात से मैं सहमत हूँ, वह यह है कि "Claude का agent design सबसे अच्छा काम करता है"। Gemini CLI वाकई काफ़ी assertive है (haha), इसलिए review वाली भूमिका में Claude बेहतर लगा।
अपना अनुभव साझा करने के लिए धन्यवाद। 👍 Gemini और Claude के स्वभाव के फर्क वाली बात से भी मैं सहमत हूँ।
आप एक ही web interface में कई providers को साथ जोड़कर इस्तेमाल कर रहे हैं। Agent-आधारित autonomous coding करते समय अच्छी design पर गहराई से सोचने के बजाय अक्सर 'resume-driven development' की तरह सतही ढंग से लिखने की प्रवृत्ति हो जाती है, इसलिए मुझे भी लगता है कि design को संवाद के रूप में करना बेहतर है. ☺️
मैंने लोकल में anthropic-proxy जैसी चीज़ चलाकर
ANTHROPIC_BASE_URL=http://0.0.0.0:3000 claudeजैसे कमांड से proxy करके दूसरे Gemini या GPT मॉडल इस्तेमाल किए हैं, लेकिन आपने इसे serverless में implement किया है, यह सुनकर जिज्ञासा हो रही है।ओह, JS में लिखा हुआ open source भी है। धन्यवाद 👍👍
अंदरूनी संरचना काफ़ी मिलती-जुलती है, लेकिन मैं इसे थोड़ा ज़्यादा abstraction करके इस्तेमाल कर रहा हूँ। (पसंद का फ़र्क)
इसे serverless में लिखें तब भी LLM response time काफ़ी धीमा होता है, इसलिए cold start का असर ज़्यादा महसूस नहीं होता और अनुभव आरामदायक रहता है। साथ ही, lambda की Function URL सुविधा का उपयोग करें तो streaming भी संभव है, इसलिए यह पूरी तरह कवर हो जाता है। खासकर reboot होने पर भी server चालू करने की ज़रूरत नहीं पड़ती, यही बात सबसे अच्छी लगती है।
इस कोड में fast api वाले हिस्से को सिर्फ़ lambda handler फ़ॉर्मैट में बदलकर Lambda पर deploy करके देखें, तो (थोड़ी troubleshooting के बाद) यह काफ़ी उपयोगी साबित हो सकता है।
https://github.com/1rgs/claude-code-proxy
क्या इसमें और ऐसे proxy में कोई फ़र्क है?
अच्छी लाइब्रेरी बताने के लिए धन्यवाद। अगर पहले पता होता, तो शायद मैं इसे थोड़ा और आसानी से बना पाता 👍👍
अंदरूनी तौर पर input/output format conversion की प्रोसेस अपने-आप में बहुत अलग नहीं लगती,
लेकिन अगर फर्क ढूँढें, तो आपके द्वारा परिचित कराई गई लाइब्रेरी self-hosting / Docker / Python / LiteLLM आधारित है, जबकि मैंने इसे serverless / AWS Lambda / TS / बिना dependencies के implement किया है.
Claude Code में Gemini को कनेक्ट करने पर अकाउंट सस्पेंड भी हो सकता है।
लगता है कि आपको opencode के बड़े पैमाने पर हुए सस्पेंशन मामले से सावधान रहना चाहिए।
तेज़ टिप्पणी के लिए धन्यवाद। 🙌
Open Code के निलंबन मामले में (Claude subscription => OpenCode integration), समस्या इसलिए हुई क्योंकि OAuth से प्रमाणित फ्लैट-रेट प्लान key को third-party software में इस्तेमाल किया गया। ऊपर बताए गए तरीके से उपयोग करने के लिए API key जारी करके pay-as-you-go मॉडल पर इस्तेमाल करना शर्तों का उल्लंघन नहीं है।