Облачная версия Codex

Codex Web — это облачная версия, позволяющая получить доступ к Codex с любого устройства и выполнять задачи в изолированной среде.


Доступ к Codex Web

Доступ к облачному Codex:

https://chatgpt.com/codex

Предварительные требования

  • Тарифы ChatGPT Plus / Pro / Business / Enterprise
  • Или используйте ключ OpenAI API

При использовании API-ключа некоторые облачные функции могут быть недоступны.


Облачные среды

Среда — ключевая концепция Codex Web; каждая среда представляет собой изолированное рабочее пространство.

Создать среду

  1. Подключение аккаунта GitHub
  2. Выбор репозитория
  3. Настройка скриптов установки и переменных среды
  4. Выбор политики сетевого доступа

Рабочий процесс выполнения задачи

Облачные задачи выполняются следующим образом:

  1. Создать контейнер, клонировать репозиторий в выбранную ветку
  2. Запустить скрипты настройки для установки зависимостей
  3. Применить настройки сетевого доступа
  4. Агент выполняет задачу (редактирует код, запускает команды, проверяет результаты)
  5. Отобразить результаты и изменения файлов

Образ по умолчанию

Облако использует нечто под названиемuniversalОбраз контейнера по умолчанию:

  • Предустановленные распространённые языки: Python, Node.js, Go, Rust
  • Включает стандартные инструменты: npm, pip, cargo, git
  • Версию среды выполнения можно закрепить

Закрепление версии

Закреплённая версия

# Настройки окружения

# Закрепить версию Python
python_version = "3.11"

# Закрепить версию Node.js
node_version = "20"

Скрипты настройки

Скрипты настройки автоматически запускаются при создании контейнера:

Автоматическое определение

Codex автоматически определяет тип проекта и выполняет соответствующую установку:

  • Node.js: автоматически запускать npm install / yarn / pnpm
  • Python: автоматически запускать pip install / poetry install

Ручной скрипт

Пользовательские скрипты настройки

# Скрипт настройки
# Настроить в параметрах окружения

npm install
npm run build
pip install -r requirements.txt

Скрипт обслуживания

Скрипты обслуживания запускаются при старте кэшированных контейнеров:

  • Используется для обновления зависимостей или пересборки
  • Быстрее, чем полная настройка

Скрипты настройки и агент выполняются в отдельных сессиях Bash, поэтому команды export не сохраняются.


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

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

Переменные окружения доступны на протяжении всей задачи:

Задайте переменные окружения

# Переменные окружения
NODE_ENV=production
DEBUG=false
API_ENDPOINT=https://api.example.com

Секреты

Секреты используются для хранения конфиденциальной информации:

  • Дополнительное зашифрованное хранилище
  • Расшифровывается только при выполнении задачи
  • Доступно только в скриптах настройки
  • Автоматически удаляется на этапе агента
TypeОбласть видимостиНазначение
Переменные окруженияСкрипт настройки + АгентОбщая конфигурация
СекретыТолько в скрипте настроекAPI-ключ, пароль

Контроль доступа к сети

Сетевой доступ для облачных сред по умолчанию ограничен:

Настройки по умолчанию

ЭтапДоступ к сети
Скрипты настройкиРазрешён (требуется для установки зависимостей)
АгентЗаблокировано (по умолчанию)

Параметры сетевого доступа агента

НастройкиОписание
Выкл.Полностью блокировать сетевой доступ
Вкл.Разрешить сетевой доступ (домены можно ограничить)

Белый список доменов

Конфигурация доменов

# Конфигурация сети

# Предустановки белого списка
domain_allowlist = "common-dependencies"
# Включает: github.com, npmjs.com, pypi.org и т. д.

# Пользовательские домены
domain_allowlist = [
    "github.com",
    "api.mycompany.com"
]

# Ограничить HTTP-методы
allowed_methods = ["GET", "HEAD", "OPTIONS"]

Риски безопасности

Включение сетевого доступа агента повышает риски:

  • Инъекция промптов (получение инструкций с вредоносных веб-страниц)
  • Утечка данных (отправка кода или ключей внешним сторонам)
  • Загрузка вредоносных зависимостей

Включайте сетевой доступ Agent только при необходимости и ограничивайте его с помощью белого списка доменов.


Кэш контейнера

Облако кэширует состояние контейнера, чтобы ускорить последующие задачи:

  • Кэш на срок до 12 часов
  • Автоматически аннулируется при изменении скриптов настройки или переменных среды
  • Новые задачи запускаются быстрее

Управление облачными задачами

Создать задачу

  1. Выбрать среду
  2. Введите описание задачи
  3. Выберите модель и конфигурацию
  4. Запустить задачу

Мониторинг задач

  • Просмотр прогресса в реальном времени
  • Просмотр изменений файлов
  • Проверка вывода команды

Обработка результатов

  • Просмотр diff изменений
  • Создать Pull Request
  • Скачать изменённые файлы

Параллельные задачи

Облако поддерживает параллельный запуск нескольких задач:

  • Обрабатывать разные функции одновременно
  • Несколько окружений работают независимо
  • Повысить общую эффективность

Избегайте одновременного изменения одного и того же файла несколькими задачами; иначе возникнут конфликты.


ЧАВО

Вопрос: В чём разница между Cloud и локальным режимом?

Cloud работает на удалённых серверах, что делает его подходящим для параллельных задач и удалённого доступа; локальный режим напрямую работает с вашими файлами.

Вопрос: Как осуществляется оплата?

Облачные задачи расходуют кредиты, а стоимость рассчитывается на основе модели и объёма использования.

Вопрос: Может ли он получить доступ к локальным файлам?

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

Вопрос: Когда требуется доступ к сети?

Это требуется только тогда, когда Agent требует данные в реальном времени или внешние API; обычно достаточно скриптов настройки.

Другие расширения