# CodeRouter

CodeRouter это маршрутизатор моделей в cmux. Ваши агенты кодирования отправляют запросы в CodeRouter, а он передает каждый запрос в подписку или API-ключ, добавленные вашей командой. Если аккаунт ограничен по частоте, отклонен или недоступен, CodeRouter переносит работу на другой аккаунт, и агенты продолжают работать.

## Зачем он нужен

-   Объединяйте несколько подписок ChatGPT, Claude и OpenCode Go и API-ключей и делитесь ими с командой.
-   Агент продолжает работать, когда один аккаунт исчерпал лимит использования.
-   Дайте машинам cmux Cloud доступ к моделям без хранения учетных данных на машине.
-   Смотрите расход токенов по каждому аккаунту, API-ключу и облачной машине.

## Поддерживаемые аккаунты

Каждый аккаунт обслуживает агентов, которые работают с API его провайдера. Codex и Pi используют общий пул; Claude Code использует отдельный пул аккаунтов Claude.

| Аккаунт | Обслуживает | Как добавить |
| --- | --- | --- |
| Подписка ChatGPT (личное или командное рабочее пространство) | Codex, Pi | `cr add codex` |
| API-ключ OpenAI | Codex, Pi | Панель CodeRouter |
| API-ключ OpenRouter | Codex, Pi | Панель CodeRouter |
| Подписка OpenCode Go | OpenCode | `cr add opencode` |
| Claude Max или Pro (токен настройки Claude Code) | Claude Code | `cr add claude` |
| API-ключ Anthropic | Claude Code | `cmux coderouter claude add api-key` |
| Учетные данные Amazon Bedrock | Claude Code | `cmux coderouter claude add bedrock` |

В панели CodeRouter также можно добавить API-ключи, токены Claude и учетные данные Bedrock. Она показывает все аккаунты с состоянием, паузой после ошибок и активными сессиями: [cmux.com/dashboard/coderouter](https://cmux.com/ru/dashboard/coderouter)

## Как работает маршрутизация

Каждая сессия агента остается на одном аккаунте, пока он исправен, поэтому кэш промптов у провайдера остается прогретым. Новая сессия уходит на аккаунт с наименьшим числом активных сессий.

Когда провайдер возвращает ограничение частоты, отклоняет учетные данные или не отвечает, CodeRouter ставит аккаунт на паузу и повторяет запрос на другом аккаунте. Повтор выполняется только до того, как агент получит какой-либо вывод модели, поэтому ответ, который уже начал передаваться, никогда не отправляется дважды.

Запрос к провайдеру отправляет размещенный сервис CodeRouter. Поэтому трафик к провайдеру идет от CodeRouter, а не от вашего Mac или облачной машины.

## Быстрый старт на Mac

1.  Установите CLI CodeRouter. Он устанавливается и как coderouter, и как cr. Можно также выполнить cmux cr, который при первом запуске предложит установку.
2.  Войдите с аккаунтом cmux. cr login открывает браузер; подтвердите показанный код.
3.  Добавьте подписку. cr add открывает меню провайдеров, а cr add codex выполняет вход в ChatGPT в браузере.
4.  Запустите агента через CodeRouter командой cr codex, cr opencode или cr pi. Аргументы после имени агента передаются ему.

```
curl -fsSL https://cmux.com/coderouter/install.sh | sh
cr login
cr add codex
cr codex
```

## На машинах cmux Cloud

Каждая облачная машина подключается к CodeRouter при создании. Claude Code, Codex, OpenCode и Pi на машине используют аккаунты вашей команды без входа и без настройки.

[Как агенты настроены на облачных машинах](https://cmux.com/ru/docs/coderouter/agents#cloud)

## Команды и общий доступ

Аккаунты принадлежат команде, в которую вы вошли. cr org list показывает ваши команды, а cr org switch меняет команду, которую использует cr. Команды cmux coderouter принимают --team <id>.

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

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

Любой участник команды может добавлять, переименовывать, отключать, передавать и удалять общие аккаунты команды. cr transfer переносит аккаунт в другую команду после вашего подтверждения.

```
cr org list
cr org switch <name-or-id>
cr accounts
cr transfer [account] [--to <team>]
cr remove [account]
```

## Расход и лимиты

Каждый провайдер учитывает расход на аккаунте, который обслужил запрос, по плану и лимитам этого аккаунта. CodeRouter распределяет работу между аккаунтами, но не повышает лимит отдельного аккаунта.

cr показывает состояние квоты каждой подписки. Добавьте --watch, чтобы обновлять его каждые 30 секунд, или --json для скриптов.

cmux coderouter machines показывает расход токенов за 30 дней и эквивалентную стоимость по ценам API для каждой облачной машины. Внутри машины cmux coderouter usage разбивает ее расход по дням, рабочим пространствам, агентам и моделям.

Эквивалентная стоимость по ценам API это оценка по публичным прайс-листам. Это не счет.

```
cr
cr usage --watch
cmux coderouter machines
```

## Учетные данные и конфиденциальность

-   Учетные данные провайдеров шифруются перед сохранением. Ни API, ни панель CodeRouter не возвращают сохраненные учетные данные; у аккаунтов видны только метка, email или замаскированный ключ.
-   cr add и cmux coderouter claude add никогда не принимают учетные данные провайдера как аргумент команды, иначе они попали бы в историю оболочки. Они читают их из переменной окружения, стандартного ввода или скрытого запроса.
-   cr add codex и cr add opencode выполняют вход у провайдера в браузере. cr codex передает настройки CodeRouter в Codex только на этот запуск и не меняет ваш обычный вход и конфигурацию Codex.
-   Облачные машины не хранят учетных данных. Агенты на машине отправляют публичный ключ-заглушку на приватный адрес CodeRouter, а сетевая граница машины добавляет подписанные учетные данные, привязанные к этой машине. CodeRouter отклоняет эти данные с любой другой машины и отзывает их при удалении машины.
-   Каждый ответ CodeRouter содержит заголовок x-coderouter-request-id, который идентифицирует запрос.

## Дальнейшие шаги

-   [Агенты и модели: настройка каждого агента на Mac и на облачных машинах](https://cmux.com/ru/docs/coderouter/agents)
-   [CLI и устранение неполадок: все команды и частые ошибки](https://cmux.com/ru/docs/coderouter/cli)
-   [cmux Cloud](https://cmux.com/ru/docs/cloud)

Canonical: https://cmux.com/ru/docs/coderouter

Documentation index: https://cmux.com/llms.txt
