OpenAI
Cette page a été traduite automatiquement. Afficher l’article original en anglais.

Utiliser Daybreak dans Codex CLI

Ce guide vous aide à activer Daybreak dans Codex CLI, à le configurer pour les workflows automatisés et les intégrations SDK, et à résoudre les problèmes d’accès ou de refus. 

Dernière mise à jour : 3 hours ago

Pour bénéficier de ces changements, vous devez passer à Codex CLI 0.163.0 ou à une version ultérieure. Les mises à jour de la CLI sont facultatives : les installations existantes conservent leur comportement actuel tant que vous ne les mettez pas à jour.

  • Si votre automatisation installe @openai/codex@latest, elle peut intégrer ce changement lors de sa prochaine installation ou mise à jour. Si vous avez installé Codex CLI globalement avec npm, exécutez npm install -g @openai/codex@latest, puis codex --version pour confirmer la mise à jour.

  • Pour différer le changement, épinglez la version @openai/codex@0.162.0. Une installation ponctuelle utilisant @latest ne se met pas à jour automatiquement. Les workflows épinglés sur des versions antérieures conservent leur comportement précédent.

  • Pour les intégrations TypeScript, mettez à jour @openai/codex-sdk et son environnement d’exécution intégré. Pour les intégrations Python, mettez à jour openai-codex et son environnement d’exécution Codex. La mise à jour de la seule CLI globale ne met pas nécessairement à jour l’environnement d’exécution d’un SDK. Si vous configurez un chemin personnalisé vers un exécutable, mettez également cet exécutable à jour.

Les identifiants de modèles configurés manuellement et absents d’un catalogue par ailleurs disponible conserveront leur traitement automatique précédent dans la CLI et Codex Desktop, même lorsque Daybreak est activé. Leur seule absence du catalogue n’empêche pas une requête d’aboutir. 

La disponibilité des modèles cyber dans le sélecteur de modèles peut être déployée séparément. Une fois cette disponibilité activée, les utilisateurs disposant déjà d’une version prise en charge n’ont rien à télécharger pour voir les nouveaux modèles disponibles. Rouvrez le sélecteur de modèles ou redémarrez Codex pour actualiser la liste.

Activer Daybreak dans la CLI interactive

  1. Démarrez Codex avec votre authentification habituelle.

  2. Pour activer Daybreak, saisissez /daybreak.

  3. Codex affichera Daybreak on. Applies to new turns.

  4. Ce choix s’appliquera au fil actif et sera enregistré comme valeur par défaut pour les nouvelles sessions.

  5. Pour désactiver Daybreak, exécutez à nouveau la même commande (/daybreak).

Activer Daybreak dans la CLI en mode non interactif

Les workflows en mode non interactif s’exécutent sans interface utilisateur interactive, généralement via codex exec dans des scripts, des tâches planifiées ou en intégration continue (CI). Il n’y a pas d’invite interactive « Activer Daybreak » (/daybreak) ici. À la place, vous pouvez :

  1. Ajouter Daybreak à une exécution spécifique de la CLI en ajoutant -c daybreak=true à chaque commande pour laquelle vous souhaitez réduire les refus. Par exemple, vous pouvez saisir :

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

  1. Conservez votre prompt et les autres options de commande existantes. Ajoutez ce paramètre à chaque appel qui doit utiliser Daybreak, y compris aux commandes des scripts, des tâches planifiées et de la configuration CI.

  2. Activer Daybreak par défaut pour les nouvelles sessions et exécutions de la CLI en ajoutant daybreak=true au fichier de configuration chargé par Codex.

  3. Le fichier de configuration utilisateur par défaut est ~/.codex/config.toml. Si votre automatisation définit CODEX_HOME, utilisez plutôt $CODEX_HOME/config.toml. Placez le paramètre à la racine, en dehors des sections telles que [features].

  4. Effectuez la modification dans l’environnement où l’automatisation s’exécute réellement. Mettre à jour la configuration de votre ordinateur portable ne met pas à jour celle d’un runner CI ou d’une machine distante.

  5. Ce paramètre s’applique aussi aux nouvelles sessions interactives qui utilisent la même configuration. Les sessions reprises et créées par bifurcation conservent leur choix Daybreak enregistré ; une nouvelle valeur par défaut dans la configuration ne le remplace pas.

  6. Notez qu’un paramètre de ligne de commande remplace la configuration enregistrée pour cet appel. Vous pouvez donc conserver daybreak = true dans votre configuration et utiliser -c daybreak=false pour une exécution particulière.

Activer Daybreak avec un fournisseur d’inférence via un proxy

Vous pouvez utiliser Daybreak dans Codex CLI tout en acheminant les requêtes d’inférence via votre proxy existant. Codex effectue une requête distincte au catalogue des modèles pour déterminer quels modèles prennent en charge Daybreak pour votre projet.

Avant de commencer, assurez-vous de disposer d’un fournisseur proxy fonctionnel dans Codex CLI, d’une clé API OpenAI issue d’un projet ayant accès à Daybreak et au modèle souhaité, ainsi que de la version v0.167.0 de Codex CLI.Documentation OpenAI sur l’accès des projets à Daybreak

  1. Mettez à jour votre fournisseur proxy en ouvrant ~/.codex/config.toml et en recherchant la section [model_providers.<id>] correspondant à votre proxy. Ajoutez les deux dernières lignes de l’exemple ci-dessous à cette section. Conservez l’identifiant du fournisseur, l’URL du proxy et les paramètres d’authentification existants.


    [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

    Si votre configuration comporte déjà une section [model_providers.<id>.capabilities], placez-y cyber_access_programs = true et conservez model_catalog_url dans la section parente du fournisseur.Référence de configuration de Codex

  2. Authentifiez la requête au catalogue en choisissant l’option qui correspond aux identifiants utilisés par votre CLI.

    1. Si Codex utilise une clé API OpenAI, conservez l’URL du catalogue OpenAI de l’étape 1. Exécutez Codex avec la clé de votre projet pour lequel Daybreak est activé afin qu’il puisse s’authentifier directement auprès du catalogue.

    2. Si Codex utilise les identifiants de votre proxy, définissez model_catalog_url sur l’URL complète d’une route de catalogue sur votre proxy. Configurez cette route pour :

      1. Authentifier la requête de la CLI à l’aide de vos identifiants de proxy habituels.

      2. Transmettre la requête à https://chatgpt.com/backend-api/codex/models à l’aide de la clé API OpenAI de votre projet pour lequel Daybreak est activé.

      3. Renvoyer la réponse du catalogue à Codex.

  3. Activez Daybreak en démarrant une nouvelle session Codex CLI avec votre fournisseur proxy. Sélectionnez un modèle éligible à Daybreak, puis saisissez /daybreak pour l’activer.

    1. Si Daybreak n’est pas disponible, vérifiez d’abord la requête au catalogue. L’inférence peut réussir même si la requête au catalogue échoue. Vérifiez que la requête parvient à OpenAI avec une clé du projet prévu et que ce projet a accès à la fois à Daybreak et au modèle sélectionné.

Activer Daybreak via le SDK TypeScript

Transmettez le paramètre Daybreak via la configuration du client :

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

Utilisez daybreak: false pour désactiver Daybreak et appliquer le comportement habituel en matière de refus. Conservez votre configuration d’authentification existante.

Activer Daybreak via le serveur d’applications ou le SDK Python

1. Lisez les valeurs availableAccessPrograms.cyber du modèle sélectionné dans model/list, puis définissez cyberAccessProgram dans les paramètres de turn/start.

a. Pour un modèle de la gamme principale et un compte ayant accès à Daybreak Blue :

{ "cyberAccessProgram": "daybreakBlue" }

b. Pour un modèle cyber et un compte ayant accès à Daybreak Red :

{ "cyberAccessProgram": "daybreakRed" }

c. Pour le comportement habituel en matière de refus :

{ "cyberAccessProgram": "standard" }

2. Incluez la sélection à chaque tour qui doit l’utiliser ; ne supposez pas que l’omission du paramètre désactive Daybreak. Les clients qui se connectent directement au serveur d’applications doivent activer la fonctionnalité experimentalApi lors de l’initialisation pour utiliser ce paramètre.

3. Le client de bas niveau CodexClient du SDK Python peut transmettre le même paramètre :

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. Cet exemple suppose que Daybreak Blue est disponible pour le modèle sélectionné. Le client Python active par défaut la fonctionnalité d’API expérimentale. Une préférence de fil enregistrée ne suffit pas à sélectionner un programme pour un tour sur le serveur d’applications.

Si vous avez ajouté un catalogue local de modèles avant ces changements

Si la connexion avec une clé API n’affichait pas les modèles attendus auparavant, vous avez peut-être ajouté un catalogue local à l’aide de model_catalog_json dans config.toml. Codex utilise ce fichier local à la place du catalogue automatique ; votre liste de modèles peut donc devenir obsolète. Une fois la prise en charge du catalogue automatique disponible dans votre environnement, suivez ces étapes pour y revenir :

  1. Ouvrez config.toml. Pour Codex CLI, ouvrez ~/.codex/config.toml (ou $CODEX_HOME/config.toml si vous avez défini CODEX_HOME). Dans Codex Desktop, accédez à Paramètres > Configuration, puis sélectionnez Ouvrir config.toml.

  2. Désactivez temporairement le catalogue local. Ajoutez # au début de la ligne model_catalog_json, enregistrez le fichier et redémarrez Codex avec le même compte ou la même clé API. Conservez toute URL de catalogue requise par votre organisation.

  3. Vérifiez votre accès. Dans la CLI, lancez codex, puis saisissez /daybreak dans la session. Dans Desktop, ouvrez le sélecteur de modèles avancé et activez Daybreak. Si vous avez accès à Daybreak Red, vérifiez qu’un modèle cyber attendu apparaît et que vous pouvez l’utiliser pour envoyer une requête.

  4. Conservez la configuration qui fonctionne. Si la vérification réussit, supprimez la ligne que vous avez désactivée et enregistrez le fichier. Si elle échoue, retirez le #, enregistrez et redémarrez Codex pour rétablir votre configuration précédente.

Résoudre les problèmes de refus dans la CLI

  • Exécutez une tâche représentative avec les mêmes identifiants, le même modèle et la même configuration que votre automatisation.

  • Si Daybreak n’est pas disponible, vérifiez les points suivants :

    • Votre compte ou votre projet API a accès à Daybreak.

    • Le modèle sélectionné prend en charge Daybreak.

  • Dans la CLI interactive, vérifiez que Daybreak est activé. La CLI interactive peut afficher un message de refus lorsque Daybreak est disponible mais désactivé : Daybreak is currently off. If you’re doing authorized security work, turn it on and try your request again.

    • L’invite demande Turn on Daybreak for your next request? et propose Enable Daybreak ou Not now.

    • Sélectionnez Activer Daybreak pour l’activer pour votre prochaine requête, puis renvoyez la requête. Notez que la requête refusée n’est pas relancée automatiquement ; vous devez la renvoyer. Certaines requêtes peuvent toujours être refusées lorsque Daybreak est activé.

    • Sélectionnez Pas maintenant pour laisser Daybreak désactivé.

  • Pour les automatisations, vérifiez que daybreak=true est bien transmis au processus Codex et n’est pas remplacé par un autre paramètre de ligne de commande.

Utiliser Daybreak avec Codex Security CLI

Codex Security CLI utilise @openai/codex-security pour les analyses de sécurité. Ses options de programme d’accès sont distinctes de celles des exemples généraux de Codex CLI ci-dessus.

Pour l’authentification par clé API, utilisez une clé d’un projet API pour lequel Daybreak est activé et sélectionnez explicitement le programme approuvé pour ce projet. Pour Daybreak Blue :


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

Utilisez daybreak_red uniquement si votre projet est approuvé pour Daybreak Red, ou standard pour les protections standard. Sélectionner un programme ne donne pas accès à ce programme ni à des modèles supplémentaires.

Consultez la référence de Codex Security CLI pour connaître les options d’authentification et d’analyse.

Utiliser Daybreak avec le SDK Codex Security

Le SDK TypeScript Codex Security (@openai/codex-security) exécute des analyses de sécurité depuis une application ou un outil de développement. Il est distinct du SDK Codex général décrit ci-dessus.

Utilisez les identifiants de votre compte ou projet API approuvé. Certaines requêtes de cybersécurité et certains résultats protégés nécessitent Trusted Access for Cyber. Installer le SDK ou sélectionner un modèle ne donne pas accès à Daybreak.

Consultez le guide du SDK Codex Security pour connaître les méthodes d’authentification prises en charge, la configuration et des exemples d’analyse.

Cet article vous a-t-il été utile ?