kosareva.cloud

Codex в России: почему не работает вход, как установить и запустить без VPN

Codex CLI ставится одной командой, но вход через ChatGPT из России закрыт, а с VPN аккаунт рискует блокировкой. Как обойтись без входа и VPN: свой провайдер в config.toml или локальная модель.

Коротко: Codex CLI — это агент OpenAI для терминала: он читает проект, правит файлы и запускает команды. Ставится через npm одной командой, а вот в России Codex штатно не работает: он просит либо вход через аккаунт ChatGPT, либо ключ OpenAI, и оба пути из России закрыты — ChatGPT отвечает, что сервис недоступен в вашей стране, а API-ключ без зарубежной карты не выдаётся. С VPN вход пройдёт, но OpenAI предупреждает, что доступ из неподдерживаемой страны может кончиться блокировкой аккаунта.

/ Подробнее

Что важно знать

Хорошая новость в том, что Codex CLI умеет работать с любым OpenAI-совместимым API. Провайдер описывается в файле ~/.codex/config.toml секцией [model_providers.имя] с полями base_url, env_key и wire_api. Ключ берётся из переменной окружения, имя которой вы указали в env_key. После этого Codex не спрашивает вход и ходит по вашему адресу, VPN для этого не нужен.

Есть и полностью автономный вариант: локальная модель через Ollama или LM Studio, например gpt-oss. Работает без интернета и без ключей, но требует видеокарту с памятью под модель и заметно уступает облачным моделям на больших задачах.

/ На kosareva.cloud

Codex CLI без аккаунта OpenAI, оплата в рублях

Codex CLI работает с нашим ключом через одну секцию в config.toml, аккаунт OpenAI не нужен. Расширение для VS Code записывает эту секцию само.

GPT-5.6
432 ₽ вход, 2 160 ₽ выход за 1 млн токенов
GPT-5.6 Luna
21,6 ₽ вход, 130 ₽ выход за 1 млн токенов
Оплата
Карта РФ или СБП от 50 ₽, компаниям — по счёту
Доступ
Без VPN, запросы идут с российских IP
from openai import OpenAI

client = OpenAI(
    api_key="ВАШ_API_КЛЮЧ",
    base_url="https://api.kosareva.cloud/v1",
)

response = client.chat.completions.create(
    model="gpt-5-6",
    messages=[{"role": "user", "content": "Привет!"}],
    stream=True,
)
import OpenAI from "openai";

const client = new OpenAI({
  apiKey: "ВАШ_API_КЛЮЧ",
  baseURL: "https://api.kosareva.cloud/v1",
});

const response = await client.chat.completions.create({
  model: "gpt-5-6",
  messages: [{ role: "user", content: "Привет!" }],
  stream: true,
});
curl https://api.kosareva.cloud/v1/chat/completions \
  -H "Authorization: Bearer ВАШ_API_КЛЮЧ" \
  -H "Content-Type: application/json" \
  -d '{"model":"gpt-5-6","messages":[{"role":"user","content":"Привет!"}],"stream":true}'
/ Почему

Почему штатный вход не работает

Вход через ChatGPT

Аккаунт OpenAI из России не регистрируется и не открывается, вход в Codex через него обрывается на этом же экране.

Ключ OpenAI

Выдаётся в консоли платформы, которая из России не открывается, а пополнение требует зарубежную карту.

VPN

Вход пройдёт, но 403 по региону может вернуться на любом запросе, а аккаунт с российской оплатой рискует блокировкой.

config.toml не подхватился

Опечатка в имени секции, файл не в ~/.codex/ или в model_provider указано имя, которого нет в model_providers.

wire_api не тот

Новые версии Codex работают только через Responses API: со строкой wire_api = "chat" он не запускается и пишет «wire_api = "chat" is no longer supported». Нужно wire_api = "responses" и провайдер, у которого есть /v1/responses.

Кончился лимит подписки

Если Codex работал и перестал с сообщением You’ve hit your usage limit, это окно плана ChatGPT: оно откроется в указанное время. Подробно — в разборе лимитов Codex.

/ Что делать

Порядок действий

01

Установите Codex CLI

Нужен Node.js. После установки команда codex доступна из любого каталога.

npm i -g @openai/codex
codex --version
02

Опишите провайдера в config.toml

Файл ~/.codex/config.toml, создайте, если его нет. Имя секции произвольное, оно же подставляется в model_provider.

model = "gpt-5-6"
model_provider = "kosareva"

[model_providers.kosareva]
name = "kosareva.cloud"
base_url = "https://api.kosareva.cloud/v1"
env_key = "KOSAREVA_API_KEY"
wire_api = "responses"
03

Положите ключ в переменную окружения

Имя переменной должно совпадать с env_key. Добавьте строку в ~/.zshrc или ~/.bashrc, чтобы не вводить каждый раз.

export KOSAREVA_API_KEY="ваш-ключ"
codex
04

Проверьте, что запрос доходит

Если Codex снова просит вход, конфиг не прочитан: проверьте путь к файлу и совпадение имён. Если пишет 401, ключ в переменной пустой или неверный, проверьте curl на тот же base_url.

curl https://api.kosareva.cloud/v1/models \
  -H "Authorization: Bearer $KOSAREVA_API_KEY"
05

Хотите без облака — Ollama

Поставьте Ollama и скачайте модель. У Codex для неё встроенный провайдер: запуск с флагом --oss, своя секция в config.toml не нужна (старый провайдер ollama-chat удалён).

ollama pull gpt-oss:20b
codex --oss -m gpt-oss:20b
/ По инструментам

Где это чинится в разных инструментах

Терминал

Основной сценарий: codex в каталоге проекта, конфиг в ~/.codex/config.toml, ключ в переменной окружения.

VS Code

Codex можно запускать во встроенном терминале, переменные должны быть видны редактору. Наше расширение VS Code умеет записать провайдера в config.toml за вас.

Несколько провайдеров

Секций [model_providers.*] может быть сколько угодно, активный выбирается полем model_provider или флагом при запуске.

CI и контейнеры

Конфиг кладётся в образ, ключ передаётся секретом в ту же переменную, что в env_key.

/ FAQ

Частые вопросы

Можно ли поставить wire_api = "chat"?

Нет: в новых версиях Codex этот режим удалён, при запуске будет ошибка «wire_api = "chat" is no longer supported». Ставьте wire_api = "responses" — Codex ходит в /v1/responses, и провайдер должен его поддерживать. Наш API поддерживает.

Какую модель указать в model?

Ту, что есть у вашего провайдера, в его написании. У нас это имя без точек: gpt-5-6, claude-sonnet-5, deepseek-v4-flash. Список — в /prices/.

Нужен ли VPN для Codex в России?

Со своим провайдером в config.toml не нужен: запросы к модели идут на адрес из base_url, вход в ChatGPT не требуется. С VPN можно войти и через аккаунт ChatGPT, но России нет в списке стран OpenAI, и по его правилам доступ из неподдерживаемой страны может закончиться блокировкой или приостановкой аккаунта. Подписка при этом всё равно оплачивается зарубежной картой.

Как войти в Codex из России?

Штатных входов два: аккаунт ChatGPT (codex login открывает браузер) и ключ OpenAI (codex login --with-api-key). Оба упираются в аккаунт OpenAI, который из России не регистрируется и не оплачивается. Свой провайдер входа не требует: Codex берёт ключ из переменной окружения и экран входа не показывает. Облачные задачи и ревью в GitHub так недоступны, они работают только со входом через ChatGPT.

Как установить Codex на Windows?

Через npm в PowerShell, нужен Node.js: команда та же, npm i -g @openai/codex. У OpenAI есть и свой установщик для PowerShell, а также готовые сборки в GitHub Releases. Конфиг лежит там же, в папке .codex домашнего каталога, переменную с ключом задавайте через $env: или setx. Можно работать и в WSL.

Можно ли подключить к Codex CLI модели Claude?

Да, если провайдер отдаёт их через OpenAI-совместимый API. Codex отправляет запрос на base_url с тем именем, что стоит в поле model, например claude-sonnet-5. Учтите, что подсказки и инструменты Codex написаны под модели OpenAI, поэтому с другими моделями агент иногда ведёт себя иначе.

Чем Codex CLI отличается от Claude Code?

Назначение у них одно: оба агента работают в терминале, читают проект, правят файлы и запускают команды. Разница в протоколе и настройке: Codex ходит по API OpenAI и берёт провайдера из config.toml, а Claude Code — по API Anthropic, адрес и ключ читает из переменных окружения. Подробнее о нём — в разборе Claude Code.

Ключ, который работает из России

OpenAI-совместимый адрес, оплата в рублях, ключ сразу после регистрации. Пополнение картой от 50 ₽.

Получить ключ