Перейти к основному содержимому

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")

Правила​

  1. Всегда используйте pty=true — Codex — интерактивное терминальное приложение и зависает без PTY
  2. Требуется git-репозиторий — Codex не работает вне git-директории. Используйте mktemp -d && git init для черновиков
  3. Используйте exec для одноразовых задач — codex exec "prompt" выполняется и завершается чисто
  4. --full-auto для создания — автоматически одобряет изменения в песочнице
  5. Фон для длинных задач — используйте background=true и мониторинг с помощью инструмента process
  6. Не вмешивайтесь — мониторьте с помощью poll/log, будьте терпеливы с длительными задачами
  7. Параллельность допустима — запускайте несколько процессов Codex одновременно для пакетной работы