Чтобы воспользоваться этими изменениями, обновите Codex CLI до версии 0.163.0 или новее. CLI обновляется только по вашему решению: установленные версии работают по-прежнему, пока вы их не обновите.
Если ваши сценарии автоматизации устанавливают
@openai/codex@latest, это изменение может вступить в силу при следующей установке или обновлении. Если вы установили Codex CLI глобально через npm, выполнитеnpm install -g @openai/codex@latest, а затемcodex --version, чтобы проверить обновление.Чтобы отложить изменение, закрепите версию
@openai/codex@0.162.0. Однократная установка с использованием@latestне включает автоматические обновления. Рабочие процессы, привязанные к старым версиям, продолжают работать по-прежнему.Для интеграций на TypeScript обновите
@openai/codex-sdkи входящую в комплект среду выполнения. Для интеграций на Python обновитеopenai-codexи используемую им среду выполнения Codex. Обновление только глобально установленного CLI не всегда обновляет среду выполнения SDK. Если вы задали собственный путь к исполняемому файлу, обновите и этот файл.
Если каталог доступен, но в нём нет вручную заданных идентификаторов моделей, CLI и Codex Desktop продолжат автоматически обрабатывать их по-прежнему, даже при включённом Daybreak. Само по себе их отсутствие в каталоге не препятствует успешному выполнению запроса.
Модели для кибербезопасности могут появляться в меню выбора моделей по отдельному графику. Когда доступ к ним будет открыт, пользователям поддерживаемых версий не придётся ничего скачивать дополнительно, чтобы увидеть новые модели. Чтобы обновить список, откройте меню выбора моделей заново или перезапустите Codex.
Включение Daybreak в интерактивном CLI
Запустите Codex с привычным способом аутентификации.
Чтобы включить Daybreak, введите
/daybreak.Codex сообщит:
Daybreak включён. Применяется к новым шагам диалога.Настройка будет применена к текущему диалогу и сохранена как значение по умолчанию для новых сеансов.
Чтобы выключить Daybreak, выполните ту же команду (
/daybreak) ещё раз.
Включение Daybreak в неинтерактивном режиме CLI
Неинтерактивные процессы выполняются без пользовательского интерфейса — обычно через codex exec в скриптах, заданиях по расписанию или CI. Здесь нет интерактивного предложения «Включить Daybreak» (/daybreak). Вместо этого вы можете:
Включить Daybreak для отдельного запуска CLI, добавив
-c daybreak=trueк каждой команде, для которой нужно снизить частоту отказов. Например, можно ввести:
codex exec -c daybreak=true "Review the changes in this repository."
Оставьте свой промпт и остальные параметры команды без изменений. Добавьте этот параметр к каждому вызову, который должен использовать Daybreak, в том числе к командам в скриптах, заданиях по расписанию и конфигурации CI.
Включить Daybreak по умолчанию для новых сеансов и запусков CLI, добавив
daybreak=trueв файл конфигурации, который загружает Codex.По умолчанию пользовательская конфигурация хранится в
~/.codex/config.toml. Если в вашей автоматизации задана переменнаяCODEX_HOME, используйте вместо этого$CODEX_HOME/config.toml. Поместите параметр на верхнем уровне, вне разделов вроде[features].Внесите изменение в той среде, где фактически выполняется автоматизация. Изменение конфигурации на вашем ноутбуке не обновляет её на исполнителе CI или удалённой машине.
Этот параметр также применяется к новым интерактивным сеансам, использующим ту же конфигурацию. Возобновлённые сеансы и ответвления сеансов сохраняют ранее выбранную настройку Daybreak; новое значение по умолчанию в конфигурации её не заменяет.
Обратите внимание: параметр командной строки переопределяет сохранённую конфигурацию для текущего вызова. Поэтому можно оставить
daybreak = trueв конфигурации и использовать-c daybreak=falseдля отдельного запуска.
Включение Daybreak при работе с провайдером инференса через прокси
Вы можете использовать Daybreak в Codex CLI, направляя запросы на инференс через уже настроенный прокси. Codex отправляет отдельный запрос к каталогу моделей, чтобы определить, какие модели поддерживают Daybreak для вашего проекта.
Прежде чем начать, убедитесь, что в Codex CLI настроен работающий прокси-провайдер, у вас есть API-ключ OpenAI из проекта с доступом к Daybreak и нужной модели, а также установлена версия Codex CLI v0.167.0.Документация OpenAI о доступе проекта к Daybreak
Обновите настройки прокси-провайдера: откройте ~/.codex/config.toml и найдите раздел [model_providers.<id>] для вашего прокси. Добавьте в этот раздел последние две строки из примера ниже. Оставьте без изменений текущий ID провайдера, URL прокси и настройки аутентификации.
[model_providers.proxy]name = "Proxied with Cyber"base_url = "https://<your-proxy>/v1"model_catalog_url = "<https://chatgpt.com/backend-api/codex/models>"capabilities.cyber_access_programs = true
Если в вашей конфигурации уже есть раздел [model_providers.<id>.capabilities], добавьте cyber_access_programs = true в него, а model_catalog_url оставьте в родительском разделе провайдера.Справочник по конфигурации CodexНастройте аутентификацию для запроса к каталогу, выбрав вариант, соответствующий учётным данным вашего CLI.
Если Codex использует API-ключ OpenAI, оставьте URL каталога OpenAI из шага 1. Запустите Codex с ключом из проекта с доступом к Daybreak, чтобы он мог пройти аутентификацию напрямую в каталоге.
Если Codex использует учётные данные вашего прокси, задайте для model_catalog_url полный URL маршрута каталога на вашем прокси. Настройте этот маршрут так, чтобы он:
Аутентифицировал запрос CLI с помощью ваших обычных учётных данных прокси.
Пересылал запрос на https://chatgpt.com/backend-api/codex/models, используя API-ключ OpenAI из проекта с доступом к Daybreak.
Возвращал ответ каталога в Codex.
Включите Daybreak, запустив новый сеанс Codex CLI с вашим прокси-провайдером. Выберите модель, для которой доступен Daybreak, затем введите /daybreak, чтобы включить его.
Если Daybreak недоступен, сначала проверьте запрос к каталогу. Инференс может работать, даже если запрос к каталогу завершается ошибкой. Убедитесь, что запрос поступает в OpenAI с ключом из нужного проекта и что у проекта есть доступ и к Daybreak, и к выбранной модели.
Включение Daybreak через SDK для TypeScript
Передайте настройку Daybreak через конфигурацию клиента:
import { Codex } from "@openai/codex-sdk";
const codex = new Codex({
config: { daybreak: true },
});
const thread = codex.startThread();
const result = await thread.run("Review the changes in this repository.");
console.log(result.finalResponse);
Используйте daybreak: false, чтобы выключить Daybreak и вернуться к стандартным правилам отказа. Оставьте текущие настройки аутентификации без изменений.
Включение Daybreak через сервер приложений или SDK для Python
1. Получите значения availableAccessPrograms.cyber для выбранной модели из model/list, затем задайте cyberAccessProgram в параметрах turn/start.
а. Для модели основной линейки и аккаунта с доступом к Daybreak Blue:
{ "cyberAccessProgram": "daybreakBlue" }
б. Для модели для кибербезопасности и аккаунта с доступом к Daybreak Red:
{ "cyberAccessProgram": "daybreakRed" }
в. Для стандартных правил отказа:
{ "cyberAccessProgram": "standard" }
2. Передавайте выбранное значение на каждом шаге диалога, где оно должно применяться; не считайте, что отсутствие параметра выключает Daybreak. Чтобы использовать этот параметр, клиенты, напрямую работающие с сервером приложений, должны включить возможность experimentalApi при инициализации.
3. Низкоуровневый CodexClient из SDK для Python может передавать тот же параметр:
from openai_codex.client import CodexClient
with CodexClient() as client:
client.initialize()
thread = client.thread_start()
turn = client.turn_start(
thread.thread.id,
"Review the changes in this repository.",
params={"cyberAccessProgram": "daybreakBlue"},
)
client.wait_for_turn_completed(turn.turn.id)
4. В этом примере предполагается, что Daybreak Blue доступен для выбранной модели. Клиент Python по умолчанию включает возможность использования экспериментального API. Одной сохранённой настройки диалога недостаточно, чтобы выбрать программу для шага диалога на сервере приложений.
Если вы добавили локальный каталог моделей до этих изменений
Если раньше при входе с API-ключом нужные модели не отображались, возможно, вы добавили локальный каталог через model_catalog_json в config.toml. Codex использует этот локальный файл вместо автоматически получаемого каталога, поэтому список моделей может устареть. Когда в вашей среде появится поддержка автоматического получения каталога, выполните следующие действия, чтобы вернуться к нему:
Откройте
config.toml. Для Codex CLI откройте~/.codex/config.toml(или$CODEX_HOME/config.toml, если вы задалиCODEX_HOME). В Codex Desktop перейдите в Настройки > Конфигурация, затем выберите Открыть config.toml.Временно отключите локальный каталог. Добавьте # в начало строки
model_catalog_json, сохраните файл и перезапустите Codex с тем же аккаунтом или API-ключом. Не удаляйте URL-адрес каталога, если он требуется вашей организацией.Проверьте доступ. В CLI запустите
codex, затем введите/daybreakв сеансе. В Desktop откройте расширенное меню выбора моделей и включите Daybreak. Если у вас есть доступ к Daybreak Red, убедитесь, что нужная модель для кибербезопасности появилась в списке и вы можете отправить ей запрос.Сохраните рабочую конфигурацию. Если проверка прошла успешно, удалите отключённую строку и сохраните файл. Если проверка не удалась, удалите
#, сохраните файл и перезапустите Codex, чтобы восстановить прежние настройки.
Устранение проблем с отказами в CLI
Запустите типичную задачу с теми же учётными данными, моделью и настройками, которые используются в ваших сценариях автоматизации.
Если Daybreak недоступен, убедитесь, что:
У вашего аккаунта или API-проекта есть доступ к Daybreak.
Выбранная модель поддерживает Daybreak.
В интерактивном CLI проверьте, включён ли Daybreak. Если Daybreak доступен, но выключен, интерактивный CLI может показать сообщение об отказе:
Daybreak сейчас выключен. Если вы выполняете санкционированные работы по безопасности, включите его и повторите запрос.Появится вопрос
Включить Daybreak для следующего запроса?с вариантамиВключить DaybreakиНе сейчас.Выберите Включить Daybreak, чтобы включить его для следующего запроса, затем повторите запрос. Учтите: отклонённый запрос не повторяется автоматически — вам нужно отправить его снова. Некоторые запросы могут отклоняться и при включённом Daybreak.
Выберите Не сейчас, чтобы оставить Daybreak выключенным.
Для сценариев автоматизации убедитесь, что
daybreak=trueпередаётся самому процессу Codex и не переопределяется другим параметром командной строки.
Использование Daybreak с Codex Security CLI
Codex Security CLI использует @openai/codex-security для сканирования безопасности. Параметры выбора программы доступа в нём отличаются от параметров в приведённых выше примерах для обычного Codex CLI.
Для аутентификации по API-ключу используйте ключ из API-проекта с доступом к Daybreak и явно укажите программу, к которой допущен этот проект. Для Daybreak Blue:npx @openai/codex-security scan . --auth api-key --cyber-access-program daybreak_blue
Используйте daybreak_red, только если ваш проект допущен к Daybreak Red, или standard для стандартных мер защиты. Выбор программы не предоставляет доступа к ней или к дополнительным моделям.
Параметры аутентификации и сканирования приведены в справочнике Codex Security CLI.
Использование Daybreak с Codex Security SDK
Codex Security SDK для TypeScript (@openai/codex-security) позволяет запускать сканирование безопасности из приложения или инструмента разработчика. Это отдельный SDK, не связанный с обычным Codex SDK, описанным выше.
Используйте учётные данные аккаунта или API-проекта, которому предоставлен доступ. Для некоторых запросов по кибербезопасности и доступа к защищённым результатам сканирования требуется Trusted Access for Cyber. Установка SDK или выбор модели не предоставляют доступа к Daybreak.
Поддерживаемые способы аутентификации, настройки и примеры сканирования приведены в руководстве по Codex Security SDK.
