Установите Codex CLI
Нужен Node.js. После установки команда codex доступна из любого каталога.
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. Работает без интернета и без ключей, но требует видеокарту с памятью под модель и заметно уступает облачным моделям на больших задачах.
Codex CLI работает с нашим ключом через одну секцию в config.toml, аккаунт OpenAI не нужен. Расширение для VS Code записывает эту секцию само.
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}'
Аккаунт OpenAI из России не регистрируется и не открывается, вход в Codex через него обрывается на этом же экране.
Выдаётся в консоли платформы, которая из России не открывается, а пополнение требует зарубежную карту.
Вход пройдёт, но 403 по региону может вернуться на любом запросе, а аккаунт с российской оплатой рискует блокировкой.
Опечатка в имени секции, файл не в ~/.codex/ или в model_provider указано имя, которого нет в model_providers.
Новые версии 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.
Нужен Node.js. После установки команда codex доступна из любого каталога.
Файл ~/.codex/config.toml, создайте, если его нет. Имя секции произвольное, оно же подставляется в model_provider.
Имя переменной должно совпадать с env_key. Добавьте строку в ~/.zshrc или ~/.bashrc, чтобы не вводить каждый раз.
Если Codex снова просит вход, конфиг не прочитан: проверьте путь к файлу и совпадение имён. Если пишет 401, ключ в переменной пустой или неверный, проверьте curl на тот же base_url.
Поставьте Ollama и скачайте модель. У Codex для неё встроенный провайдер: запуск с флагом --oss, своя секция в config.toml не нужна (старый провайдер ollama-chat удалён).
Основной сценарий: codex в каталоге проекта, конфиг в ~/.codex/config.toml, ключ в переменной окружения.
Codex можно запускать во встроенном терминале, переменные должны быть видны редактору. Наше расширение VS Code умеет записать провайдера в config.toml за вас.
Секций [model_providers.*] может быть сколько угодно, активный выбирается полем model_provider или флагом при запуске.
Конфиг кладётся в образ, ключ передаётся секретом в ту же переменную, что в env_key.
Нет: в новых версиях Codex этот режим удалён, при запуске будет ошибка «wire_api = "chat" is no longer supported». Ставьте wire_api = "responses" — Codex ходит в /v1/responses, и провайдер должен его поддерживать. Наш API поддерживает.
Ту, что есть у вашего провайдера, в его написании. У нас это имя без точек: gpt-5-6, claude-sonnet-5, deepseek-v4-flash. Список — в /prices/.
Со своим провайдером в config.toml не нужен: запросы к модели идут на адрес из base_url, вход в ChatGPT не требуется. С VPN можно войти и через аккаунт ChatGPT, но России нет в списке стран OpenAI, и по его правилам доступ из неподдерживаемой страны может закончиться блокировкой или приостановкой аккаунта. Подписка при этом всё равно оплачивается зарубежной картой.
Штатных входов два: аккаунт ChatGPT (codex login открывает браузер) и ключ OpenAI (codex login --with-api-key). Оба упираются в аккаунт OpenAI, который из России не регистрируется и не оплачивается. Свой провайдер входа не требует: Codex берёт ключ из переменной окружения и экран входа не показывает. Облачные задачи и ревью в GitHub так недоступны, они работают только со входом через ChatGPT.
Через npm в PowerShell, нужен Node.js: команда та же, npm i -g @openai/codex. У OpenAI есть и свой установщик для PowerShell, а также готовые сборки в GitHub Releases. Конфиг лежит там же, в папке .codex домашнего каталога, переменную с ключом задавайте через $env: или setx. Можно работать и в WSL.
Да, если провайдер отдаёт их через OpenAI-совместимый API. Codex отправляет запрос на base_url с тем именем, что стоит в поле model, например claude-sonnet-5. Учтите, что подсказки и инструменты Codex написаны под модели OpenAI, поэтому с другими моделями агент иногда ведёт себя иначе.
Назначение у них одно: оба агента работают в терминале, читают проект, правят файлы и запускают команды. Разница в протоколе и настройке: Codex ходит по API OpenAI и берёт провайдера из config.toml, а Claude Code — по API Anthropic, адрес и ключ читает из переменных окружения. Подробнее о нём — в разборе Claude Code.
OpenAI-совместимый адрес, оплата в рублях, ключ сразу после регистрации. Пополнение картой от 50 ₽.