Отказ от cc-switch: Для управления несколькими поставщиками Claude Code достаточно одного скрипта
Для человека, которому часто требуется переключаться между разными поставщиками API больших моделей Claude Code, удобное управление и переключение API является насущной необходимостью.
Во-первых, зачем нужны несколько поставщиков API?
Есть две основные причины:
Проблемы с параллельными вызовами и лимитами. Запуск нескольких экземпляров Claude Code — обычное дело, и если все задачи выполняются через одного поставщика, легко упереться в ограничения.
У разных моделей есть свои сильные стороны. Если с проблемой не справляется модель A, можно попробовать модель B. Или же A пишет код, а B проводит Code Review.
Какое-то время я использовал cc-switch — хорошее бесплатное ПО с открытым исходным кодом. Оно не только позволяет управлять несколькими поставщиками, но и имеет функции управления навыками (skill), MCP, промптами. Более того, оно поддерживает не только Claude Code, но и Codex, Gemini, OpenCode.

Но его проблема как раз в том, что он предоставляет слишком много функций, и их становится всё больше. Мне кажется, многим разработчикам продуктов трудно отказаться от удовлетворения различных потребностей разных людей, в результате продукт становится всё сложнее; а пользователи инструментов всегда предпочитают, чтобы функций было как можно больше, даже если сейчас они не нужны, возможно, пригодятся в будущем.
Моя философия всегда была: «Меньше — значит больше». Чтобы поддерживать столько инструментов, некоторые вещи становятся сложными. Я использую только CC, поэтому эти функции и сложность не имеют ценности, а наоборот, становятся обузой.
cc-switch самостоятельно управляет файлами конфигурации. Когда несколько поставщиков должны использовать общие настройки, ему приходится отдельно поддерживать общую конфигурацию. Он часто сам записывает .claude/settings.json , и здесь часто возникают проблемы, особенно при частом переключении между поставщиками.
Ещё одна проблема — одновременный запуск нескольких экземпляров CC с разными поставщиками. С этим тоже есть проблемы (по крайней мере, в моём случае переключение происходит не полностью, что приводит к сбоям запросов). Если использовать его прокси-функцию, то переключаться можно только всем вместе, нельзя выбрать разных поставщиков для разных экземпляров.
Мои потребности тоже просты:
Унифицированное управление конфигурацией (только один файл)
Возможность использовать разных поставщиков для разных экземпляров CC.
Основываясь на этой цели, реализация тоже проста: хранить унифицированную конфигурацию в пользовательском файле settings.json. Изменение поставщика по сути означает изменение нескольких переменных окружения CC, с чем может справиться один shell-скрипт. Поэтому я сам создал «велосипед» с помощью CC, написав скрипт ccs, который поддерживает необязательный параметр -p для указания поставщика.
Таким образом, я могу:
ccs -p glm
ccs -p minimax
ccs -p kimi
ccs -p arkИдём дальше: создаём алиасы, чтобы напрямую использовать mm, ark для запуска Claude Code с указанным поставщиком.
alias mm="ccs -p minimax"
alias ark="ccs -p ark"А затем, в сочетании с zellij, легко управлять несколькими CC с разными поставщиками.
Просто, легко поддерживать, и можно свободно указывать поставщиков и запускать несколько экземпляров.
Вот как это выглядит в повседневной работе.


