· 6 мин · Инструменты

CC Switch для Claude Code: управление аккаунтами, поставщиками и конфигурациями

CC Switch для Claude Code: управление аккаунтами, поставщиками и конфигурациями

В 9:05 утра вы направляете Claude Code на корпоративный шлюз. В 11:30 вам нужен личный аккаунт Anthropic. После обеда репозиторий клиента требует собственных серверов MCP и псевдонимов моделей. К концу дня ~/.claude/settings.json уже редактировали трижды, в одной командной оболочке всё ещё хранится старый токен, и никто не уверен, на какой конечный адрес уйдёт следующий запрос.

CC Switch решает эту операционную проблему с помощью именованных профилей, которыми управляют из настольного приложения. Вместо ручного переноса учётных данных, URL провайдеров, определений MCP и файлов конфигурации конкретных агентов вы выбираете профиль, который должен быть активен. Важная техническая деталь: это управление конфигурацией, а не виртуализация аккаунтов. Claude Code по-прежнему читает свои обычные локальные файлы и настройки окружения, а CC Switch координирует то, что в них записывается.

Это даёт существенное удобство, но и граница доверия здесь имеет большое значение. Утилита, способная переключать учётные записи разработчика, должна иметь возможность читать или записывать его учётные данные. Прежде чем начать её использовать, следует точно выяснить, какие файлы она изменяет, где находится её собственная база данных и как защищены эти файлы.

Что на самом деле делает CC Switch при управлении Claude Code

CC Switch — настольный менеджер конфигураций для агентов программирования с открытым исходным кодом. Список поддерживаемых интеграций со временем расширяется, поэтому, прежде чем закрепить фиксированный список в качестве стандарта, проверьте актуальный репозиторий и примечания к выпускам. Claude Code — одна из основных интеграций; текущие версии также поддерживают другие агенты программирования для командной строки, такие как Codex и Gemini CLI.

Для Claude Code профиль провайдера обычно объединяет:

  • Адрес API, совместимого с Anthropic
  • Ключ API или токен аутентификации
  • Сопоставления моделей или связанные с моделями значения переменных окружения
  • Дополнительные переменные окружения
  • Определения серверов MCP
  • Настройки Claude Code, которые должны применяться вместе с профилем

Это полезно, когда «учётная запись» означает не просто вход в Anthropic. В реальных развёртываниях разработчики могут переключаться между:

  • Прямым доступом к API Anthropic
  • API-шлюзом организации с аутентификацией
  • Сторонним провайдером, совместимым с Anthropic
  • Отдельными платёжными аккаунтами для личного использования, тестовой и производственной сред
  • Локальным или удалённым прокси с совместимой семантикой запросов

CC Switch объединяет эти варианты в одном месте и активирует выбранную конфигурацию. Он не обеспечивает одинаковое поведение всех совместимых API. Различия в названиях моделей, заголовках аутентификации, ограничениях частоты запросов, кешировании промптов и неподдерживаемых полях API остаются в зоне ответственности провайдера.

ПодходЗатраты на переключениеКто получает доступ к учётным даннымУправление MCPОптимальное применение
Экспорт переменных в оболочкеНизкие поначалу, впоследствии возможны ошибкиОболочка, история команд, дочерние процессыВручнуюОдна временная учётная запись
Редактирование файлов конфигурации вручнуюУмеренныеРедактор, резервные копии, локальные файлыВручнуюСтабильная конфигурация с одним провайдером
Скрипты-обёрткиНизкие после настройкиСкрипт или менеджер секретовЗависит от скриптаКоманды, готовые поддерживать инструменты
Профили CC SwitchНизкие благодаря настольному интерфейсуCC Switch и файлы конфигурации агентаЕдиный интерфейсНесколько учётных записей, провайдеров или агентов
Внешний менеджер секретов и скрипты-обёрткиСамые высокие затраты на настройкуМенеджер секретов и выполняющийся процессИндивидуальная реализацияСтрогие корпоративные требования к контролю

Таблица показывает компромисс: CC Switch снижает число ошибок оператора, но становится ещё одним локальным приложением с расширенными правами доступа.

Установка и поддержка платформ

CC Switch распространяется через страницу GitHub Releases проекта. В настоящее время в репозитории заявлена поддержка настольных систем macOS, Windows и Linux; набор файлов выпуска зависит от платформы и версии. Проверьте файлы, прикреплённые к выпуску, который вы собираетесь развернуть: наличие исходного кода не гарантирует, что для каждого выпуска есть сборки под все версии операционных систем, архитектуры процессоров и форматы пакетов.

Для macOS проект предлагает установку через Homebrew cask:

brew tap farion1231/cc-switch
brew install --cask cc-switch

Прежде чем использовать скачанный исполняемый файл в управляемой среде, проверьте, что установил Homebrew:

brew info --cask cc-switch
brew list --cask cc-switch
codesign -dv --verbose=4 "/Applications/CC Switch.app" 2>&1

Пользователям Windows и Linux следует брать установщик или пакет из опубликованных файлов выпуска. Названия пакетов и каналы распространения могут меняться, поэтому я не добавляю потенциально устаревшую команду winget, Scoop, .deb или AppImage в скрипты первоначальной настройки рабочих станций, не закрепив и не протестировав конкретный выпуск.

Для контролируемого развёртывания:

  1. Закрепите версию CC Switch.
  2. Зафиксируйте ожидаемую контрольную сумму выпуска.
  3. Протестируйте его на временной конфигурации Claude Code.
  4. Составьте список всех файлов, изменяемых при активации профиля.
  5. Определите процесс обновления вместо незаметного перехода на каждый новый выпуск.

Поможет простой снимок состояния перед установкой:

mkdir -p /tmp/claude-config-before
cp -R ~/.claude /tmp/claude-config-before/ 2>/dev/null || true

# Install CC Switch, create a test profile, and activate it.

diff -ru /tmp/claude-config-before/.claude ~/.claude || true

Это позволяет выявить поведение, которое может быть не отражено в документации, включая изменения форматирования, удалённые поля или записи MCP, объединённые на неожиданном уровне.

Создание и переключение профилей провайдеров

Профиль должен представлять единый согласованный контекст безопасности и оплаты. Я использую названия, из которых понятны последствия выбора, например:

  • anthropic-personal
  • company-gateway-dev
  • customer-a-restricted
  • local-proxy-test

Избегайте названий вроде default-2. Когда в производственной среде происходит инцидент, название активного профиля должно отвечать на вопрос «куда пойдёт этот запрос?» без необходимости открывать редактор.

Профиль Claude Code, использующий совместимый с Anthropic шлюз, может создавать настройки, по смыслу похожие на следующие:

{
  "env": {
    "ANTHROPIC_BASE_URL": "https://ai-gateway.example.com/anthropic",
    "ANTHROPIC_AUTH_TOKEN": "${TOKEN_MANAGED_BY_PROFILE}",
    "ANTHROPIC_MODEL": "company-claude-default"
  },
  "permissions": {
    "defaultMode": "default"
  }
}

Точный набор необходимых переменных зависит от провайдера и версии Claude Code. Некоторые сервисы ожидают ANTHROPIC_API_KEY; некоторые интеграции со шлюзами используют ANTHROPIC_AUTH_TOKEN. Не задавайте обе переменные лишь для того, чтобы аутентификация сработала «с большей вероятностью». Определите, каким учётным данным Claude Code отдаст предпочтение, поскольку устаревшее значение с более высоким приоритетом может привести к отправке запросов от имени неверной учётной записи.

После переключения запустите новый процесс Claude Code:

claude

Легко ошибиться в понимании того, что происходит при переключении, когда Claude Code уже запущен. Утилита может обновить файлы на диске, но не может надёжно заменить значения переменных окружения, уже унаследованные работающим процессом. Поэтому существующие сеансы могут продолжать использовать исходного провайдера до перезапуска.

Проверьте фактически используемую конфигурацию, не выводя секреты:

python3 - <<'PY'
import json
from pathlib import Path

path = Path.home() / ".claude" / "settings.json"
data = json.loads(path.read_text())
env = data.get("env", {})

for key, value in sorted(env.items()):
    if "KEY" in key or "TOKEN" in key or "SECRET" in key:
        value = "<redacted>"
    print(f"{key}={value}")
PY

Распространённая ошибка — проверять только то, отвечает ли Claude. Совместимый прокси может вернуть корректный ответ, незаметно сопоставив запрошенную модель с другой. Если важно знать, какая именно модель используется, проверьте журналы запросов провайдера или журнал аудита шлюза.

Настройки MCP для разных агентов

Именно в конфигурации MCP централизация становится полезнее простого выбора токена. У разработчика могут быть настроены серверы для работы с файловой системой, системой отслеживания задач, базой данных и браузером в нескольких агентах, каждый из которых использует собственную схему или место хранения.

Типичное определение сервера MCP содержит команду и аргументы:

{
  "mcpServers": {
    "project-files": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-filesystem",
        "/Users/alex/work/customer-a"
      ]
    }
  }
}

Относитесь к этому как к исполняемой конфигурации. Активация профиля может позволить агенту запустить npx, выполнить пакет и предоставить указанный каталог слою инструментов, доступному модели.

На практике я разделяю профили MCP по степени конфиденциальности репозиториев:

  • Общий профиль предоставляет доступ к документации и инструментам с низким уровнем риска.
  • Профиль клиента предоставляет доступ только к рабочему каталогу этого клиента.
  • Серверы для работы с базами данных и управления производственной средой не включаются глобально.
  • Область действия токенов, используемых серверами MCP, задаётся независимо от токена провайдера модели.

Также сравните результат, сгенерированный CC Switch, с результатом встроенной команды агента для MCP, если она доступна. Для Claude Code проверьте активные серверы после переключения:

claude mcp list

Не предполагайте, что один объект MCP JSON можно без изменений скопировать в любой агент программирования. CC Switch может унифицировать управление в своём интерфейсе, но у каждого подключаемого агента по-прежнему есть собственная схема, правила области действия и особенности жизненного цикла.

Где хранятся учётные данные

Необходимо проверить два уровня хранения:

  1. Данные приложения CC Switch, используемые для хранения профилей.
  2. Собственная конфигурация агента программирования, которая записывается или обновляется при активации профиля.

CC Switch использует локальное хранилище приложения, а не облачный сервис учётных записей. Точный путь зависит от платформы и менялся по мере развития приложения, поэтому определяйте его по установленной сборке, а не полагайтесь на путь, скопированный из старого обсуждения проблемы. Типичные корневые каталоги данных приложений в ОС:

macOS:   ~/Library/Application Support/
Windows: %APPDATA%
Linux:   ~/.local/share/ or an XDG data directory

Выполняйте поиск, не выводя содержимое учётных данных:

find "$HOME/Library/Application Support" \
  -maxdepth 3 -iname '*cc*switch*' -print 2>/dev/null

find "${XDG_DATA_HOME:-$HOME/.local/share}" \
  -maxdepth 3 -iname '*cc*switch*' -print 2>/dev/null

Для Claude Code проверьте ~/.claude/, особенно settings.json, а также конфигурацию Claude на уровне проекта, если она используется. Другие агенты обычно используют отдельные каталоги, такие как ~/.codex/ или ~/.gemini/, но имена файлов и форматы учетных данных зависят от версии агента.

Не считайте, что «хранится локально» означает «зашифровано». Если установленная у вас версия CC Switch явно не использует хранилище учетных данных операционной системы для соответствующего секрета, считайте, что база данных приложения и создаваемые файлы агента потенциально доступны вашей учетной записи в открытом виде. Проверьте это, изучив файлы и код репозитория, и следите за тем, чтобы не вставлять секреты в терминалы, заявки или чаты.

Последствия доступа к токенам на настольном компьютере для безопасности

CC Switch неизбежно работает с правами вашей учетной записи на компьютере. Если эта учетная запись может прочитать токен, вредоносное ПО или другой процесс, запущенный от имени того же пользователя, тоже может получить к нему доступ. CC Switch не отменяет требований к безопасности конечных устройств.

Основные риски:

  • Концентрация учетных данных: Токены нескольких провайдеров могут одновременно находиться в одном локальном хранилище профилей.
  • Перезапись конфигурации: Активация профиля может заменять или объединять файлы, используемые агентом.
  • Утечка через резервные копии: Данные приложения и файлы с именами, начинающимися с точки, могут попадать в незашифрованные резервные копии.
  • Наследование данных процессами: Ранее открытые терминалы и запущенные агенты могут сохранять прежние учетные данные.
  • Выполнение команд MCP: Профиль может активировать команды с доступом к файловой системе или сети.
  • Риски цепочки поставок: Установка обновлений дает новому коду настольного приложения доступ к сохраненным токенам.
  • Раскрытие данных на экране и в журналах: Диагностические сведения в интерфейсе или отчеты об ошибках могут раскрывать данные конечных точек и учетные данные.

Применяйте к утилите меры контроля по принципу минимальных привилегий:

chmod 700 ~/.claude
chmod 600 ~/.claude/settings.json

Предпочитайте короткоживущие или отзывные токены шлюза, если провайдер их поддерживает. Никогда не помещайте административные учетные данные рабочей среды в профиль, созданный для удобства. Выполняйте ротацию токенов после вывода компьютера из эксплуатации: удаление профиля не доказывает, что учетные данные никогда не копировались в другое место.

Для корпоративного развертывания я бы потребовал:

  • Зафиксированные и проверенные версии
  • Полное шифрование диска
  • Ограничения на работу с резервными копиями
  • Лимиты расходов и журналы аудита на стороне провайдера
  • Отдельные токены для каждого разработчика и каждой среды
  • Документированную процедуру отзыва
  • Периодическую проверку команд MCP и доступных путей

CC Switch хорошо подходит для локальных рабочих процессов с несколькими провайдерами. Однако он не обязательно подходит для сред, где политика требует аппаратной защиты секретов, временных учетных данных или централизованного контроля конфигурации. В таких случаях более обоснованным решением может быть корпоративный шлюз и средство запуска, использующее менеджер секретов.

Практические рекомендации

  • Используйте CC Switch, если частые ручные правки приводят к ошибкам в учетных записях, конечных точках или MCP.
  • Перед развертыванием проверьте артефакты для нужных платформ в текущем релизе проекта на GitHub.
  • Дайте каждому профилю имя, по которому можно определить его провайдера, владельца и среду.
  • Перезапускайте Claude Code после переключения, поскольку работающие процессы могут сохранять прежние значения.
  • Проверьте созданные файлы и используйте claude mcp list для проверки фактического состояния.
  • Считайте локальные данные CC Switch и конфигурации использующих их агентов хранилищами конфиденциальных учетных данных.
  • Ограничивайте права серверов MCP так же тщательно, как права токенов API: они могут выполнять команды и предоставлять доступ к файлам.
  • Фиксируйте версии, проверяйте различия в конфигурации и поддерживайте возможность отзыва токенов.
  • Не храните учетные данные рабочей среды с широкими полномочиями в настольных инструментах переключения, если применяемые меры контроля явно не позволяют принять этот риск.
A

Этот блог публикует AI Prime Tech. Статьи готовятся с помощью ИИ; прежде чем полагаться на сведения, зависящие от версии, такие как идентификаторы моделей, цены и лимиты, сверяйте их с официальной документацией.

Получите более дешёвый доступ к API Claude

Один ключ API для Claude Opus 5.5, Sonnet 5, Haiku 4.5 и Fable 5.1, а также GPT-6 моделей. Оплата по мере использования, без подписки.

Получить ключ API →
AI Prime Tech — независимый сторонний API-шлюз. Claude™ и Anthropic® — товарные знаки Anthropic, PBC. Связь с этой компанией или одобрение с её стороны не подразумеваются.