Облачная версия Codex
Codex Web — это облачная версия, позволяющая получить доступ к Codex с любого устройства и выполнять задачи в изолированной среде.
Доступ к Codex Web
Доступ к облачному Codex:
https://chatgpt.com/codex
Предварительные требования
- Тарифы ChatGPT Plus / Pro / Business / Enterprise
- Или используйте ключ OpenAI API
При использовании API-ключа некоторые облачные функции могут быть недоступны.
Облачные среды
Среда — ключевая концепция Codex Web; каждая среда представляет собой изолированное рабочее пространство.
Создать среду
- Подключение аккаунта GitHub
- Выбор репозитория
- Настройка скриптов установки и переменных среды
- Выбор политики сетевого доступа
Рабочий процесс выполнения задачи
Облачные задачи выполняются следующим образом:
- Создать контейнер, клонировать репозиторий в выбранную ветку
- Запустить скрипты настройки для установки зависимостей
- Применить настройки сетевого доступа
- Агент выполняет задачу (редактирует код, запускает команды, проверяет результаты)
- Отобразить результаты и изменения файлов
Образ по умолчанию
Облако использует нечто под названием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 часов
- Автоматически аннулируется при изменении скриптов настройки или переменных среды
- Новые задачи запускаются быстрее
Управление облачными задачами
Создать задачу
- Выбрать среду
- Введите описание задачи
- Выберите модель и конфигурацию
- Запустить задачу
Мониторинг задач
- Просмотр прогресса в реальном времени
- Просмотр изменений файлов
- Проверка вывода команды
Обработка результатов
- Просмотр diff изменений
- Создать Pull Request
- Скачать изменённые файлы
Параллельные задачи
Облако поддерживает параллельный запуск нескольких задач:
- Обрабатывать разные функции одновременно
- Несколько окружений работают независимо
- Повысить общую эффективность
Избегайте одновременного изменения одного и того же файла несколькими задачами; иначе возникнут конфликты.
ЧАВО
Вопрос: В чём разница между Cloud и локальным режимом?
Cloud работает на удалённых серверах, что делает его подходящим для параллельных задач и удалённого доступа; локальный режим напрямую работает с вашими файлами.
Вопрос: Как осуществляется оплата?
Облачные задачи расходуют кредиты, а стоимость рассчитывается на основе модели и объёма использования.
Вопрос: Может ли он получить доступ к локальным файлам?
Облако не может получить доступ к локальным файлам, но может синхронизироваться через Git.
Вопрос: Когда требуется доступ к сети?
Это требуется только тогда, когда Agent требует данные в реальном времени или внешние API; обычно достаточно скриптов настройки.
Другие расширения