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

Codex SDK

Wenn du Codex über Codex CLI, die IDE-Erweiterung oder Codex Cloud verwendest, kannst du Codex auch programmgesteuert steuern.

Verwende das SDK für Folgendes:

  • Codex als Teil deiner CI/CD-Pipeline steuern
  • Einen eigenen Agenten erstellen, der mit Codex interagieren kann, um komplexe Entwicklungsaufgaben auszuführen
  • Codex in deine internen Tools und Arbeitsabläufe integrieren
  • Codex in deine eigene Anwendung integrieren

Verwende das Codex SDK für Codex-Threads mit Schwerpunkt auf Programmieraufgaben. Wenn Codex in einem umfassenderen orchestrierten Arbeitsablauf eine spezialisierte Rolle übernimmt, führe Codex CLI als MCP-Server aus und orchestriere Codex mit dem Agents SDK.

Wenn du Betazugriff hast und Repository- oder Änderungsscans mit strukturierten Sicherheitsbefunden und Angaben zur Abdeckung benötigst, verwende das Codex Security TypeScript SDK.

TypeScript-Bibliothek

Mit der TypeScript-Bibliothek kann deine Anwendung lokale Codex-Threads starten, fortsetzen und wiederaufnehmen.

Verwende die Bibliothek serverseitig; sie erfordert Node.js 18 oder höher.

Installation

Installiere zunächst das Codex SDK mit npm:

npm install @openai/codex-sdk

Verwendung

Starte einen Thread mit Codex und führe ihn mit deinem Prompt aus.



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

Rufe run() erneut auf, um denselben Thread fortzusetzen, oder nimm einen früheren Thread wieder auf, indem du eine Thread-ID angibst.

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

Weitere Informationen findest du im TypeScript-Repository.

Python-Bibliothek

Das Python-SDK steuert den lokalen Codex App Server über JSON-RPC. Es erfordert Python 3.10 oder höher. Veröffentlichte SDK-Builds enthalten eine festgelegte Version von Codex CLI als Laufzeitabhängigkeit.

Installation

Führe zur Installation des SDK folgenden Befehl aus:

pip install openai-codex

Veröffentlichte SDK-Builds verwenden automatisch die für sie festgelegte Laufzeitversion. Übergib CodexConfig(codex_bin=...) nur, wenn du gezielt eine bestimmte lokale ausführbare Codex-Datei verwenden möchtest.

Das Python-SDK ist als stabile Version verfügbar. pip install openai-codex installiert die neueste stabile Version. Verwende pip install --pre openai-codex, wenn du stattdessen neuere Vorab-Builds installieren möchtest.

Verwendung

Starte Codex, erstelle einen Thread und führe einen Prompt aus:

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)

Verwende AsyncCodex, wenn deine Anwendung bereits asynchron arbeitet:



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

Sandbox-Voreinstellungen

Verwende dieselben von Sandbox bereitgestellten Voreinstellungen, wenn du einen Thread erstellst oder seinen Dateisystemzugriff für einen späteren Turn änderst:

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)

Verfügbare Voreinstellungen:

  • Sandbox.read_only: Dateien ohne Schreibzugriff lesen.
  • Sandbox.workspace_write: Dateien lesen und Dateien im Workspace sowie in den konfigurierten beschreibbaren Stammverzeichnissen schreiben.
  • Sandbox.full_access: Ohne Einschränkungen beim Dateisystemzugriff ausführen.

Wenn du sandbox= weglässt, verwendet der App Server die konfigurierte Standardeinstellung. Eine Sandbox, die du an run(...) oder turn(...) übergibst, gilt für diesen Turn und alle späteren Turns im Thread.

Weitere Informationen findest du im Python-Repository.