Codex CLI 0.164.0: config.toml и QCode
Codex CLI 0.164.0 (2026-10-23): установка, config.toml и auth.json для QCode.cc, ключи /presets, /model и /permissions, AGENTS.md и MCP.
Нужен API-ключ? Зарегистрироваться →Эндпоинты и Base URL →
Содержание
Последняя проверка: 2026-10-26 · 📄 По официальной документации (последний стабильный Codex CLI v0.164.0, выпуск 2026-10-23; в этот раз заново проверены параметры config, изменения команд в 0.164.0 и способы установки) · поведение профилей из 5.4 дополнительно проверено у нас локально (✅ codex-cli 0.155.0, изолированный HOME, запросы к модели не отправлялись)
Кратко¶
| Параметр | Описание |
|---|---|
| Доступные модели | GPT ✅ (протокол Responses) · Claude ❌ · китайские модели ❌ (протокол Responses их не поддерживает) · Gemini ❌ (QCode сейчас не предоставляет Gemini) |
| Протокол и Base URL | OpenAI Responses: base_url = "https://api.qcode.cc/openai" + wire_api = "responses" в config.toml |
| Где настраивается | ~/.codex/config.toml (Windows: %USERPROFILE%\.codex\) |
| Официальная документация | openai/codex |
📖 Почему
base_urlдля Codex отличается отANTHROPIC_BASE_URLClaude? В чём разница между/openaiи/openai/v1? См. Точки доступа и форматы API.
Это полное руководство по Codex CLI для китайских разработчиков. Здесь пошагово разобраны установка, настройка и использование OpenAI Codex CLI с подключением моделей GPT через API-ключ QCode.cc. Независимо от того, впервые ли вы сталкиваетесь с AI-инструментами для программирования или уже используете Claude Code и хотите попробовать что-то новое, это руководство для вас.
1. Введение в Codex¶
Что такое OpenAI Codex CLI?¶
Codex CLI — это открытый AI-помощник для программирования в командной строке от OpenAI (лицензия Apache 2.0), написанный на Rust и работающий прямо в терминале. Codex умеет:
- Читать и понимать структуру вашего репозитория
- Редактировать файлы и генерировать новый код
- Выполнять команды (запуск тестов, установка зависимостей и т.д.)
- Автономно итерировать до выполнения задачи
Ключевая философия Codex — это автономный агент (Autonomous Agent): вы описываете задачу, Codex выполняет её в песочнице, а вы проверяете результат. Это дополняет интерактивный диалоговый стиль Claude Code.
История развития Codex¶
Название «Codex» прошло через несколько этапов в продуктовой линейке OpenAI:
- 2021 год: Изначальный Codex представлял собой тонко настроенную версию GPT-3 для кода и использовался в GitHub Copilot
- 2024 год: OpenAI возродил бренд Codex, представив облачного асинхронного AI-программиста
- 2025-2026 годы: Codex CLI превратился в зрелый локальный инструмент командной строки с переписыванием на Rust, поддержкой MCP, Skills, многопоточных агентов и других продвинутых функций
Сегодня Codex — это продукт с несколькими интерфейсами: CLI инструмент командной строки (основная тема статьи), десктопное приложение для macOS, плагины для IDE, а также облачный агент, встроенный в ChatGPT. Через QCode.cc используется версия CLI.
Ключевые различия между Codex и Claude Code¶
| Измерение | Codex CLI | Claude Code |
|---|---|---|
| Стиль выполнения | Автономное выполнение с выдачей результата | Интерактивный диалог с пошаговым подтверждением |
| Открытый код | Полностью открытый (Apache 2.0) | Закрытый |
| Язык написания | Rust (быстрый запуск, низкое потребление ресурсов) | TypeScript |
| Безопасность песочницы | Встроенная песочница Landlock/seccomp | Подтверждение разрешений |
| Файл инструкций | AGENTS.md |
CLAUDE.md |
| Облачный агент | Поддерживается (встроен в ChatGPT) | Не поддерживается |
Проще говоря: Codex хорош для «бросания задач» (дали чёткое задание — он выполнил сам), Claude Code хорош для «парного программирования» (обсуждаем и изменяем на ходу, подходит для исследовательских задач). Лучше всего использовать оба инструмента вместе.
Почему стоит использовать Codex через QCode.cc?¶
По умолчанию Codex CLI требует API-ключ OpenAI или подписку ChatGPT, а в материковом Китае API OpenAI напрямую недоступен.
Через QCode.cc вы получаете:
- Один ключ для Claude, GPT и популярных китайских моделей: Codex работает с моделями GPT, Claude Code — с Claude, и оба используют один и тот же API-ключ QCode
- Несколько точек доступа:
api.qcode.cc— глобальный вход,us.qcode.cc— для Северной Америки и Европы,asia.qcode.cc— для Азии; пользователям из материкового Китая рекомендуемasia.qcode.cc, собственный прокси не нужен - Оплату по токенам, цены по моделям указаны на qcode.cc/models
- Общую квоту тарифа для Claude Code и Codex, один тариф подходит для обоих инструментов
2. Установка Codex CLI¶
Системные требования¶
Перед установкой убедитесь, что ваша среда соответствует следующим требованиям:
- Операционная система: macOS 12+, Ubuntu 20.04+, Windows 10+ (рекомендуется WSL2)
- Node.js: v22 LTS или выше (требуется для установки через npm)
- Git: 2.x или выше (Codex использует Git для анализа репозитория)
- Место на диске: около 200 МБ (включая зависимости npm)
Способ 1: Установка через npm (рекомендуется)¶
Это самый универсальный способ установки, подходящий для всех операционных систем:
npm install -g @openai/codex
Совет: Если возникают проблемы с правами доступа, пользователи macOS/Linux могут добавить
sudo, или использовать nvm для управления Node.js и избежать проблем с правами.Для пользователей из Китая: Если скорость загрузки npm низкая, можно использовать зеркало Taobao:
bash npm install -g @openai/codex --registry=https://registry.npmmirror.com
Способ 2: Установка через Homebrew (macOS)¶
Пользователи macOS также могут установить через Homebrew:
brew install --cask codex
Преимущество Homebrew — автоматическое управление зависимостями и обновлениями.
Способ 3: Прямое скачивание бинарного файла (для опытных)¶
Скачайте готовый бинарный файл для вашей платформы со страницы GitHub Releases и поместите его в каталог из PATH. Этот способ не зависит от Node.js. По состоянию на 2026-10-26 последний стабильный выпуск — v0.164.0 (опубликован 2026-10-23); при проверке 2026-10-15 на странице была v0.162.1 (опубликована 2026-10-09). Файлы названы по платформам: например, codex-x86_64-unknown-linux-musl.tar.gz для Linux x64, codex-aarch64-apple-darwin.tar.gz для macOS на чипах Apple и codex-x86_64-pc-windows-msvc.exe для Windows x64.
# Пример: скачать и установить версию для Linux x64
curl -fsSLO https://github.com/openai/codex/releases/latest/download/codex-x86_64-unknown-linux-musl.tar.gz
tar -xzf codex-x86_64-unknown-linux-musl.tar.gz
sudo mv codex-x86_64-unknown-linux-musl /usr/local/bin/codex
Способ 4: Официальный установочный скрипт (macOS / Linux)¶
В официальной документации OpenAI по Codex (по состоянию на 2026-10-26) есть и самостоятельный установщик:
curl -fsSL https://chatgpt.com/codex/install.sh | sh
После установки проверьте результат командой codex --version.
Проверка установки¶
codex --version
Если выводится номер версии, установка прошла успешно. Не считайте цифру на этой странице «текущей последней» — смотрите GitHub Releases и npm @openai/codex, на машине — codex --version.
Настройка автодополнения Shell (необязательно)¶
Codex поддерживает автодополнение в Shell — нажмите Tab при вводе команды для подсказок:
# Пользователи Zsh
echo 'eval "$(codex completion zsh)"' >> ~/.zshrc
source ~/.zshrc
# Пользователи Bash
echo 'eval "$(codex completion bash)"' >> ~/.bashrc
source ~/.bashrc
Если Zsh выдаёт ошибку
command not found: compdef, добавьтеautoload -Uz compinit && compinitпередeval.
3. Настройка QCode.cc¶
Для подключения Codex CLI к сервису QCode.cc необходимо настроить два файла:
~/.codex/config.toml— настройки конечной точки сервиса и модели~/.codex/auth.json— аутентификация по API-ключу
Шаг 1: Создание каталога конфигурации¶
Windows (PowerShell):
mkdir $HOME\.codex
macOS:
mkdir -p ~/.codex
Linux:
mkdir -p ~/.codex
Шаг 2: Создание config.toml¶
Запишите в ~/.codex/config.toml следующее:
model_provider = "qcode"
model = "gpt-6.1-sol"
model_reasoning_effort = "high"
[model_providers.qcode]
name = "qcode"
base_url = "https://api.qcode.cc/openai"
wire_api = "responses"
requires_openai_auth = true
Описание полей config.toml:
| Поле | Описание |
|---|---|
model_provider |
Имя провайдера моделей, здесь задан пользовательский qcode. Имя можно выбрать любое, главное, чтобы оно совпадало с [model_providers.<имя>]; в этой документации везде используется qcode |
model |
Модель по умолчанию. Рекомендуется gpt-6.1-sol (модель, которую официальная документация OpenAI по Codex советует для сложного программирования и агентных задач) |
model_reasoning_effort |
Интенсивность рассуждения, например low, medium, high; доступные уровни зависят от модели и клиента. Чем выше, тем точнее, но медленнее |
base_url |
Адрес точки доступа QCode.cc (в примере — глобальный вход api.qcode.cc; другие точки см. в разделе Точки доступа и форматы API) |
wire_api |
Тип протокола API; Codex сейчас поддерживает только responses |
requires_openai_auth |
Использовать аутентификацию в формате OpenAI; ключ читается из OPENAI_API_KEY в ~/.codex/auth.json. При значении true Codex игнорирует env_key (официальная документация) |
Шаг 3: Создание auth.json¶
Запишите следующее содержимое в ~/.codex/auth.json:
{
"OPENAI_API_KEY": "cr_xxxxxxxxxx"
}
Замените
cr_xxxxxxxxxxна ваш API-ключ QCode.cc. Ключ начинается сcr_.
Описание auth.json:
- Этот файл предоставляет Codex API-ключ (при
requires_openai_auth = trueCodex читает из негоOPENAI_API_KEY) - Рекомендуется установить права доступа к файлу
600(только чтение/запись владельцем):chmod 600 ~/.codex/auth.json
Шаг 4: Установка переменных окружения (необязательная альтернатива)¶
Чтобы передавать ключ через переменную окружения, замените в [model_providers.qcode] строку requires_openai_auth = true на env_key = "QCODE_API_KEY" и экспортируйте эту переменную. Выберите только один из двух вариантов: в официальной документации сказано, что при requires_openai_auth = true Codex игнорирует env_key. Полная конфигурация для варианта с переменной окружения:
model_provider = "qcode"
model = "gpt-6.1-sol"
model_reasoning_effort = "high"
[model_providers.qcode]
name = "qcode"
base_url = "https://api.qcode.cc/openai"
wire_api = "responses"
env_key = "QCODE_API_KEY"
Затем задайте переменную окружения:
Windows (PowerShell):
# Временная установка (текущая сессия)
$env:QCODE_API_KEY = "cr_xxxxxxxxxx"
# Постоянная установка (в пользовательские переменные окружения)
[System.Environment]::SetEnvironmentVariable("QCODE_API_KEY", "cr_xxxxxxxxxx", [System.EnvironmentVariableTarget]::User)
macOS:
# Временная установка
export QCODE_API_KEY="cr_xxxxxxxxxx"
# Постоянная установка
echo 'export QCODE_API_KEY="cr_xxxxxxxxxx"' >> ~/.zshrc
source ~/.zshrc
Linux:
# Временная установка
export QCODE_API_KEY="cr_xxxxxxxxxx"
# Постоянная установка (Bash)
echo 'export QCODE_API_KEY="cr_xxxxxxxxxx"' >> ~/.bashrc
source ~/.bashrc
# Постоянная установка (Zsh)
echo 'export QCODE_API_KEY="cr_xxxxxxxxxx"' >> ~/.zshrc
source ~/.zshrc
Доступные модели¶
Через QCode.cc доступны следующие модели Codex/GPT:
| Модель | Описание | Рекомендуемый сценарий |
|---|---|---|
gpt-6.1-sol |
Обновлённая версия GPT-6 Sol (2026-09-29), контекст 1.05M, чтение из кэша дешевле | Универсальные / сложные задачи (рекомендуется ★; официальная документация OpenAI по Codex советует GPT-6.1 Sol для сложного программирования и агентных процессов) |
gpt-6.1-terra |
Средняя модель GPT-6.1, цена примерно вдвое ниже, чем у gpt-6.1-sol (см. /models) |
Повседневное программирование / пакетные задачи |
gpt-6-sol |
GPT-6 Sol, контекст 1.05M | Универсальные / сложные задачи |
gpt-6-astra |
Самый мощный уровень, высокая цена | Максимальные возможности |
gpt-5.6-terra |
Флагман GPT-5.6, оптимизирована для кода | Программирование / Codex CLI |
QCode сейчас не предоставляет gpt-6-luna / gpt-5.6-luna. Используйте другие модели GPT (gpt-6.1-sol / gpt-6.1-terra / gpt-6-sol / gpt-5.6-terra).
Claude Code и Codex используют один и тот же API-ключ QCode, для смены модели ничего дополнительно подключать не нужно. QCode тарифицирует по токенам, цены по моделям указаны на qcode.cc/models.
4. Базовое руководство по использованию¶
4.1 Запуск Codex¶
Откройте терминал, перейдите в каталог вашего проекта и выполните:
cd /path/to/your/project
codex
Codex запустит интерактивный интерфейс терминала (TUI), где вы можете вводить команды на естественном языке. Интерфейс состоит из следующих частей:
- Верхняя панель состояния: показывает текущую модель, режим подтверждения, состояние песочницы
- Основная область: ответы AI и журнал операций
- Нижнее поле ввода: место для ввода ваших команд
Вы также можете указать задачу непосредственно в командной строке (неинтерактивный режим), что подходит для вызова из скриптов:
# Интерактивный запуск
codex
# Неинтерактивный режим: выполнение одной задачи с выходом
codex "Просмотрите структуру проекта и дайте мне обзор"
# Задача с изображением
codex -i screenshot.png "Исправьте проблему с UI, показанную на скриншоте"
# Указание модели
codex -m gpt-6-sol "Рефакторинг обработки ошибок в модуле аутентификации"
4.2 Первое задание: попросите Codex написать функцию¶
Начнём с простого примера. Запустите Codex в каталоге проекта и введите:
Напишите функцию на Python, которая принимает список строк и возвращает самую длинную строку. Если несколько строк одинаковой длины, верните первую. Сохраните в файл utils.py.
Codex выполнит следующие шаги:
- Планирование: анализ ваших требований, разработка плана реализации
- Генерация кода: создание файла
utils.pyи запись функции - Запрос подтверждения: в предустановке «только чтение» или когда изменение требует подтверждения (например, запись за пределами рабочей области), Codex покажет предстоящие изменения файла и дождётся вашего подтверждения; в предустановке по умолчанию правки внутри рабочей области выполняются автоматически
Когда нужно подтверждение, вы увидите примерно такое приглашение:
Codex wants to create file: utils.py
─────────────────────────────────────
+ def find_longest(strings: list[str]) -> str:
+ """Возвращает самую длинную строку из списка, первую при наличии нескольких."""
+ if not strings:
+ raise ValueError("Список не может быть пустым")
+ return max(strings, key=len)
Accept? [y/n]
Введите y для подтверждения, и Codex запишет код в файл.
Далее вы можете давать дополнительные команды, Codex будет сохранять контекст в той же сессии:
Напишите модульный тест для этой функции с использованием pytest
Codex автоматически прочитает созданный ранее файл utils.py и сгенерирует соответствующий тестовый файл.
4.3 Понимание режима выполнения в песочнице Codex¶
Это одна из важнейших функций безопасности Codex. Codex выполняет команды в песочнице с тремя уровнями безопасности:
| Режим песочницы | Чтение файлов | Запись файлов | Выполнение команд | Сетевой доступ |
|---|---|---|---|---|
read-only |
Разрешено | Требует подтверждения | Требует подтверждения | Требует подтверждения |
workspace-write (по умолчанию) |
Разрешено | Разрешено в рабочей области | Разрешено в рабочей области | Запрещено по умолчанию |
danger-full-access |
Разрешено | Полностью разрешено | Полностью разрешено | Разрешено |
Режим workspace-write по умолчанию — лучший выбор для повседневной разработки: Codex может свободно читать/писать файлы и выполнять команды в каталоге проекта, но не может обращаться к файлам или сети за пределами проекта.
Если вашей задаче требуется сетевой доступ (например, npm install), можно временно включить сетевой доступ:
codex -c 'sandbox_workspace_write.network_access=true' "Установить зависимости и запустить тесты"
4.4 Проверка и принятие изменений Codex¶
Изменения файлов Codex выполняются в соответствии с политикой подтверждения (Approval Policy). Согласно официальной документации (по состоянию на 2026-10-26), в Git-репозитории по умолчанию используется предустановка «запись в рабочую область + подтверждение по запросу»:
- Правки файлов и команды внутри рабочей области: выполняются автоматически
- Запись за пределами рабочей области, доступ в сеть и подобные действия: показываются вам и ждут подтверждения
- Каталоги вне Git: по умолчанию только чтение, поэтому перед любыми изменениями Codex спрашивает
Когда Codex предлагает изменения, вы можете:
- Принять (y): применить изменения
- Отклонить (n): пропустить это изменение
- Посмотреть детали: внимательно изучить diff перед принятием решения
Совет: Используйте команду
/diffчтобы в любой момент просмотреть все применённые изменения в текущей сессии.
4.5 Полезные приёмы взаимодействия¶
Ссылка на файлы: введите @ и имя файла, Codex автоматически прочитает содержимое этого файла:
Просмотрите @src/app.py и оптимизируйте обработку ошибок
Выполнение Shell-команд: начав с ! можно напрямую выполнить команду, вывод будет передан Codex:
!cat error.log
Проанализируйте приведённый выше журнал ошибок и найдите первопричину
Добавление команд: во время работы Codex нажмите Enter для вставки новой команды, Tab для постановки в очередь следующего раунда команд.
Возврат к редактированию: при пустом поле ввода дважды нажмите Esc чтобы вернуться к предыдущему сообщению для редактирования и повторной отправки. Продолжайте нажимать Esc для возврата к более ранним сообщениям, затем нажмите Enter чтобы ответвиться в новую линию диалога из этой точки.
Передача через конвейер: можно передать вывод других команд через конвейер для анализа Codex:
# Анализ последних git-изменений
git diff HEAD~3 | codex "Проверьте эти изменения и найдите потенциальные проблемы"
# Анализ журнала ошибок
cat /var/log/app/error.log | codex "Проанализируйте корневые причины этих ошибок"
# Проверка PR
gh pr diff 42 | codex "Проверьте качество кода и безопасность этого PR"
Горячие клавиши:
| Клавиша | Функция |
|---|---|
Tab |
Автодополнение пути к файлу (используется с @) |
Enter |
Вставить новую команду во время работы Codex |
Tab |
Поставить в очередь следующий раунд команд во время работы Codex |
Esc x 2 |
Вернуться к предыдущему сообщению для редактирования |
Ctrl+C |
Отменить текущую операцию |
Команды со слэшем:
| Команда | Описание |
|---|---|
/model |
Выбрать модель и интенсивность рассуждения |
/diff |
Показать все изменения |
/mcp |
Показать подключённые MCP-серверы |
/status |
Показать состояние текущей сессии |
/compact |
Сжать историю диалога для экономии токенов |
/permissions |
Просмотр и изменение настроек разрешений |
/review |
Проверка кода |
4.6 Изменения команд в Codex CLI 0.164.0 (2026-10-23)¶
Codex CLI 0.164.0 выпущен 2026-10-23. В официальных примечаниях к релизу перечислены следующие изменения, связанные с командами и конфигурацией:
- Сохраняйте повторно используемые промпты и слэш-команды в десяти пронумерованных слотах
/presets; клавиатурное меню открывает их быстро. - Задавайте модель, интенсивность рассуждений, скорость и профили разрешений прямо в аргументах
/modelи/permissions. - Аутентифицируйте корпоративные MCP-подключения через подходящие разрешения аккаунта Codex или отдельный вход, включая OAuth-клиенты, которым нужен секрет.
- Маскируйте учётные данные в поддерживаемых удалённых командах Bash и сессиях снимков Zsh, включая учётные данные пользовательских провайдеров.
Ключи, которые используются в конфигурации выше, по-прежнему есть в официальном справочнике конфигурации, проверенном 2026-10-26: model_provider, [model_providers.<id>], base_url, wire_api, requires_openai_auth. Команды установки в официальном README, проверенном в тот же день, не изменились: npm install -g @openai/codex, brew install --cask codex или curl -fsSL https://chatgpt.com/codex/install.sh | sh.
5. Расширенная настройка¶
5.1 Пользовательские файлы инструкций (AGENTS.md)¶
Codex поддерживает файл AGENTS.md для предоставления AI контекста проекта и рабочих правил, аналогично файлу CLAUDE.md в Claude Code.
Инструкции уровня проекта: создайте AGENTS.md в корневом каталоге проекта:
# AGENTS.md
## Описание проекта
Это бэкенд-проект на FastAPI с базой данных PostgreSQL.
## Стандарты кодирования
- Все функции должны иметь аннотации типов
- Новые API-эндпоинты требуют синхронного написания тестов
- Перед коммитом запускайте `make lint` для проверки стиля
## Команды тестирования
- Модульные тесты:`pytest tests/unit/`
- Интеграционные тесты:`pytest tests/integration/`
- Проверка кода:`make lint`
Глобальные инструкции: создайте глобальные правила по умолчанию в ~/.codex/AGENTS.md, все проекты будут их наследовать:
# Глобальные инструкции
- Всегда общайтесь на китайском языке
- Комментарии к коду пишите на английском
- Предпочитайте функциональный стиль программирования
- Сгенерированный код должен содержать обработку ошибок
Переопределение в подкаталогах: создание AGENTS.override.md в определённом каталоге переопределит правила выше:
# services/payments/AGENTS.override.md
- Все изменения в этом каталоге должны записываться в журнал аудита
- Расчёты сумм используют тип Decimal, не числа с плавающей точкой
Codex ищет файлы инструкций в следующем порядке: AGENTS.override.md > AGENTS.md > запасной файл из конфигурации. Общий размер объединённых инструкций по умолчанию ограничен 32 КБ, можно изменить через project_doc_max_bytes.
5.2 Настройка подтверждений и песочницы¶
Защита в Codex состоит из двух слоёв: режим песочницы определяет, что Codex технически может делать (куда писать, можно ли выходить в сеть), а политика подтверждений — когда он обязан сначала спросить вас. По состоянию на 2026-10-26, согласно официальной документации OpenAI, ими управляют два параметра командной строки:
| Параметр | Допустимые значения |
|---|---|
--sandbox / -s |
read-only, workspace-write, danger-full-access |
--ask-for-approval / -a |
on-request, never |
Типичные сочетания (официальная документация):
| Цель | Параметры | Результат |
|---|---|---|
| По умолчанию (рекомендовано для Git-репозиториев) | Без параметров или --sandbox workspace-write --ask-for-approval on-request |
Читает файлы, правит их и запускает команды внутри рабочей области; перед записью за её пределами или выходом в сеть спрашивает |
| Безопасный просмотр только для чтения | --sandbox read-only --ask-for-approval on-request |
Читает файлы и запускает команды в песочнице только для чтения; действия за её пределами могут требовать подтверждения |
| Только чтение, неинтерактивно (CI) | --sandbox read-only --ask-for-approval never |
Подтверждений не запрашивает никогда |
| Автоматическая проверка подтверждений | --approve-for-me (псевдоним --not-so-yolo) |
Подтверждения on-request и песочница workspace-write; запросы подтверждений обрабатывает автоматическая проверка |
| Полный доступ (не рекомендуется) | --dangerously-bypass-approvals-and-sandbox (псевдоним --yolo) |
Ни песочницы, ни подтверждений; только во внешне защищённой изолированной среде |
🔴 Формы
--full-auto,--suggest,--auto-editи--approval-mode, которые встречаются в старых руководствах, в текущем официальном списке параметров отсутствуют. Если нужна автономная запись файлов, используйте--sandbox workspace-write; для неинтерактивных запусков —codex exec --sandbox workspace-write.⚠️ Флаги Codex меняются быстро. Ориентируйтесь на вывод
codex --help, а не на список флагов из какого-либо документа, включая эту страницу.
Значения по умолчанию в config.toml:
# Рекомендуется для личной разработки
approval_policy = "on-request"
sandbox_mode = "workspace-write"
approval_policy принимает on-request, never или таблицу granular, которая делит запросы по категориям. В официальной документации сказано, что approval_policy = "untrusted" больше не поддерживается; если эта строка осталась в старой конфигурации, клиент может не запуститься — удалите её.
Переключение во время сеанса: команда /permissions позволяет без перезапуска переключаться между предустановкой по умолчанию и режимом только для чтения.
Рекомендуемые конфигурации для разных сценариев¶
| Сценарий | Политика подтверждений | Режим песочницы |
|---|---|---|
| Личная повседневная разработка | on-request |
workspace-write |
| Общая командная среда | on-request |
read-only |
| CI/CD (анализ только для чтения) | never |
read-only |
| CI/CD (нужна запись файлов) | codex exec --sandbox workspace-write |
workspace-write |
| Одноразовые скриптовые задачи (изолированная среда) | --yolo |
Без песочницы |
5.3 Настройка MCP-серверов¶
Codex поддерживает Model Context Protocol (MCP), позволяющий подключать внешние инструменты для расширения возможностей.
Добавление MCP-сервера через командную строку:
codex mcp add my-server -- npx -y @some/mcp-server --config /path/to/config.json
Настройка через config.toml:
[mcp_servers.filesystem]
command = "npx"
args = ["-y", "@modelcontextprotocol/server-filesystem", "/path/to/allowed/dir"]
[mcp_servers.github]
command = "npx"
args = ["-y", "@modelcontextprotocol/server-github"]
env = { GITHUB_TOKEN = "ghp_your_token" }
После настройки перезапустите Codex и используйте команду /mcp для просмотра подключённых серверов. Инструменты MCP автоматически появятся в списке доступных инструментов Codex наравне со встроенными.
Codex как MCP-сервер: Codex также может работать в обратном режиме как MCP-сервер, вызываться другими AI-агентами. Это очень полезно при построении систем с несколькими агентами.
5.4 Настройка профилей (управление множеством сред)¶
Если для разных проектов нужны разные настройки (рабочее и личное), используйте профили. Начиная с Codex 0.134.0 старые таблицы [profiles.<имя>] внутри config.toml больше не действуют — теперь на профиль приходится отдельный файл: ~/.codex/<имя>.config.toml. Ниже три блока — полная новая форма:
# ~/.codex/config.toml - default config (top-level keys only; no [profiles.x] tables)
model_provider = "qcode"
model = "gpt-6-sol"
[model_providers.qcode]
name = "qcode"
base_url = "https://api.qcode.cc/openai"
wire_api = "responses"
requires_openai_auth = true
# ~/.codex/work.config.toml
model = "gpt-6-sol"
model_reasoning_effort = "high"
# ~/.codex/personal.config.toml
model = "gpt-5.6-terra"
model_reasoning_effort = "medium"
Запуск с профилем:
codex --profile work "Рефакторинг модуля аутентификации"
codex --profile personal "Написать небольшой скрипт"
✅ Три поведения ниже проверены на нашей машине (codex-cli 0.155.0, linux-x86_64, изолированный HOME, запросы к модели не отправлялись) — именно на них и сыпятся ошибки:
- Если оставить старую таблицу и передать
--profile, будет жёсткая ошибка, а не молчаливое игнорирование:
text
Error loading config.toml: --profile `work` cannot be used while ~/.codex/config.toml contains legacy `profile = "work"` or `[profiles.work]` config; move those settings into ~/.codex/work.config.toml and remove the legacy profile selector/table.
- Селектор верхнего уровня
profile = "work"тоже упразднён:
text
Error: legacy `profile = "work"` config is no longer supported; use `--profile work` with `work.config.toml` instead
- Без
--profileоставшиеся таблицы[profiles.*]вообще не участвуют в разрешении конфига —codex doctorпо-прежнему показываетconfig.toml parse okи берёт значения верхнего уровня. «Нет ошибки» ≠ «сработало», поэтому при переезде удалите старые таблицы.
Кроме того, --profile действует только для «рантаймовых» подкоманд (codex, exec, review, resume, queue, archive, delete, unarchive, fork, mcp, sandbox, debug prompt-input); с doctor он выдаёт --profile only applies to runtime commands .... Файл профиля — слой выше пользовательского конфига и ниже проектного и командной строки, см. 5.6.
5.5 Неинтерактивный режим (скрипты и автоматизация)¶
Codex можно использовать не только интерактивно, но и запускать неинтерактивно в скриптах и CI/CD конвейерах: команда codex exec выполняет задачу и завершается (по официальной документации, она работает неинтерактивно и выводит результат в stdout или JSONL).
# Базовое использование: выполнить задачу и выйти
codex exec "Добавить инструкции по установке в README.md"
# Разрешить запись в рабочую область: полностью автономное выполнение
codex exec --sandbox workspace-write "Запустить набор тестов, исправить все упавшие тесты"
# Вывод потоком событий JSONL (для аудита или последующей обработки)
codex exec --json "Рефакторинг модуля обработки ошибок"
Использование Codex в CI/CD:
# Пример GitHub Actions
- name: Auto-fix lint errors
run: |
# Вариант с переменной окружения: в config.toml используется env_key, без requires_openai_auth
mkdir -p ~/.codex
cat > ~/.codex/config.toml <<'EOF'
model_provider = "qcode"
model = "gpt-6.1-sol"
[model_providers.qcode]
name = "qcode"
base_url = "https://api.qcode.cc/openai"
wire_api = "responses"
env_key = "QCODE_API_KEY"
EOF
npx @openai/codex exec --sandbox workspace-write "Запустить eslint --fix для исправления всех lint-ошибок, затем сделать коммит"
env:
QCODE_API_KEY: ${{ secrets.QCODE_API_KEY }}
Codex SDK: Если нужно вызывать Codex из своей программы, можно использовать официальный SDK для программного вызова, встраивая Codex в собственные инструменты разработки или рабочие процессы.
5.6 Приоритет конфигурации¶
Когда несколько источников конфигурации конфликтуют, Codex разрешает их в следующем порядке приоритета (от высшего к низшему):
- Аргументы командной строки (
--model,-cи т.д.) - Конфигурация проекта (
.codex/config.toml, от корня проекта до текущего каталога, ближайший приоритетнее; загружается только для доверенной папки, а ключиmodel_provider,model_providers,profileиprofilesв проектном слое Codex игнорирует) - Файл профиля (
~/.codex/<name>.config.toml, который выбирает--profile <name>) - Конфигурация пользователя (
~/.codex/config.toml) - Системная конфигурация (
/etc/codex/config.toml, для Unix-систем) - Встроенные значения по умолчанию
Понимание этого приоритета помогает точно контролировать поведение на разных уровнях. Например, установите общие значения по умолчанию в ~/.codex/config.toml, переопределите конкретные настройки в .codex/config.toml проекта, и используйте аргументы командной строки для разовых корректировок.
6. Сравнение Claude Code и Codex¶
Если коротко: Claude Code — интерактивное парное программирование, Codex — автономное выполнение задач. Claude Code подходит для исследовательской отладки, сложного рефакторинга и разбора архитектуры; Codex — для чётко сформулированной разработки, массовых миграций и автоматизации CI/CD. Файлы инструкций — CLAUDE.md и AGENTS.md, оба полностью поддерживают MCP и используют одну квоту тарифа QCode.cc, поэтому переключение ничего не стоит.
Полное сравнение по 13 параметрам (модель исполнения, длина контекста, песочница, мультиагентность, открытость кода и другие) → Codex vs Claude Code.
7. Практические примеры¶
Ниже — несколько реальных сценариев работы с Codex. В каждом примере есть конкретная команда и ожидаемый результат.
Пример 1: разобраться в новом проекте¶
Когда вы получаете незнакомую кодовую базу:
cd /path/to/new/project
codex
В интерактивном режиме:
Чем занимается этот проект? Проанализируй структуру каталогов, основные модули,
технологический стек и нарисуй компактную схему архитектуры (ASCII art).
Codex просканирует файлы проекта, разберёт файлы зависимостей (package.json, requirements.txt, go.mod и другие), прочитает ключевые точки входа и выдаст общий обзор проекта.
Пример 2: код-ревью¶
codex "Проверь все изменения последнего git commit в каталоге src/. Обрати внимание на:
1. потенциальные баги (разыменование null, граничные условия)
2. риски безопасности (SQL-инъекции, XSS, зашитые в код секреты)
3. проблемы производительности (N+1 запросы, лишние циклы)
Укажи конкретные места в коде и предложи исправления."
Пример 3: массовый рефакторинг¶
codex --sandbox workspace-write "Замени все вызовы print() во всех Python-файлах проекта на модуль logging.
Требования:
1. добавить import logging в начало каждого файла
2. создать logger = logging.getLogger(__name__)
3. заменить print() на logger.info()
4. сохранить исходные строки форматирования
5. после замены запустить pytest и убедиться, что ничего не сломано"
Codex обработает файлы по одному, сохранит единообразие кода и в конце запустит тесты для проверки.
Пример 4: написать полный набор тестов¶
codex "Напиши полный набор модульных тестов для src/services/user_service.py. Требования:
1. использовать pytest + pytest-mock
2. покрыть все публичные методы
3. включить и обычные, и исключительные сценарии
4. замокать внешние зависимости (базу данных, HTTP-запросы)
5. сохранить файл тестов в tests/unit/test_user_service.py
6. запустить тесты и убедиться, что все проходят"
Пример 5: автономное исправление тестов¶
Классический сценарий полной автономности — Codex сам чинит падающие тесты:
codex --sandbox workspace-write "Запусти все тесты. Если какие-то падают:
1. проанализируй причину падения
2. исправь код (а не тест)
3. перезапусти тесты
4. повторяй эти шаги, пока все тесты не пройдут
В конце дай краткую сводку исправлений."
Пример 6: сверстать UI по макету¶
codex -i design.png "Свёрстай эту страницу по макету на React + Tailwind CSS.
Требования:
1. адаптивная вёрстка (с поддержкой мобильных)
2. попиксельное соответствие макету
3. разумное разбиение на компоненты
4. базовые состояния взаимодействия (hover, focus)"
Пример 7: миграция базы данных¶
codex "Нужно добавить в таблицу users поле avatar_url (varchar 500, nullable).
Сделай:
1. скрипт миграции Alembic
2. обнови модель SQLAlchemy
3. обнови соответствующую схему Pydantic
4. обнови функции CRUD
5. добавь соответствующие эндпоинты API (GET/PUT)
6. выполни миграцию и убедись, что она прошла успешно"
Пример 8: автогенерация Changelog в CI/CD¶
codex --sandbox workspace-write "Проанализируй все git commit с момента прошлого release tag,
раскатегорируй их по соглашению conventional commits
и сформируй обновление для CHANGELOG.md.
Включи: новые возможности, исправления багов, ломающие изменения, прочие улучшения."
8. Частые вопросы¶
Файл конфигурации не найден¶
Проблема: Codex сообщает, что файл конфигурации не найден или не может быть загружен.
Решение:
- Проверьте, существует ли каталог конфигурации:
ls ~/.codex/ - Убедитесь, что оба файла
config.tomlиauth.jsonна месте - Проверьте синтаксис TOML в
config.toml(частые ошибки: пропущенные кавычки, опечатки) - Выполните
codex doctor, чтобы получить диагностический отчёт об установке, конфигурации и аутентификации
Ошибка аутентификации по API Key¶
Проблема: сообщение 401 Unauthorized или «API Key недействителен».
Решение:
- Проверьте формат ключа (должен начинаться с
cr_) - Убедитесь, что ключ в
auth.jsonзаписан целиком (без лишних пробелов и переносов строк) - Если используете вариант с переменной окружения, проверьте, что в провайдере указано
env_key = "QCODE_API_KEY", нетrequires_openai_auth = true, а переменная экспортирована - Войдите в консоль QCode.cc и проверьте статус ключа и остаток квоты
Проблемы с сетевым подключением¶
Проблема: не удаётся подключиться к сервису QCode.cc, таймаут или отказ в соединении.
Решение:
- Проверьте сеть:
curl -I https://api.qcode.cc - Убедитесь, что
base_urlуказан верно (должен бытьhttps://api.qcode.cc/openai) -
Попробуйте другую точку доступа:
-
Азиатская точка доступа:
https://asia.qcode.cc/openai - Если используете корпоративный прокси или VPN, убедитесь, что они не блокируют HTTPS-запросы
Какую модель выбрать¶
Проблема: непонятно, какую модель использовать.
Рекомендации:
| Ваша задача | Рекомендуемая модель | Почему |
|---|---|---|
| Программирование | gpt-5.6-terra |
оптимизирована под код |
| Сложные задачи | gpt-6.1-sol |
рекомендована в официальной документации Codex, контекст 1.05M |
| Сложные задачи (альтернатива) | gpt-6-sol |
новейший флагман, контекст 1.05M |
| Максимальные возможности | gpt-6-astra |
самый мощный уровень |
Модель по умолчанию задаётся в config.toml, но её можно переключить и разово:
codex -m gpt-6-sol "Разберись в этом сложном баге с конкурентностью"
Ограничения песочницы мешают выполнить команду¶
Проблема: команды, которые пытается выполнить Codex, отклоняются песочницей.
Решение:
- Если это сетевая операция (например,
npm install), временно откройте сеть:bash codex -c 'sandbox_workspace_write.network_access=true' "Установи зависимости" - Если нужно писать файлы вне каталога проекта, временно расширьте область записи:
bash codex --sandbox danger-full-access "Сохрани вывод в /tmp/result.txt" - Прямо в сессии командой
/permissionsможно посмотреть и изменить текущие разрешения
Как считается стоимость¶
Проблема: как рассчитываются расходы Codex и Claude Code?
Пояснение:
- Codex и Claude Code используют общую квоту тарифа QCode.cc
- Один тариф обслуживает оба инструмента одновременно
- Стоимость считается по фактическому расходу токенов, а не по инструменту
- Когда Codex автономно проходит несколько итераций, расход токенов на одну задачу может быть выше — зато экономится время разработчика
- QCode тарифицирует по токенам, цены по моделям указаны на qcode.cc/models, а расход можно смотреть в консоли QCode.cc
Могут ли AGENTS.md и CLAUDE.md сосуществовать?¶
Да. Если проект используется и Codex, и Claude Code:
- Codex читает только
AGENTS.mdи игнорируетCLAUDE.md - Claude Code читает только
CLAUDE.mdи игнорируетAGENTS.md - Они не мешают друг другу — для каждого инструмента можно вести свой файл инструкций
- Основные правила (команды тестирования, стиль кода и т. п.) стоит держать согласованными в обоих файлах
10. Связанная документация¶
- Настройка переменных окружения — переменные окружения для Claude Code
- Быстрый старт — краткое руководство по Claude Code
- Интеграция с Aider — настройка ещё одного open-source AI-ассистента
- Приёмы работы в CLI — продвинутые приёмы командной строки Claude Code
Начните с QCode
Один API-ключ для Claude Code, Codex и других инструментов; тарификация по токенам, цены каждой модели — на qcode.cc/models