OpenAI
Diese Seite wurde maschinell übersetzt. Den Originalartikel auf Englisch ansehen.

Daybreak in Codex CLI verwenden

Mit dieser Anleitung aktivierst du Daybreak in Codex CLI, konfigurierst es für automatisierte Abläufe und SDK-Integrationen und behebst Probleme beim Zugriff oder bei der Ablehnung von Anfragen. 

Aktualisiert: 3 hours ago

Um diese Änderungen nutzen zu können, musst du auf Codex CLI 0.163.0 oder höher aktualisieren. CLI-Updates erfolgen nur auf deine Initiative hin: Bestehende Installationen behalten ihr aktuelles Verhalten bei, bis du sie aktualisierst.

  • Wenn deine Automatisierung @openai/codex@latest installiert, kann sie diese Änderung bei der nächsten Installation oder Aktualisierung übernehmen. Wenn du Codex CLI mit npm global installiert hast, führe npm install -g @openai/codex@latest aus. Prüfe anschließend mit codex --version, ob das Update erfolgreich war.

  • Um die Änderung aufzuschieben, lege @openai/codex@0.162.0 als feste Version fest. Eine einmalige Installation mit @latest aktualisiert sich nicht selbst. Workflows, die auf ältere Versionen festgelegt sind, behalten ihr bisheriges Verhalten bei.

  • Aktualisiere für TypeScript-Integrationen @openai/codex-sdk und die mitgelieferte Laufzeitumgebung. Aktualisiere für Python-Integrationen openai-codex und die zugehörige Codex-Laufzeitumgebung. Ein Update der globalen CLI allein aktualisiert möglicherweise nicht die Laufzeitumgebung eines SDK. Wenn du einen benutzerdefinierten Pfad zu einer ausführbaren Datei konfigurierst, aktualisiere auch diese Datei.

Manuell konfigurierte Modell-IDs, die in einem ansonsten verfügbaren Katalog fehlen, werden in der CLI und in Codex Desktop weiterhin automatisch wie bisher behandelt, auch wenn Daybreak aktiviert ist. Allein ihr Fehlen im Katalog verhindert nicht, dass eine Anfrage erfolgreich ist. 

Modelle für Cybersicherheit werden möglicherweise separat in der Modellauswahl bereitgestellt. Nach der Freischaltung ist kein weiterer Download nötig, um die neu verfügbaren Modelle zu sehen, sofern du bereits eine unterstützte Version verwendest. Öffne die Modellauswahl erneut oder starte Codex neu, um die Liste zu aktualisieren.

Daybreak in der interaktiven CLI aktivieren

  1. Starte Codex mit deiner üblichen Authentifizierung.

  2. Gib /daybreak ein, um Daybreak zu aktivieren.

  3. Codex meldet dann Daybreak on. Applies to new turns.

  4. Diese Einstellung gilt für den aktiven Thread und wird als Standard für neue Sitzungen gespeichert.

  5. Um Daybreak zu deaktivieren, führe denselben Befehl (/daybreak) erneut aus.

Daybreak im Headless-Betrieb der CLI aktivieren

Headless-Workflows laufen ohne interaktive Benutzeroberfläche, meist über codex exec in Skripten, geplanten Aufgaben oder CI. Hier gibt es keine interaktive Aufforderung „Daybreak aktivieren“ (/daybreak). Stattdessen hast du folgende Möglichkeiten:

  1. Aktiviere Daybreak für einen bestimmten CLI-Lauf, indem du jedem Befehl, bei dem weniger Anfragen abgelehnt werden sollen, -c daybreak=true hinzufügst. Du könntest zum Beispiel Folgendes eingeben:

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

  1. Behalte deinen bisherigen Prompt und die anderen Befehlsoptionen bei. Füge diese Einstellung jedem Aufruf hinzu, der Daybreak nutzen soll, auch Befehlen in Skripten, geplanten Aufgaben und der CI-Konfiguration.

  2. Lege Daybreak als Standard für neue CLI-Sitzungen und -Läufe fest, indem du daybreak=true zur Konfigurationsdatei hinzufügst, die Codex lädt.

  3. Die benutzerspezifische Konfiguration liegt standardmäßig unter ~/.codex/config.toml. Wenn deine Automatisierung CODEX_HOME setzt, verwende stattdessen $CODEX_HOME/config.toml. Platziere die Einstellung auf der obersten Ebene, außerhalb von Abschnitten wie [features].

  4. Nimm die Änderung in der Umgebung vor, in der die Automatisierung tatsächlich läuft. Wenn du die Konfiguration deines Laptops aktualisierst, wird die eines CI-Runners oder eines entfernten Rechners nicht mitaktualisiert.

  5. Die Einstellung gilt auch für neue interaktive Sitzungen, die dieselbe Konfiguration verwenden. Fortgesetzte und abgezweigte Sitzungen behalten ihre gespeicherte Daybreak-Auswahl bei. Ein neuer Standardwert in der Konfiguration ersetzt sie nicht.

  6. Beachte, dass eine Befehlszeileneinstellung die gespeicherte Konfiguration für den jeweiligen Aufruf überschreibt. Du kannst daher daybreak = true in deiner Konfiguration beibehalten und für einen einzelnen Lauf -c daybreak=false verwenden.

Daybreak mit einem Inferenzanbieter über einen Proxy aktivieren

Du kannst Daybreak in Codex CLI nutzen und dabei Inferenzanfragen über deinen bestehenden Proxy leiten. Codex fragt den Modellkatalog separat ab, um zu ermitteln, welche Modelle Daybreak für dein Projekt unterstützen.

Stelle vor dem Start sicher, dass du einen funktionierenden Proxy-Anbieter in Codex CLI und einen OpenAI-API-Schlüssel aus einem Projekt mit Zugang zu Daybreak und dem gewünschten Modell hast. Außerdem benötigst du Codex CLI v0.167.0.OpenAI-Dokumentation zum Daybreak-Zugang für Projekte

  1. Aktualisiere deinen Proxy-Anbieter, indem du ~/.codex/config.toml öffnest und den Abschnitt [model_providers.<id>] für deinen Proxy suchst. Füge diesem Abschnitt die letzten beiden Zeilen des folgenden Beispiels hinzu. Behalte deine bisherige Anbieter-ID, Proxy-URL und Authentifizierungseinstellungen bei.


    [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

    Wenn deine Konfiguration bereits einen Abschnitt [model_providers.<id>.capabilities] enthält, füge cyber_access_programs = true dort ein und belasse model_catalog_url im übergeordneten Anbieterabschnitt.Konfigurationsreferenz für Codex

  2. Authentifiziere die Katalogabfrage, indem du die Option wählst, die zu den Zugangsdaten deiner CLI passt.

    1. Wenn Codex einen OpenAI-API-Schlüssel verwendet, behalte die OpenAI-Katalog-URL aus Schritt 1 bei. Führe Codex mit dem Schlüssel aus deinem für Daybreak freigeschalteten Projekt aus, damit es sich direkt beim Katalog authentifizieren kann.

    2. Wenn Codex die Zugangsdaten deines Proxys verwendet, setze model_catalog_url auf die vollständige URL einer Katalogroute auf deinem Proxy. Konfiguriere diese Route so, dass sie Folgendes ausführt:

      1. Die CLI-Anfrage mit deinen üblichen Proxy-Zugangsdaten authentifizieren.

      2. Die Anfrage mit dem OpenAI-API-Schlüssel aus deinem für Daybreak freigeschalteten Projekt an https://chatgpt.com/backend-api/codex/models weiterleiten.

      3. Die Katalogantwort an Codex zurückgeben.

  3. Aktiviere Daybreak, indem du eine neue Codex CLI-Sitzung mit deinem Proxy-Anbieter startest. Wähle ein für Daybreak zugelassenes Modell aus und gib dann /daybreak ein, um Daybreak zu aktivieren.

    1. Wenn Daybreak nicht verfügbar ist, prüfe zuerst die Katalogabfrage. Die Inferenz kann auch dann funktionieren, wenn die Kataloganfrage fehlschlägt. Prüfe, ob die Anfrage OpenAI mit einem Schlüssel aus dem vorgesehenen Projekt erreicht und ob das Projekt sowohl Zugang zu Daybreak als auch zum ausgewählten Modell hat.

Daybreak über das TypeScript SDK aktivieren

Übergib die Daybreak-Einstellung über die Client-Konfiguration:

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

Verwende daybreak: false, um Daybreak zu deaktivieren und das normale Ablehnungsverhalten zu nutzen. Behalte deine bestehende Authentifizierungskonfiguration bei.

Daybreak über den App-Server oder das Python SDK aktivieren

1. Lies die Werte für availableAccessPrograms.cyber des ausgewählten Modells aus model/list aus. Setze anschließend cyberAccessProgram in den Parametern von turn/start.

a. Für ein reguläres Modell und ein Konto mit Zugriff auf Daybreak Blue:

{ "cyberAccessProgram": "daybreakBlue" }

b. Für ein Modell für Cybersicherheit und ein Konto mit Zugriff auf Daybreak Red:

{ "cyberAccessProgram": "daybreakRed" }

c. Für das normale Ablehnungsverhalten:

{ "cyberAccessProgram": "standard" }

2. Übergib die Auswahl bei jedem Gesprächsschritt, der sie verwenden soll. Gehe nicht davon aus, dass Daybreak deaktiviert wird, wenn du den Parameter weglässt. Clients, die den App-Server direkt ansprechen, müssen bei der Initialisierung die Funktion experimentalApi aktivieren, um diesen Parameter zu verwenden.

3. Der Low-Level-Client CodexClient des Python SDK kann denselben Parameter übergeben:

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. Dieses Beispiel setzt voraus, dass Daybreak Blue für das ausgewählte Modell verfügbar ist. Der Python-Client aktiviert die experimentelle API-Funktion standardmäßig. Eine gespeicherte Thread-Einstellung allein legt kein Programm für einen Gesprächsschritt auf dem App-Server fest.

Wenn du vor diesen Änderungen einen lokalen Modellkatalog hinzugefügt hast

Wenn dir nach der Anmeldung mit einem API-Schlüssel bisher nicht die erwarteten Modelle angezeigt wurden, hast du möglicherweise über model_catalog_json in config.toml einen lokalen Katalog hinzugefügt. Codex verwendet diese lokale Datei anstelle des automatischen Katalogs. Dadurch kann deine Modellliste veralten. Sobald der automatische Katalog in deiner Umgebung unterstützt wird, kannst du mit diesen Schritten zurückwechseln:

  1. Öffne config.toml. Öffne für Codex CLI ~/.codex/config.toml (oder $CODEX_HOME/config.toml, wenn du CODEX_HOME gesetzt hast). Gehe in Codex Desktop zu Einstellungen > Konfiguration und wähle dann config.toml öffnen.

  2. Deaktiviere den lokalen Katalog vorübergehend. Füge am Anfang der Zeile mit model_catalog_json ein # ein, speichere die Datei und starte Codex mit demselben Konto oder API-Schlüssel neu. Behalte alle Katalog-URLs bei, die deine Organisation vorschreibt.

  3. Prüfe deinen Zugriff. Starte in der CLI codex und gib dann innerhalb der Sitzung /daybreak ein. Öffne in Desktop die erweiterte Modellauswahl und aktiviere Daybreak. Wenn du Zugriff auf Daybreak Red hast, prüfe, ob ein erwartetes Modell für Cybersicherheit angezeigt wird und du damit eine Anfrage senden kannst.

  4. Behalte die funktionierende Konfiguration bei. Wenn die Prüfung erfolgreich ist, lösche die deaktivierte Zeile und speichere die Datei. Wenn sie fehlschlägt, entferne das #, speichere die Datei und starte Codex neu, um deine vorherige Konfiguration wiederherzustellen.

Probleme mit Ablehnungen in der CLI beheben

  • Führe einen repräsentativen Auftrag mit denselben Anmeldedaten, demselben Modell und derselben Konfiguration aus, die deine Automatisierung verwendet.

  • Wenn Daybreak nicht verfügbar ist, prüfe Folgendes:

    • Dein Konto oder API-Projekt hat Zugriff auf Daybreak.

    • Das ausgewählte Modell unterstützt Daybreak.

  • Prüfe in der interaktiven CLI, ob Daybreak aktiviert ist. Wenn Daybreak verfügbar, aber deaktiviert ist, kann die interaktive CLI eine Ablehnungsmeldung anzeigen: Daybreak is currently off. If you’re doing authorized security work, turn it on and try your request again.

    • Die Abfrage lautet Turn on Daybreak for your next request? und bietet Enable Daybreak oder Not now zur Auswahl.

    • Wähle Daybreak aktivieren, um Daybreak für deine nächste Anfrage einzuschalten, und stelle die Anfrage dann erneut. Beachte, dass die abgelehnte Anfrage nicht automatisch wiederholt wird. Du musst sie erneut stellen. Manche Anfragen können auch bei aktiviertem Daybreak weiterhin abgelehnt werden.

    • Wähle Nicht jetzt, um Daybreak deaktiviert zu lassen.

  • Prüfe bei Automatisierungen, ob daybreak=true tatsächlich an den Codex-Prozess übergeben wird und nicht durch eine andere Befehlszeileneinstellung überschrieben wird.

Daybreak mit Codex Security CLI nutzen

Codex Security CLI verwendet @openai/codex-security für Sicherheitsscans. Die Optionen für Zugangsprogramme sind unabhängig von den allgemeinen Beispielen für Codex CLI oben.

Verwende für die Authentifizierung per API-Schlüssel einen Schlüssel aus einem API-Projekt, für das Daybreak freigeschaltet ist, und wähle ausdrücklich das für dieses Projekt genehmigte Programm aus. Für Daybreak Blue:


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

Verwende daybreak_red nur, wenn dein Projekt für Daybreak Red zugelassen ist, oder standard für die üblichen Schutzmaßnahmen. Die Auswahl eines Programms gewährt keinen Zugang zu diesem Programm oder zu zusätzlichen Modellen.

Informationen zur Authentifizierung und zu Scanoptionen findest du in der Referenz zu Codex Security CLI.

Daybreak mit Codex Security SDK nutzen

Das Codex Security TypeScript SDK (@openai/codex-security) führt Sicherheitsscans aus einer Anwendung oder einem Entwicklungstool heraus durch. Es ist unabhängig vom oben beschriebenen allgemeinen Codex SDK.

Verwende die Zugangsdaten für dein zugelassenes Konto oder API-Projekt. Einige Cybersicherheitsanfragen und geschützte Befunde erfordern Trusted Access for Cyber. Die Installation des SDK oder die Auswahl eines Modells gewährt keinen Zugang zu Daybreak.

Folge der Anleitung zum Codex Security SDK. Dort findest du unterstützte Authentifizierungsmethoden, Konfigurationshinweise und Scanbeispiele.

War dieser Artikel hilfreich?