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

Utiliser Daybreak dans Codex CLI

Utilisez ce guide pour activer Daybreak dans Codex CLI, le configurer pour les flux de travail automatisés et les intégrations SDK, et résoudre les problèmes d’accès ou de refus. 

Mise à jour : 21 hours ago

Pour accéder à ces changements, vous devez passer à Codex CLI 0.163.0 ou à une version ultérieure. Les mises à niveau 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 à niveau.

  • Pour reporter le changement, fixez la version à @openai/codex@0.162.0. Une installation ponctuelle utilisant @latest ne se met pas à jour automatiquement. Les flux de travail fixés à 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 CLI globale seule ne met pas nécessairement à jour l’environnement d’exécution d’un SDK. Si vous configurez un chemin d’exécutable personnalisé, mettez aussi cet exécutable à jour.

Les identifiants de modèles configurés manuellement qui sont absents d’un catalogue par ailleurs accessible 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 de cybersécurité dans le sélecteur de modèles peut faire l’objet d’un déploiement distinct. Une fois cette disponibilité activée, les utilisateurs qui disposent déjà d’une version prise en charge n’ont rien d’autre à télécharger pour voir les nouveaux modèles. Rouvrez le sélecteur de modèles ou redémarrez Codex pour actualiser la liste.

Activer Daybreak dans la CLI interactive

  1. Lancez 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 de nouveau la même commande (/daybreak).

Activer Daybreak dans la CLI en mode non interactif

Les flux de travail en mode non interactif s’exécutent sans interface utilisateur interactive, généralement avec codex exec dans des scripts, des tâches planifiées ou un environnement d’intégration continue (CI). Il n’y a pas d’invite interactive « Activer Daybreak » (/daybreak) ici. Vous pouvez plutôt :

  1. Ajouter Daybreak à une exécution précise de la CLI en ajoutant -c daybreak=true à chaque commande qui doit bénéficier d’une réduction des refus. Par exemple, vous pourriez saisir :

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

  1. Conservez votre invite et les autres options de commande existantes. Ajoutez ce paramètre à chaque appel qui doit utiliser Daybreak, y compris les commandes dans les scripts, les tâches planifiées et 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 au niveau racine, à l’extérieur des sections comme [features].

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

  5. Le paramètre s’applique aussi aux nouvelles sessions interactives qui utilisent la même configuration. Les sessions reprises et dérivées 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 a priorité sur 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 serveur mandataire

Vous pouvez utiliser Daybreak dans Codex CLI tout en acheminant les requêtes d’inférence par votre serveur mandataire existant. Codex effectue une recherche distincte dans le catalogue des modèles pour déterminer quels modèles prennent en charge Daybreak pour votre projet.

Avant de commencer, assurez-vous d’avoir un fournisseur via serveur mandataire fonctionnel dans Codex CLI, une clé API OpenAI provenant d’un projet ayant accès à Daybreak et au modèle que vous souhaitez utiliser, ainsi que la version v0.167.0 de Codex CLI.Documentation OpenAI sur l’accès des projets à Daybreak

  1. Mettez à jour votre fournisseur via serveur mandataire en ouvrant ~/.codex/config.toml et en repérant la section [model_providers.<id>] de votre serveur mandataire. Ajoutez les deux dernières lignes de l’exemple ci-dessous à cette section. Conservez votre identifiant de fournisseur, l’URL de votre serveur mandataire et vos 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 contient 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.Documentation de référence sur la configuration de Codex

  2. Authentifiez la recherche dans le 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 serveur mandataire, définissez model_catalog_url sur l’URL complète d’une route de catalogue sur votre serveur mandataire. Configurez cette route pour :

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

      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 via serveur mandataire. Sélectionnez un modèle admissible à Daybreak, puis saisissez /daybreak pour l’activer.

    1. Si Daybreak n’est pas disponible, vérifiez d’abord la recherche dans le 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 au moyen du SDK TypeScript

Transmettez le paramètre Daybreak au moyen de 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 de refus habituel. Conservez votre configuration d’authentification actuelle.

Activer Daybreak au moyen du serveur d’applications ou du 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 de cybersécurité et un compte ayant accès à Daybreak Red :

{ "cyberAccessProgram": "daybreakRed" }

c. Pour le comportement de refus habituel :

{ "cyberAccessProgram": "standard" }

2. Incluez la sélection à chaque tour qui doit l’utiliser; ne présumez 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 pendant 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 la fonctionnalité d’API expérimentale par défaut. Une préférence enregistrée pour un fil ne suffit pas à sélectionner un programme pour un tour du 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 plutôt que le catalogue automatique; votre liste de modèles peut donc devenir désuète. Une fois le catalogue automatique pris en charge 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, allez à 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. Laissez en place toute URL de catalogue exigée 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 de cybersécurité attendu apparaît et que vous pouvez envoyer une requête avec ce modèle.

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

Résoudre les 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.

    • Le message 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 soumettez de nouveau la requête. La requête refusée n’est pas relancée automatiquement; vous devez la soumettre de nouveau. 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 qu’il 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 des exemples généraux de Codex CLI ci-dessus.

Pour l’authentification par clé API, utilisez une clé provenant 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 mesures de protection standard. La sélection d’un programme ne donne pas accès à ce programme ni à des modèles supplémentaires.

Consultez la documentation de référence de Codex Security CLI pour 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é à partir d’une application ou d’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 de votre projet API approuvé. Certaines requêtes de cybersécurité et certains résultats protégés nécessitent Trusted Access for Cyber. L’installation du SDK ou la sélection d’un modèle ne donne pas accès à Daybreak.

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

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