# Codex CLI

> Подключение Codex CLI к шлюзу через провайдера в config.toml.

Codex CLI работает через `/v1/responses` в формате OpenAI Responses.

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

Codex берёт ключ из переменной окружения, имя которой задано в `env_key`:

```bash
export AI_SELLER_API_KEY=$AISELLER_API_KEY
```

Добавьте провайдера в `~/.codex/config.toml` (имя провайдера `aiseller`
произвольное — оно живёт только в вашем конфиге):

```toml
model_provider = "aiseller"
model = "gpt-5.6-sol"

[model_providers.aiseller]
name = "aiseller"
base_url = "https://ai-seller.vibe-codes.ru/v1"
env_key = "AI_SELLER_API_KEY"
wire_api = "responses"
```

И запустите `codex`. Модель можно сменить флагом `codex -m <id>`; ID берите из
[каталога](https://ai-seller.vibe-codes.ru/docs/models).

## Как это работает

- `wire_api = "responses"` — Codex шлёт запросы на `/v1/responses`.
- Шлюз не хранит состояние у провайдера (`store: false`), Codex передаёт всю
  историю в каждом запросе — так и нужно.
- Встроенные инструменты провайдера (веб-поиск) вырезаются; локальные
  инструменты Codex (`shell`, `apply_patch`) работают.

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

| Симптом | Причина и решение |
| --- | --- |
| `Missing environment variable: AI_SELLER_API_KEY` | Переменная не экспортирована в этом терминале — выполните `export` из быстрого старта или добавьте его в профиль shell. |
| `401 invalid_api_key` | Неверный или отозванный ключ. |
| `404 model_not_found` | ID модели с опечаткой или модель не текстовая — сверьтесь с `GET /v1/models`. |
| `400 unsupported_parameter` с `previous_response_id` | Включён режим с состоянием у провайдера — он не поддерживается; Codex по умолчанию его не использует. |
| Поток обрывается посередине | Сбой провайдера после начала ответа — повторите запрос; см. [Стриминг](https://ai-seller.vibe-codes.ru/docs/streaming). |
