OpenAI
Тази страница е машинно преведена. Вижте оригиналната статия на английски език.

Използване на Daybreak в Codex CLI

Използвайте това ръководство, за да активирате Daybreak в Codex CLI, да го настроите за автоматизирани работни процеси и интеграции чрез SDK и да отстраните проблеми с достъпа или откази за изпълнение. 

Актуализирано: 21 hours ago

За да получите достъп до тези промени, трябва да актуализирате 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

  1. Стартирайте Codex с обичайния си метод за удостоверяване.

  2. За да включите Daybreak, въведете /daybreak.

  3. Codex ще покаже Daybreak е включен. Прилага се за нови ходове.

  4. Това ще се приложи за активната нишка и ще се запази като настройка по подразбиране за нови сесии.

  5. За да изключите Daybreak, изпълнете отново същата команда (/daybreak).

Активиране на Daybreak в CLI в неинтерактивен режим

Неинтерактивните работни процеси се изпълняват без интерактивен потребителски интерфейс, обикновено чрез codex exec в скриптове, планирани задачи или CI. Тук няма интерактивно запитване „Активиране на Daybreak“ (/daybreak). Вместо това можете да:

  1. Добавите Daybreak към конкретно изпълнение на CLI, като добавите -c daybreak=true към всяка команда, която трябва да се изпълнява с по-малко откази. Например можете да въведете:

codex exec -c daybreak=true "Review the changes in this repository."

  1. Запазете съществуващата си подкана и останалите опции на командата. Добавете тази настройка към всяко извикване, което трябва да използва Daybreak, включително командите в скриптове, планирани задачи и конфигурацията на CI.

  2. Зададете Daybreak по подразбиране за новите сесии и изпълнения на CLI, като добавите daybreak=true в конфигурационния файл, който Codex зарежда.

  3. Потребителската конфигурация по подразбиране е в ~/.codex/config.toml. Ако автоматизацията ви задава CODEX_HOME, вместо това използвайте $CODEX_HOME/config.toml. Поставете настройката на най-горното ниво, извън раздели като [features].

  4. Направете промяната в средата, в която действително се изпълнява автоматизацията. Актуализирането на конфигурацията на лаптопа ви не актуализира конфигурацията на изпълнителя на CI задачи или на отдалечена машина.

  5. Настройката важи и за новите интерактивни сесии, които използват същата конфигурация. Възобновените и разклонените сесии запазват съхранения си избор за Daybreak; новата стойност по подразбиране в конфигурацията не го заменя.

  6. Имайте предвид, че настройката от командния ред има предимство пред запазената конфигурация за съответното извикване. Затова можете да запазите daybreak = true в конфигурацията си и да използвате -c daybreak=false за отделно изпълнение.

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

Можете да използвате Daybreak в Codex CLI, като насочвате заявките за изпълнение на модели през съществуващото си прокси. Codex прави отделна справка в каталога с модели, за да установи кои модели поддържат Daybreak за вашия проект.

Преди да започнете, се уверете, че имате работещ доставчик през прокси в Codex CLI и OpenAI API ключ от проект с достъп до Daybreak и до модела, който искате да използвате, както и версия v0.167.0 на Codex CLI.Документация на OpenAI за достъпа на проекти до Daybreak

  1. Актуализирайте настройките на доставчика през прокси, като отворите ~/.codex/config.toml и намерите раздела [model_providers.<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

  2. Настройте удостоверяването за справката в каталога, като изберете опцията, съответстваща на идентификационните данни, които вашият CLI използва.

    1. Ако Codex използва OpenAI API ключ, запазете URL адреса на каталога на OpenAI от стъпка 1. Стартирайте Codex с ключа от проекта си с активиран Daybreak, за да може да се удостовери директно пред каталога.

    2. Ако Codex използва идентификационните данни за вашето прокси, задайте model_catalog_url на пълния URL адрес на маршрут към каталога във вашето прокси. Конфигурирайте този маршрут така, че да:

      1. Удостоверява заявката от CLI с обичайните ви идентификационни данни за проксито.

      2. Препраща заявката към https://chatgpt.com/backend-api/codex/models с OpenAI API ключа от проекта ви с активиран Daybreak.

      3. Връща отговора от каталога на Codex.

  3. Включете Daybreak, като стартирате нова сесия на Codex CLI с вашия доставчик през прокси. Изберете модел, който може да използва Daybreak, след което въведете /daybreak, за да включите Daybreak.

    1. Ако Daybreak не е наличен, първо проверете справката в каталога. Изпълнението на модела може да е успешно дори ако заявката към каталога е неуспешна. Проверете дали заявката достига до OpenAI с ключ от правилния проект и дали проектът има достъп както до Daybreak, така и до избрания модел.

Включване на Daybreak чрез TypeScript SDK

Подайте настройката за 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 чрез сървъра за приложения или Python SDK

1. Прочетете стойностите на availableAccessPrograms.cyber за избрания модел от model/list, след което задайте cyberAccessProgram в параметрите на turn/start.

а. За модел от основната серия и акаунт с достъп до Daybreak Blue:

{ "cyberAccessProgram": "daybreakBlue" }

б. За модел за киберсигурност и акаунт с достъп до Daybreak Red:

{ "cyberAccessProgram": "daybreakRed" }

в. За обичайните правила за отказ:

{ "cyberAccessProgram": "standard" }

2. Включвайте избраната стойност във всеки ход, за който трябва да се прилага; не приемайте, че пропускането на параметъра изключва Daybreak. Клиентите, които се свързват директно със сървъра за приложения, трябва да активират възможността experimentalApi при инициализацията, за да използват този параметър.

3. CodexClient от ниско ниво в Python SDK може да подаде същия параметър:

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 използва този локален файл вместо автоматичния каталог, така че списъкът ви с модели може да остарее. Когато автоматичният каталог стане достъпен за вашата среда, изпълнете следните стъпки, за да се върнете към него:

  1. Отворете config.toml. За Codex CLI отворете ~/.codex/config.toml (или $CODEX_HOME/config.toml, ако сте задали CODEX_HOME). В Codex Desktop отидете на Настройки > Конфигурация, след което изберете Отваряне на config.toml.

  2. Временно изключете локалния каталог. Добавете # в началото на реда с model_catalog_json, запазете файла и рестартирайте Codex със същия акаунт или API ключ. Не променяйте URL адресите на каталози, изисквани от организацията ви.

  3. Проверете достъпа си. В CLI стартирайте codex, след което въведете /daybreak в рамките на сесията. В Desktop отворете разширеното меню за избор на модел и включете Daybreak. Ако имате достъп до Daybreak Red, проверете дали се показва очакваният модел за киберсигурност и дали можете да изпратите заявка чрез него.

  4. Запазете работещата конфигурация. Ако проверката е успешна, изтрийте деактивирания ред и запазете файла. Ако е неуспешна, премахнете #, запазете файла и рестартирайте Codex, за да възстановите предишните настройки.

Отстраняване на проблеми с откази в CLI

  • Изпълнете типична задача със същите данни за удостоверяване, модел и конфигурация, които използва автоматизацията ви.

  • Ако Daybreak не е достъпен, проверете дали:

    • Акаунтът или API проектът ви има достъп до Daybreak.

    • Избраният модел поддържа Daybreak.

  • В интерактивния CLI проверете дали Daybreak е включен. Интерактивният CLI може да покаже съобщение за отказ, когато Daybreak е достъпен, но изключен: 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) изпълнява сканирания за сигурност от приложение или инструмент за разработчици. Той е отделен от общия Codex SDK, описан по-горе.

Използвайте идентификационните данни за одобрения си акаунт или API проект. Някои заявки, свързани с киберсигурността, и защитени резултати от проверки изискват Trusted Access for Cyber. Инсталирането на SDK или избирането на модел не предоставя достъп до Daybreak.

Следвайте ръководството за Codex Security SDK за поддържаните начини за удостоверяване, конфигуриране и примери за сканиране.

Беше ли Ви полезна тази статия?