OpenAI
Denne side er maskinoversat. Se den originale engelske artikel.

Brug af Daybreak i Codex CLI

Brug denne vejledning til at aktivere Daybreak i Codex CLI, konfigurere det til automatiserede arbejdsgange og SDK-integrationer samt løse problemer med adgang eller afvisninger. 

Opdateret: 3 hours ago

Bemærk, at du skal opgradere til Codex CLI 0.163.0 eller nyere for at få adgang til disse ændringer. Du vælger selv, om du vil opgradere CLI: Eksisterende installationer fungerer som hidtil, indtil du opdaterer dem.

  • Hvis din automatisering installerer @openai/codex@latest, kan ændringen blive hentet ved næste installation eller opdatering. Hvis du har installeret Codex CLI globalt med npm, skal du køre npm install -g @openai/codex@latest og derefter codex --version for at bekræfte opgraderingen.

  • Hvis du vil udskyde ændringen, skal du fastlåse versionen til @openai/codex@0.162.0. En engangsinstallation med @latest opdaterer ikke sig selv. Arbejdsgange, der er fastlåst til ældre versioner, fungerer som hidtil.

  • Ved TypeScript-integrationer skal du opdatere @openai/codex-sdk og det medfølgende kørselsmiljø. Ved Python-integrationer skal du opdatere openai-codex og det tilhørende Codex-kørselsmiljø. En opdatering af den globale CLI alene opdaterer ikke nødvendigvis et SDK's kørselsmiljø. Hvis du angiver en brugerdefineret sti til en eksekverbar fil, skal du også opdatere den fil.

Manuelt konfigurerede model-id'er, der mangler i et ellers tilgængeligt katalog, håndteres fortsat automatisk som hidtil i CLI og Codex Desktop, selv når Daybreak er slået til. At de mangler i kataloget, forhindrer ikke i sig selv, at en anmodning lykkes. 

Adgang til cybermodeller i modelvælgeren kan blive udrullet separat. Når adgangen er aktiveret, behøver brugere, der allerede har en understøttet version, ikke at downloade noget igen for at se de nye tilgængelige modeller. Åbn modelvælgeren igen, eller genstart Codex for at opdatere listen.

Aktivér Daybreak i interaktiv CLI

  1. Start Codex med din sædvanlige godkendelsesmetode.

  2. Indtast /daybreak for at slå Daybreak til.

  3. Codex viser meddelelsen Daybreak on. Applies to new turns.

  4. Indstillingen gælder for den aktive tråd og gemmes som standard for nye sessioner.

  5. Kør den samme kommando (/daybreak) igen for at slå Daybreak fra.

Aktivér Daybreak i CLI uden interaktiv brugerflade

Headless-arbejdsgange kører uden en interaktiv brugerflade, typisk via codex exec i scripts, planlagte job eller CI. Her er der ingen interaktiv dialog til »Aktivér Daybreak« (/daybreak). I stedet kan du:

  1. Tilføje Daybreak til en bestemt CLI-kørsel ved at føje -c daybreak=true til hver kommando, der skal bruge færre afvisninger. Du kan for eksempel indtaste:

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

  1. Behold din eksisterende prompt og de øvrige kommandoindstillinger. Føj denne indstilling til hvert kald, der skal bruge Daybreak, herunder kommandoer i scripts, planlagte job og CI-konfiguration.

  2. Gøre Daybreak til standard for nye CLI-sessioner og -kørsler ved at føje daybreak=true til den konfigurationsfil, som Codex indlæser.

  3. Standardfilen til brugerkonfiguration er ~/.codex/config.toml. Hvis din automatisering angiver CODEX_HOME, skal du i stedet bruge $CODEX_HOME/config.toml. Placér indstillingen på øverste niveau uden for sektioner som [features].

  4. Foretag ændringen i det miljø, hvor automatiseringen faktisk kører. En opdatering af konfigurationen på din bærbare computer opdaterer ikke en CI-runner eller en fjernmaskine.

  5. Indstillingen gælder også for nye interaktive sessioner, der bruger samme konfiguration. Genoptagne og forgrenede sessioner beholder deres gemte Daybreak-valg; en ny standardværdi i konfigurationen erstatter det ikke.

  6. Bemærk, at en indstilling på kommandolinjen tilsidesætter den gemte konfiguration for det pågældende kald. Du kan derfor beholde daybreak = true i din konfiguration og bruge -c daybreak=false til en enkelt kørsel.

Aktivering af Daybreak med en inferensudbyder via proxy

Du kan bruge Daybreak i Codex CLI og samtidig sende inferensanmodninger gennem din eksisterende proxy. Codex foretager et separat opslag i modelkataloget for at finde ud af, hvilke modeller der understøtter Daybreak for dit projekt.

Før du begynder, skal du sikre dig, at du har en fungerende proxyudbyder i Codex CLI og en OpenAI API-nøgle fra et projekt med adgang til Daybreak og den model, du vil bruge. Du skal også have v0.167.0 af Codex CLI.OpenAI-dokumentation om projektadgang til Daybreak

  1. Opdatér din proxyudbyder ved at åbne ~/.codex/config.toml og finde sektionen [model_providers.<id>] for din proxy. Føj de sidste to linjer i eksemplet nedenfor til den sektion. Behold dit eksisterende udbyder-ID, din proxy-URL og dine godkendelsesindstillinger.


    [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

    Hvis din konfiguration allerede har en [model_providers.<id>.capabilities]-sektion, skal du placere cyber_access_programs = true dér og beholde model_catalog_url i den overordnede udbydersektion.Konfigurationsreference til Codex

  2. Konfigurér godkendelse til katalogopslaget ved at vælge den mulighed, der passer til de legitimationsoplysninger, din CLI bruger.

    1. Hvis Codex bruger en OpenAI API-nøgle, skal du beholde OpenAI-katalogets URL fra trin 1. Kør Codex med nøglen fra dit projekt med Daybreak aktiveret, så det kan godkendes direkte i kataloget.

    2. Hvis Codex bruger din proxys legitimationsoplysninger, skal du sætte model_catalog_url til den fulde URL for en katalogrute på din proxy. Konfigurér ruten til at:

      1. Godkende CLI-anmodningen med dine sædvanlige proxy-legitimationsoplysninger.

      2. Videresende anmodningen til https://chatgpt.com/backend-api/codex/models med OpenAI API-nøglen fra dit projekt med Daybreak aktiveret.

      3. Returnere katalogets svar til Codex.

  3. Slå Daybreak til ved at starte en ny Codex CLI-session med din proxyudbyder. Vælg en model, der kan bruge Daybreak, og indtast derefter /daybreak for at slå det til.

    1. Hvis Daybreak ikke er tilgængeligt, skal du først kontrollere katalogopslaget. Inferens kan lykkes, selv når kataloganmodningen mislykkes. Kontrollér, at anmodningen når frem til OpenAI med en nøgle fra det tilsigtede projekt, og at projektet har adgang til både Daybreak og den valgte model.

Aktivér Daybreak via TypeScript-SDK'et

Send Daybreak-indstillingen via klientkonfigurationen:

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);

Brug daybreak: false for at slå Daybreak fra og bruge den normale afvisningsadfærd. Behold din eksisterende godkendelseskonfiguration.

Aktivér Daybreak via appserveren eller Python-SDK'et

1. Læs den valgte models availableAccessPrograms.cyber-værdier fra model/list, og angiv derefter cyberAccessProgram i parametrene til turn/start.

a. For en model fra hovedserien og en konto med adgang til Daybreak Blue:

{ "cyberAccessProgram": "daybreakBlue" }

b. For en cybermodel og en konto med adgang til Daybreak Red:

{ "cyberAccessProgram": "daybreakRed" }

c. For normal afvisningsadfærd:

{ "cyberAccessProgram": "standard" }

2. Medtag valget i hver tur, hvor det skal bruges. Gå ikke ud fra, at Daybreak slås fra, hvis du udelader parameteren. Klienter, der bruger appserveren direkte, skal aktivere experimentalApi-funktionen under initialiseringen for at kunne bruge denne parameter.

3. Python-SDK'ets lavniveauklient CodexClient kan sende den samme parameter:

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. Dette eksempel forudsætter, at Daybreak Blue er tilgængelig for den valgte model. Python-klienten aktiverer som standard den eksperimentelle API-funktion. En gemt trådindstilling vælger ikke i sig selv et program for en tur på appserveren.

Hvis du tilføjede et lokalt modelkatalog før disse ændringer

Hvis du tidligere ikke fik vist de forventede modeller, når du loggede ind med en API-nøgle, har du måske tilføjet et lokalt katalog med model_catalog_json i config.toml. Codex bruger den lokale fil i stedet for det automatiske katalog, så din modelliste kan blive forældet. Når dit miljø understøtter det automatiske katalog, kan du følge disse trin for at skifte tilbage:

  1. Åbn config.toml. For Codex CLI skal du åbne ~/.codex/config.toml (eller $CODEX_HOME/config.toml, hvis du har angivet CODEX_HOME). I Codex Desktop skal du gå til Indstillinger > Konfiguration og derefter vælge Åbn config.toml.

  2. Deaktivér det lokale katalog midlertidigt. Tilføj # i starten af linjen med model_catalog_json, gem filen, og genstart Codex med den samme konto eller API-nøgle. Behold eventuelle katalog-URL'er, som din organisation kræver.

  3. Kontrollér din adgang. I CLI skal du starte codex og derefter indtaste /daybreak i sessionen. I Desktop skal du åbne den avancerede modelvælger og slå Daybreak til. Hvis du har adgang til Daybreak Red, skal du kontrollere, at en forventet cybermodel vises, og at du kan sende en anmodning med den.

  4. Behold den konfiguration, der virker. Hvis kontrollen lykkes, skal du slette den linje, du deaktiverede, og gemme filen. Hvis den mislykkes, skal du fjerne #, gemme filen og genstarte Codex for at gendanne din tidligere opsætning.

Fejlfinding ved afvisninger i CLI

  • Kør en repræsentativ opgave med de samme legitimationsoplysninger, den samme model og den samme konfiguration, som din automatisering bruger.

  • Hvis Daybreak ikke er tilgængelig, skal du kontrollere, at:

    • Din konto eller dit API-projekt har adgang til Daybreak.

    • Den valgte model understøtter Daybreak.

  • I interaktiv CLI skal du kontrollere, at Daybreak er slået til. Interaktiv CLI kan vise en afvisningsmeddelelse, når Daybreak er tilgængelig, men slået fra: Daybreak is currently off. If you’re doing authorized security work, turn it on and try your request again.

    • Du bliver spurgt: Turn on Daybreak for your next request? og kan vælge Enable Daybreak eller Not now.

    • Vælg Aktivér Daybreak for at slå funktionen til for din næste anmodning, og prøv derefter anmodningen igen. Bemærk, at den afviste anmodning ikke gentages automatisk. Du skal sende den igen. Nogle anmodninger kan stadig blive afvist, selvom Daybreak er slået til.

    • Vælg Ikke nu for at lade Daybreak være slået fra.

  • Ved automatiseringer skal du kontrollere, at daybreak=true når frem til selve Codex-processen og ikke tilsidesættes af en anden kommandolinjeindstilling.

Brug Daybreak med Codex Security CLI

Codex Security CLI bruger @openai/codex-security til sikkerhedsscanninger. Dets indstillinger for adgangsprogrammer er adskilt fra de generelle Codex CLI-eksempler ovenfor.

Ved godkendelse med API-nøgle skal du bruge en nøgle fra et API-projekt med Daybreak aktiveret og eksplicit vælge det program, som projektet er godkendt til. For Daybreak Blue:


npx @openai/codex-security scan . --auth api-key --cyber-access-program daybreak_blue

Brug kun daybreak_red, når dit projekt er godkendt til Daybreak Red, eller standard for standardbeskyttelse. Valg af et program giver ikke adgang til programmet eller til yderligere modeller.

Se referencen til Codex Security CLI for indstillinger for godkendelse og scanning.

Brug Daybreak med Codex Security SDK

Codex Security TypeScript SDK (@openai/codex-security) kører sikkerhedsscanninger fra en applikation eller et udviklerværktøj. Det er adskilt fra det generelle Codex SDK, der er beskrevet ovenfor.

Brug legitimationsoplysninger til din godkendte konto eller dit godkendte API-projekt. Visse cybersikkerhedsanmodninger og beskyttede fund kræver Trusted Access for Cyber. Installation af SDK'et eller valg af en model giver ikke adgang til Daybreak.

Følg vejledningen til Codex Security SDK for understøttede godkendelsesmetoder, konfiguration og scanningseksempler.

Var denne artikel nyttig?