Автоматический запуск: codex exec
Зачем это изучать
Вы сможете поручать Codex повторяемые проверки без постоянного диалога и отделять итоговый ответ от служебных сообщений и ошибок.
codex exec выполняет один готовый запрос без полноэкранного диалога и затем завершается. Такой режим называется неинтерактивным. Он удобен, когда команду запускает другая программа или автоматическая проверка.
codex exec "Проанализируй папку проекта и назови пять основных рисков"Во время работы Codex разделяет сообщения на два потока:
Благодаря этому итог можно сохранить или передать другой программе отдельно от служебных сообщений.
Сначала попробуйте вручную
Перед автоматизацией выполните тот же запрос в обычном диалоге. Если вы не понимаете ожидаемый ответ и нужные права, автоматический запуск только повторит неясность быстрее.
Передача текста на вход
stdin — стандартный ввод программы. Он позволяет прочитать запрос из файла:
codex exec - < task.mdЗнак < передаёт содержимое task.md команде. Вертикальная черта | создаёт цепочку команд, в которой результат слева становится вводом справа:
npm test 2>&1 \
| codex exec "Объясни причины ошибок и предложи минимальное исправление"Здесь результат автоматических проверок передаётся Codex для объяснения. Комбинация 2>&1 объединяет служебные сообщения и обычный результат первой команды.
Сохранить только финальное сообщение:
codex exec \
--output-last-message result.md \
"Подготовь краткий отчёт по проекту"Структурированный результат для программ
codex exec --json "Проверь рабочую папку" | jqФлаг --json выводит поток JSONL: каждая строка содержит отдельное событие — начало задачи, сообщение, команду, изменение файла или ошибку. Это удобно программе, но обычно неудобно читать человеку.
Если другая программа ожидает точную структуру ответа, передайте схему данных:
codex exec \
--output-schema ./schema.json \
--output-last-message ./result.json \
"Извлеки сведения о проекте"Продолжение сеанса
codex exec "Найди возможные одновременные изменения общих данных"
codex exec resume --last "Исправь найденную проблему и запусти проверки"
codex exec resume <SESSION_ID> "Продолжай с предыдущего результата"Не сохранять запись одноразового запуска:
codex exec --ephemeral "Однократно классифицируй эти ошибки"Права
Задавайте минимально достаточную песочницу явно:
# только прочитать и объяснить
codex exec --sandbox read-only "Проверь архитектуру"
# разрешить изменения рабочей папки
codex exec --sandbox workspace-write "Исправь форматирование и запусти проверку"danger-full-access допустим только внутри отдельного исполнителя или контейнера, уже изолированного от важных данных. При автоматическом запуске рядом нет человека, поэтому заранее задайте права и не передавайте секретные учётные данные непроверенным сценариям сборки.
Автоматическая проверка проекта
CI — серверная система, которая автоматически проверяет проект после изменений. Воспроизводимый запуск может выглядеть так:
codex exec \
--ignore-user-config \
--sandbox workspace-write \
--json \
"Воспроизведи ошибку проверки, внеси минимальное исправление и повтори проверку"| Флаг | Что меняется |
|---|---|
--ignore-user-config | Личные настройки ~/.codex/config.toml не загружаются |
--ignore-rules | Личные и проектные правила запуска команд не применяются; только для полностью контролируемой среды |
--skip-git-repo-check | Разрешается запуск в обычной папке без Git |
CODEX_API_KEY можно передать одному запуску, но секрет должен быть доступен только этому процессу. Для автоматических проверок GitHub OpenAI рекомендует openai/codex-action: он помогает отделить создание изменения от шага, которому разрешено записывать файлы. Ссылка находится в конце страницы.
Куда дальше
Перед настоящей автоматизацией проверьте конфигурацию, безопасность и задачи по расписанию.