ละทิ้ง cc-switch: การจัดการผู้ให้บริการ Claude Code หลายราย แค่สคริปต์เดียวก็เพียงพอ
สำหรับผู้ที่ต้องสลับผู้ให้บริการ API ของ Claude Code บ่อยๆ การจัดการและสลับ API ได้อย่างสะดวกถือเป็นความจำเป็นพื้นฐาน
ก่อนอื่น ทำไมต้องมีผู้ให้บริการ API หลายราย?
มีเหตุผลหลักสองประการ:
ปัญหาเรื่องการเรียกใช้พร้อมกันและโควต้า การเปิดหลายอินสแตนซ์ของ Claude Code เป็นเรื่องปกติ หากใช้งานทั้งหมดกับผู้ให้บริการรายเดียวอาจทำให้ติดขัดได้
แต่ละโมเดลมีจุดแข็งต่างกัน หากพบปัญหาและ A ไม่ได้ผล ก็สามารถเปลี่ยนไปใช้ B หรือให้ A เขียนโค้ด และให้ B ทำการตรวจสอบโค้ด
ช่วงหนึ่งฉันใช้ cc-switch ซึ่งเป็นซอฟต์แวร์โอเพนซอร์สฟรีที่ดี ไม่เพียงแต่จัดการผู้ให้บริการหลายราย แต่ยังจัดการ skill, mcp, prompt และอื่นๆ นอกจากนี้ยังไม่เพียงรองรับ Claude Code แต่ยังรองรับ codex, Gemini, OpenCode อีกด้วย

แต่ปัญหาของมันคือการที่มันมีฟังก์ชันมากเกินไป และเพิ่มขึ้นเรื่อยๆ ฉันคิดว่าผู้พัฒนาผลิตภัณฑ์หลายคนมักจะตอบสนองความต้องการที่หลากหลายของผู้ใช้ จนทำให้ผลิตภัณฑ์ซับซ้อนขึ้น ในขณะที่ผู้ใช้ก็มักชอบฟังก์ชันที่มากมาย แม้ตอนนี้ยังไม่ใช้ แต่ในอนาคตอาจจะใช้
ปรัชญาที่ฉันเชื่อคือ "Less is more" เพื่อรองรับเครื่องมือมากมาย บางสิ่งจึงซับซ้อนขึ้น ฉันใช้แค่ 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 เพื่อเปิด Claude Code ด้วยผู้ให้บริการที่ระบุได้โดยตรงด้วย mm, ark
alias mm="ccs -p minimax"
alias ark="ccs -p ark"จากนั้นใช้ร่วมกับ zellij เพื่อจัดการ CC หลายอินสแตนซ์จากผู้ให้บริการต่างกันได้อย่างง่ายดาย
ทั้งเรียบง่าย บำรุงรักษาง่าย และสามารถเปิดหลายอินสแตนซ์ด้วยผู้ให้บริการที่กำหนดได้ตามต้องการ
ชีวิตประจำวันก็เป็นแบบนี้






