Codex
Делегирование кода OpenAI Codex CLI (функции, PR).
Метаданные навыка
| Источник | Встроенный (установлен по умолчанию) |
| Путь | skills/autonomous-ai-agents/codex |
| Версия | 1.0.0 |
| Автор | VibeOS |
| Лицензия | MIT |
| Платформы | linux, macos, windows |
| Теги | Coding-Agent, Codex, OpenAI, Code-Review, Refactoring |
| Связанные навыки | claude-code, vibeos-agent |
Справочник: полный SKILL.md
Ниже приведено полное определение навыка, которое VibeOS загружает при его активации. Это инструкции, которые видит агент, когда навык активен.
Codex CLI
Делегируйте задачи по коду Codex через терминал VibeOS. Codex — это автономный CLI-агент для кода от OpenAI.
Когда использовать
- Создание функций
- Рефакторинг
- Ревью PR
- Пакетное исправление ошибок
Требуется CLI Codex и git-репозиторий.
Предварительные требования
- Codex установлен:
npm install -g @openai/codex - Настроена аутентификация OpenAI: либо
OPENAI_API_KEY, либо учётные данные OAuth Codex из процесса входа в CLI Codex - Должен выполняться внутри git-репозитория — Codex отказывается работать вне его
- Используйте
pty=trueв вызовах терминала — Codex — интерактивное терминальное приложение
Для самого VibeOS маршрут OpenAI ChatGPT использует управляемые VibeOS
учетные данные из ~/.vibeos/auth.json после vibeos auth add chatgpt-oauth
(openai-codex остается только старым совместимым id в конфиге). Для
автономного CLI Codex действующая сессия OAuth CLI может находиться в
~/.codex/auth.json; не считайте отсутствие OPENAI_API_KEY само по себе
доказательством отсутствия аутентификации Codex.
Одноразовые задачи
terminal(command="codex exec 'Добавить переключатель тёмной темы в настройки'", workdir="~/project", pty=true)
Для черновиков (Codex нужен git-репозиторий):
terminal(command="cd $(mktemp -d) && git init && codex exec 'Создать игру "Змейка" на Python'", pty=true)
Фоновый режим (длинные задачи)
# Запуск в фоне с PTY
terminal(command="codex exec --full-auto 'Рефакторинг модуля аутентификации'", workdir="~/project", background=true, pty=true)
# Возвращает session_id
# Мониторинг прогресса
process(action="poll", session_id="<id>")
process(action="log", session_id="<id>")
# Отправка ввода, если Codex задаёт вопрос
process(action="submit", session_id="<id>", data="yes")
# Завершение при необходимости
process(action="kill", session_id="<id>")
Ключевые флаги
| Флаг | Эффект |
|---|---|
exec "prompt" | Одноразовое выполнение, завершается по окончании |
--full-auto | Песочница, но автоматически одобряет изменения файлов в рабочей области |
--yolo | Без песочницы, без одобрений (самый быстрый, самый опасный) |
--sandbox danger-full-access | Без песочницы Codex; полезно, когда контекст службы хоста нарушает bubblewrap |
Предостережение о шлюзе VibeOS
При вызове CLI Codex из контекста шлюза/службы VibeOS (например,
сессий агента через Telegram) изоляция workspace-write Codex может давать сбой, даже
если та же команда работает в интерактивной оболочке пользователя. Типичный симптом —
ошибки bubblewrap/user-namespace, такие как setting up uid map: Permission denied
или loopback: Failed RTM_NEWADDR: Operation not permitted.
В этом контексте предпочтительнее:
codex exec --sandbox danger-full-access "<task>"
Используйте границы процессов как уровень безопасности: явный workdir, чистый статус git
перед запуском, узкие формулировки задач, git diff для ревью, целевые тесты и
подтверждение человеком/агентом перед фиксацией масштабных изменений.
Ревью PR
Клонируйте во временную директорию для безопасного ревью:
terminal(command="REVIEW=$(mktemp -d) && git clone https://github.com/user/repo.git $REVIEW && cd $REVIEW && gh pr checkout 42 && codex review --base origin/main", pty=true)
Параллельное исправление ошибок с Worktrees
# Создание worktrees
terminal(command="git worktree add -b fix/issue-78 /tmp/issue-78 main", workdir="~/project")
terminal(command="git worktree add -b fix/issue-99 /tmp/issue-99 main", workdir="~/project")
# Запуск Codex в каждом
terminal(command="codex --yolo exec 'Исправить issue #78: <описание>. Зафиксировать по завершении.'", workdir="/tmp/issue-78", background=true, pty=true)
terminal(command="codex --yolo exec 'Исправить issue #99: <описание>. Зафиксировать по завершении.'", workdir="/tmp/issue-99", background=true, pty=true)
# Мониторинг
process(action="list")
# После завершения, отправка и создание PR
terminal(command="cd /tmp/issue-78 && git push -u origin fix/issue-78")
terminal(command="gh pr create --repo user/repo --head fix/issue-78 --title 'fix: ...' --body '...'")
# Очистка
terminal(command="git worktree remove /tmp/issue-78", workdir="~/project")
Пакетное ревью PR
# Получение всех ссылок PR
terminal(command="git fetch origin '+refs/pull/*/head:refs/remotes/origin/pr/*'", workdir="~/project")
# Ревью нескольких PR параллельно
terminal(command="codex exec 'Проверить PR #86. git diff origin/main...origin/pr/86'", workdir="~/project", background=true, pty=true)
terminal(command="codex exec 'Проверить PR #87. git diff origin/main...origin/pr/87'", workdir="~/project", background=true, pty=true)
# Публикация результатов
terminal(command="gh pr comment 86 --body '<review>'", workdir="~/project")
Правила
- Всегда используйте
pty=true— Codex — интерактивное терминальное приложение и зависает без PTY - Требуется git-репозиторий — Codex не работает вне git-директории. Используйте
mktemp -d && git initдля черновиков - Используйте
execдля одноразовых задач —codex exec "prompt"выполняется и завершается чисто --full-autoдля создания — автоматически одобряет изменения в песочнице- Фон для длинных задач — используйте
background=trueи мониторинг с помощью инструментаprocess - Не вмешивайтесь — мониторьте с помощью
poll/log, будьте терпеливы с длительными задачами - Параллельность допустима — запускайте несколько процессов Codex одновременно для пакетной работы