Русский

Облачные окружения

Настройте зависимости и инструменты для Codex

Используйте окружения, чтобы управлять тем, что Codex устанавливает и запускает во время облачных чатов. Например, можно добавить зависимости, установить такие инструменты, как линтеры и средства форматирования, а также задать переменные окружения.

Настройте окружения в настройках Codex.

Как выполняются облачные чаты Codex

После отправки запроса происходит следующее:

  1. Codex создаёт контейнер и извлекает ваш репозиторий на выбранной ветке или коммите с указанным SHA.
  2. Codex запускает ваш скрипт настройки, а при возобновлении работы с кешированным контейнером — также необязательный скрипт обслуживания.
  3. Codex применяет ваши настройки доступа к интернету. Скрипты настройки выполняются с доступом к интернету. По умолчанию доступ агента к интернету отключён, но при необходимости можно включить ограниченный или неограниченный доступ. Подробнее см. в разделе «Доступ агента к интернету».
  4. Агент циклически выполняет команды терминала. Он редактирует код, запускает проверки и пытается проверить результаты своей работы. Если в репозитории есть AGENTS.md, агент использует этот файл для поиска команд линтинга и тестирования, относящихся к проекту.
  5. Завершив работу, агент показывает свой ответ и diff всех изменённых им файлов. Вы можете открыть PR или задать дополнительные вопросы.

Универсальный образ по умолчанию

Агент Codex работает в стандартном образе контейнера universal, в котором уже установлены распространённые языки, пакеты и инструменты.

В настройках окружения выберите Задать версии пакетов, чтобы закрепить версии Python, Node.js и других сред выполнения.

Хотя для быстроты и удобства в codex-universal уже установлены языки, в контейнер также можно установить дополнительные пакеты с помощью скриптов настройки.

Переменные окружения и секреты

Переменные окружения задаются на всё время чата (включая выполнение скриптов настройки и этап работы агента).

Секреты похожи на переменные окружения, но имеют следующие отличия:

  • Они хранятся с дополнительным уровнем шифрования и расшифровываются только для выполнения задачи.
  • Они доступны только скриптам настройки. В целях безопасности секреты удаляются до начала этапа работы агента.

Автоматическая настройка

Для проектов, использующих распространённые менеджеры пакетов (npm, yarn, pnpm, pip, pipenv и poetry), Codex может автоматически устанавливать зависимости и инструменты.

Ручная настройка

Если ваша среда разработки устроена сложнее, можно предоставить собственный скрипт настройки. Например:

# Install type checker
pip install pyright

# Install dependencies
poetry install --with test
pnpm install

Кеширование контейнеров

Codex кеширует состояние контейнера на срок до 12 часов, чтобы ускорить запуск новых и продолжение существующих чатов.

При кешировании окружения:

  • Codex клонирует репозиторий и переключается на ветку по умолчанию.
  • Codex запускает скрипт настройки и кеширует полученное состояние контейнера.

При возобновлении работы с кешированным контейнером:

  • Codex переключается на ветку, указанную для чата.
  • Codex запускает скрипт обслуживания (необязательно). Это полезно, если скрипт настройки выполнялся для более старого коммита и зависимости необходимо обновить.

Codex автоматически аннулирует кеш при изменении скрипта настройки, скрипта обслуживания, переменных окружения или секретов. Если репозиторий изменился так, что кешированное состояние стало несовместимым, выберите Сбросить кеш на странице окружения.

Доступ к интернету и сетевой прокси-сервер

На этапе выполнения скрипта настройки доступ к интернету разрешён для установки зависимостей. На этапе работы агента доступ к интернету по умолчанию отключён, но можно настроить ограниченный или неограниченный доступ. Подробнее см. в разделе «Доступ агента к интернету».

В целях безопасности и предотвращения злоупотреблений окружения работают через сетевой прокси-сервер HTTP/HTTPS. Через этот прокси-сервер проходит весь исходящий интернет-трафик.