# Вайб-кодинг в Codex: Настройка через RouterAI (Claude, GPT-6, DeepSeek, Glm, Qwen)

Подключение Codex к RouterAI — агент OpenAI для разработки: работает в терминале (Codex CLI) и в редакторе (расширение для VS Code, Cursor, Windsurf). Читает и редактирует файлы, запускает команды, работает с git и решает многошаговые задачи.

RouterAI предоставляет совместимый с OpenAI эндпоинт `POST /api/v1/responses` и каталог моделей в формате Codex, поэтому Codex подключается штатным способом — через собственного провайдера в `config.toml`. В списке моделей Codex появляются все модели RouterAI: GPT, Claude, Gemini, DeepSeek, GLM, Kimi, Qwen и другие.

> **Можно автоматически.** Попробуйте [установщик RouterAI](/docs/guides/overview/agent-installer): одна команда поставит Codex и подключит его к RouterAI. Если что-то не подойдёт, настройте вручную по инструкции ниже.

## Требования

- macOS, Linux, Windows (WSL) или Windows (нативно)
- Node.js 18 или новее (для установки через npm)
- API-ключ из [личного кабинета](/settings/keys "личного кабинета")

## Установка Codex

### Codex CLI

```bash
npm install -g @openai/codex
```

Или через Homebrew (macOS):

```bash
brew install --cask codex
```

### Расширение для VS Code

Установите расширение **Codex – OpenAI’s coding agent** (идентификатор `openai.chatgpt`) из маркетплейса расширений. Расширение использует тот же файл настроек, что и CLI, — `~/.codex/config.toml`, поэтому настройка ниже подходит для обоих вариантов.

## Подключение к RouterAI

Подключение состоит из двух шагов: сохранить API-ключ в переменной окружения и описать RouterAI как провайдера в `config.toml`.

### Шаг 1. API-ключ

#### macOS / Linux / WSL

Откройте профиль оболочки:

```bash
nano ~/.zshrc   # zsh (macOS по умолчанию)
# или
nano ~/.bashrc  # bash
```

Добавьте строку:

```bash
export ROUTERAI_API_KEY="ваш-api-ключ"
```

Замените `ваш-api-ключ` на ключ из [личного кабинета](/settings/keys "личного кабинета") и примените изменения:

```bash
source ~/.zshrc
```

#### Windows

```cmd
setx ROUTERAI_API_KEY "ваш-api-ключ"
```

> ⚠ `setx` записывает переменную постоянно, но она появляется только в **новых** окнах cmd.exe / PowerShell. Перезапустите терминал, а если используете расширение — полностью перезапустите VS Code.

### Шаг 2. config.toml

| Платформа | Путь к файлу |
| --- | --- |
| macOS / Linux / WSL | `~/.codex/config.toml` |
| Windows | `%USERPROFILE%\.codex\config.toml` |

#### macOS / Linux / WSL

```toml
model_provider = "routerai"
model = "openai/gpt-6.1-sol"
model_reasoning_effort = "medium"

[model_providers.routerai]
name = "RouterAI"
base_url = "https://routerai.ru/api/v1"
wire_api = "responses"
supports_websockets = false

[model_providers.routerai.auth]
command = "sh"
args = ["-c", "echo $ROUTERAI_API_KEY"]
```

#### Windows

```toml
model_provider = "routerai"
model = "openai/gpt-6.1-sol"
model_reasoning_effort = "medium"

[model_providers.routerai]
name = "RouterAI"
base_url = "https://routerai.ru/api/v1"
wire_api = "responses"
supports_websockets = false

[model_providers.routerai.auth]
command = "powershell"
args = ["-NoProfile", "-Command", "Write-Output $env:ROUTERAI_API_KEY"]
```

> ⚠ Ключ передаётся через секцию `[model_providers.routerai.auth]`, а не через `env_key`. Только в этом режиме Codex загружает каталог моделей RouterAI — с `env_key` запросы работают, но в списке выбора будут лишь встроенные модели OpenAI, которые через RouterAI недоступны (см. [Решение проблем](#reshenie-problem "Решение проблем")).

Строки `model_provider` и `model` должны стоять в начале файла — до первой секции в квадратных скобках.

### Запуск

```bash
cd /path/to/your/project
codex
```

В VS Code откройте панель Codex после перезапуска редактора.

## Выбор модели

Codex при запуске загружает каталог моделей RouterAI, и они появляются в списке выбора с префиксом автора: **OpenAI: GPT-6.1 Sol**, **Anthropic: Claude Sonnet 5.5**, **Z.ai: GLM 5.3** и т. д. Для каждой модели Codex знает размер контекста и поддерживаемые уровни рассуждений.

- **CLI:** команда `/model` внутри сессии или флаг при запуске — `codex -m anthropic/claude-sonnet-5.5`
- **VS Code:** переключатель модели внизу панели Codex
- **По умолчанию:** параметр `model` в `config.toml`

> ⚠ Рядом с моделями RouterAI в списке остаются встроенные модели Codex без префикса — например, **GPT-5.6-Terra** (`gpt-5.6-terra`). Через RouterAI они не работают: выбирайте модели с префиксом, например **OpenAI: GPT-5.6 Terra** (`openai/gpt-5.6-terra`).

| Модель | Для чего |
| --- | --- |
| `openai/gpt-6.1-sol` | Основная модель для кода и агентных задач |
| `openai/gpt-5.6-terra` | Сбалансированная модель для повседневной работы |
| `anthropic/claude-sonnet-5.5` | Claude в Codex — код, рефакторинг, анализ |
| `~z-ai/glm-latest` | Актуальная GLM — недорогая альтернатива для агентной работы |
| `~deepseek/deepseek-v4-pro-latest` | Актуальная DeepSeek Pro |

Идентификаторы с `~` — «вечные» алиасы: они всегда указывают на актуальную версию семейства. Полный список моделей — в [каталоге RouterAI](/models "каталоге RouterAI").

### Уровень рассуждений

Параметр `model_reasoning_effort` задаёт глубину рассуждений по умолчанию: `minimal`, `low`, `medium`, `high`, `xhigh`, `max`. Набор доступных уровней зависит от модели — Codex показывает его при выборе модели, а переключить уровень можно там же.

## Проверка подключения

Быстрая проверка одной командой:

```bash
codex exec "Ответь одним словом: готово"
```

В заголовке вывода должны быть `provider: routerai` и модель с префиксом автора, а в конце — ответ модели:

```
model: openai/gpt-6.1-sol
provider: routerai
...
codex
готово
```

Внутри интерактивной сессии текущие модель и настройки показывает команда `/status`.

Дополнительно можно убедиться в работе эндпоинта обычным curl:

```bash
curl https://routerai.ru/api/v1/responses \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $ROUTERAI_API_KEY" \
  -d '{
    "model": "openai/gpt-6.1-sol",
    "input": "Привет!"
  }'
```

## Что доступно

RouterAI поддерживает OpenAI Responses API, поэтому в Codex работают:

- Стриминг ответов (SSE)
- Вызовы инструментов: команды в терминале, правка файлов, планирование
- Изображения в сообщениях — для моделей, которые принимают картинки
- Уровни рассуждений (`model_reasoning_effort`) для совместимых моделей
- Кэширование промптов для моделей, которые его поддерживают

Модели других авторов — Claude, Gemini, GLM, DeepSeek и т. д. — тоже работают через Responses API: RouterAI сам переводит запрос в формат провайдера и обратно.

## Решение проблем

### Model 'gpt-5.6-terra' not found (400)

Выбрана встроенная модель Codex без префикса автора. В RouterAI идентификаторы моделей включают автора: `openai/gpt-5.6-terra`, а не `gpt-5.6-terra`.

- Выберите в списке модель с префиксом — например, **OpenAI: GPT-5.6 Terra**
- Если моделей с префиксом в списке нет — проверьте, что ключ передаётся через секцию `[model_providers.routerai.auth]`, а не через `env_key`, и перезапустите Codex / VS Code
- Выбор модели в интерфейсе имеет приоритет над `model` из `config.toml` — поэтому важно, что именно выбрано в списке

### Ошибка аутентификации (401)

- Проверьте, что переменная задана: `echo $ROUTERAI_API_KEY` (macOS / Linux) или `echo %ROUTERAI_API_KEY%` (cmd.exe)
- Убедитесь, что ключ взят из [личного кабинета](/settings/keys "личного кабинета") и активен
- **VS Code:** расширение видит переменные окружения, которые были на момент запуска редактора — после изменения ключа полностью закройте и откройте VS Code
- Если переменная окружения не подхватывается, ключ можно указать прямо в команде: `args = ["-c", "echo ваш-api-ключ"]`. Учтите, что тогда ключ хранится в `config.toml` открытым текстом

### Codex игнорирует настройки

- Ключи пишутся через подчёркивание: `model_provider`, `model_reasoning_effort`, `base_url`, `wire_api`. Варианты вроде `modelreasoningeffort` Codex не распознаёт
- `model_provider`, `model` и `model_reasoning_effort` должны стоять до первой секции `[...]` — иначе они попадают внутрь секции и не действуют
- Проверьте путь к файлу: `~/.codex/config.toml` или `%USERPROFILE%\.codex\config.toml`

### 402 Payment Required

Недостаточно средств на балансе. Пополните баланс в разделе [Биллинг](/settings/billing "Биллинг").

## Что дальше

- [Каталог моделей](/models "Каталог моделей") — выберите подходящую модель под задачу
- [Claude Code](/pages/vibe-coding-claude-code "Вайб-кодинг в Claude Code") — настройка Claude Code через RouterAI
- [Аутентификация](/docs/guides/overview/authentication "Аутентификация") — управление API-ключами и безопасность
