For the complete documentation index, see llms.txt. Markdown versions of documentation pages are available by appending .md to the page URL.
Navigation principale

SDK Codex

Contrôlez par programmation des agents Codex locaux

Si vous utilisez Codex via Codex CLI, l’extension IDE ou Codex Cloud, vous pouvez également le contrôler par programmation.

Utilisez le SDK lorsque vous devez :

  • Piloter Codex dans le cadre de votre pipeline CI/CD
  • Créer votre propre agent capable d’interagir avec Codex pour effectuer des tâches d’ingénierie complexes
  • Intégrer Codex à vos propres outils internes et workflows
  • Intégrer Codex à votre propre application

Utilisez le SDK Codex pour automatiser des tâches de programmation, y compris dans votre CI. Utilisez l’App Server de Codex pour créer des clients personnalisés qui gèrent l’authentification, l’historique des conversations, les approbations et les événements de l’agent transmis en continu.

La commande codex mcp-server et le binaire autonome codex-mcp-server ont été supprimés. Utilisez l’App Server de Codex pour les intégrations existantes.

Si vous avez accès à la bêta et souhaitez analyser des dépôts ou des modifications pour obtenir des résultats de sécurité et des données de couverture structurés, utilisez le SDK TypeScript de Codex Security.

Bibliothèque TypeScript

La bibliothèque TypeScript permet à votre application de démarrer, de poursuivre et de reprendre des fils de discussion Codex locaux.

Utilisez la bibliothèque côté serveur ; elle nécessite Node.js 18 ou une version ultérieure.

Installation

Pour commencer, installez le SDK Codex avec npm :

npm install @openai/codex-sdk

Utilisation

Démarrez un fil de discussion avec Codex et lancez son exécution avec votre prompt.

import { Codex } from "@openai/codex-sdk";

const codex = new Codex();
const thread = codex.startThread();
const result = await thread.run(
  "Make a plan to diagnose and fix the CI failures"
);

console.log(result.finalResponse);

Appelez à nouveau run() pour poursuivre le même fil de discussion, ou reprenez un fil de discussion antérieur en fournissant son identifiant.

// running the same thread
const result = await thread.run("Implement the plan");

console.log(result.finalResponse);

// resuming past thread

const threadId = "<thread-id>";
const thread2 = codex.resumeThread(threadId);
const result2 = await thread2.run("Pick up where you left off");

console.log(result2.finalResponse);

Pour en savoir plus, consultez le dépôt TypeScript.

Bibliothèque Python

Le SDK Python pilote l’App Server local de Codex via JSON-RPC. Il nécessite Python 3.10 ou une version ultérieure. Les versions publiées du SDK incluent une dépendance vers une version épinglée de l’environnement d’exécution de Codex CLI.

Installation

Pour installer le SDK, exécutez :

pip install openai-codex

Les versions publiées du SDK utilisent automatiquement leur environnement d’exécution épinglé. Ne passez CodexConfig(codex_bin=...) que si vous souhaitez délibérément utiliser un exécutable Codex local spécifique.

Le SDK Python est disponible en version stable. pip install openai-codex installe la dernière version stable. Utilisez pip install --pre openai-codex pour installer des préversions plus récentes.

Utilisation

Démarrez Codex, créez un fil de discussion et exécutez un prompt :

from openai_codex import Codex, Sandbox

with Codex() as codex:
    thread = codex.thread_start(
        model="gpt-5.6-terra",
        sandbox=Sandbox.workspace_write,
    )
    result = thread.run("Make a plan to diagnose and fix the CI failures")
    print(result.final_response)

Utilisez AsyncCodex si votre application est déjà asynchrone :

import asyncio

from openai_codex import AsyncCodex


async def main() -> None:
    async with AsyncCodex() as codex:
        thread = await codex.thread_start(model="gpt-5.6-terra")
        result = await thread.run("Implement the plan")
        print(result.final_response)


asyncio.run(main())

Préréglages du bac à sable

Utilisez les mêmes préréglages Sandbox pour créer un fil de discussion ou modifier son accès au système de fichiers pour un tour ultérieur :

from openai_codex import Codex, Sandbox

with Codex() as codex:
    thread = codex.thread_start(sandbox=Sandbox.workspace_write)
    thread.run("Make the requested change.")
    review = thread.run("Review the diff only.", sandbox=Sandbox.read_only)

Préréglages disponibles :

  • Sandbox.read_only : Lecture des fichiers sans autorisation d’écriture.
  • Sandbox.workspace_write : Lecture des fichiers et écriture dans l’espace de travail et les répertoires racines configurés comme accessibles en écriture.
  • Sandbox.full_access : Exécution sans restriction d’accès au système de fichiers.

Si vous omettez sandbox=, App Server utilise la valeur par défaut configurée. Un bac à sable passé à run(...) ou à turn(...) s’applique à ce tour et aux tours suivants du fil de discussion.

Pour en savoir plus, consultez le dépôt Python.