cc-switch کو چھوڑ دیں: متعدد Claude Code فراہم کنندگان کا انتظام، دراصل صرف ایک اسکرپٹ کی ضرورت ہے
ایک ایسے شخص کے لیے جسے Claude Code بڑے ماڈل API فراہم کنندگان کے درمیان بار بار سوئچ کرنے کی ضرورت ہوتی ہے، API کا آسان انتظام اور تبدیلی ایک بنیادی ضرورت ہے۔
سب سے پہلے، متعدد API فراہم کنندگان کی ضرورت کیوں ہے؟
اس کی دو بنیادی وجوہات ہیں:
کال کی ہم وقتی اور حد کا مسئلہ، متعدد Claude Code مثالوں کو چلانا عام بات ہے، اگر تمام کام ایک ہی فراہم کنندہ کے ساتھ چل رہے ہوں تو آسانی سے رکاوٹ کا سامنا کرنا پڑ سکتا ہے۔
کچھ ماڈلز اپنی مہارت میں مختلف ہیں، اگر مسئلہ پیش آئے اور A کام نہ کرے تو B کو آزمایا جا سکتا ہے۔ یا پھر A لکھے، اور B کوڈ کا جائزہ لے۔
کچھ عرصے تک میں cc-switch استعمال کرتا رہا، یہ ایک اچھا مفت اوپن سورس سافٹ ویئر ہے۔ نہ صرف متعدد فراہم کنندگان کا انتظام کر سکتا ہے، بلکہ اسکل، ایم سی پی، اور پرومپٹ جیسی خصوصیات بھی مہیا کرتا ہے۔ اور یہ صرف Claude Code ہی نہیں، بلکہ codex، Gemini، اور OpenCode کو بھی سپورٹ کرتا ہے۔

لیکن اس کا مسئلہ یہ ہے کہ یہ بہت زیادہ خصوصیات فراہم کرتا ہے، اور یہ بڑھتی ہی جا رہی ہیں۔ میرے خیال میں بہت سے مصنوعات بنانے والے لوگوں کے لیے مختلف لوگوں کی مختلف ضروریات کو پورا کرنے سے انکار کرنا مشکل ہوتا ہے، اور پھر وہ مصنوعات کو زیادہ پیچیدہ بنا دیتے ہیں؛ اور ٹول استعمال کرنے والے لوگ بھی ہمیشہ زیادہ سے زیادہ خصوصیات پسند کرتے ہیں، شاید ابھی استعمال نہ ہو لیکن مستقبل میں کام آ سکے۔
میرا فلسفہ ہمیشہ سے "کم ہی زیادہ ہے" رہا ہے۔ ان تمام ٹولز کو سپورٹ کرنے کے لیے اس کی کچھ چیزیں پیچیدہ ہو جاتی ہیں، میں صرف CC استعمال کرتا ہوں، اس لیے یہ خصوصیات اور پیچیدگیاں بے کار ہیں، بلکہ بوجھ بن جاتی ہیں۔
cc-switch خود کنفیگریشن فائلز کو برقرار رکھتا ہے، جب متعدد فراہم کنندگان کو کنفیگریشن شیئر کرنے کی ضرورت ہوتی ہے، تو اسے ایک علیحدہ عمومی کنفیگریشن برقرار رکھنی پڑتی ہے۔ یہ خود اکثر .claude/settings.json لکھتا ہے، یہاں اکثر مسائل پیدا ہوتے ہیں، خاص طور پر جب فراہم کنندگان میں بار بار تبدیلی کی جاتی ہے۔
ایک اور مسئلہ یہ ہے کہ مختلف فراہم کنندگان کے ساتھ ایک ساتھ متعدد CC مثالوں کو چلانا، اس میں بھی مسئلہ ہے (کم از کم میرے استعمال کے دوران ایسا ہوتا تھا جس کی وجہ سے درخواست ناکام ہو جاتی تھی)۔ اگر اس کی پراکسی خصوصیت استعمال کی جائے تو پھر سب کو ایک ساتھ تبدیل کرنا پڑتا ہے، مختلف مثالوں میں مختلف فراہم کنندگان کا انتخاب ممکن نہیں ہوتا۔
میری ضروریات بھی سادہ ہیں:
کنفیگریشن کو یکجا طور پر برقرار رکھا جائے (صرف ایک کاپی)
مختلف CC مثالوں میں مختلف فراہم کنندگان استعمال کیے جا سکیں۔
اس مقصد کے تحت عمل درآمد بھی آسان ہے، صارف کے settings.json میں یکجا کنفیگریشن محفوظ کی جاتی ہے۔ فراہم کنندہ کو تبدیل کرنا دراصل CC کے ان ماحولیاتی متغیرات کو بدلنا ہے، ایک شیل اسکرپٹ اسے حل کر سکتا ہے، اس لیے میں نے CC کا استعمال کرتے ہوئے خود ایک پہیہ بنایا، اور ccs نامی ایک اسکرپٹ لکھا، جو فراہم کنندہ کی وضاحت کے لیے ایک اختیاری -p پیرامیٹر سپورٹ کرتا ہے۔
اس طرح میں کر سکتا ہوں:
ccs -p glm
ccs -p minimax
ccs -p kimi
ccs -p arkایک قدم اور آگے بڑھتے ہوئے، alias بنائیں، تاکہ براہ راست mm، ark استعمال کر کے مخصوص فراہم کنندہ کے ساتھ Claude Code چلایا جا سکے۔
alias mm="ccs -p minimax"
alias ark="ccs -p ark"اور پھر zellij کے ساتھ مل کر مختلف فراہم کنندگان کے CC کو آسانی سے منظم کیا جا سکتا ہے۔
نہ صرف سادہ اور آسان برقرار رکھنے والا، بلکہ فراہم کنندہ کو بلا روک ٹوک مقرر کر کے متعدد کھولنے کے قابل۔
روزمرہ کا معمول ایسا ہی ہے۔






