Deutsch

Codex SDK

Lokale Codex-Agenten programmgesteuert steuern

Wenn Sie Codex über Codex CLI, die IDE-Erweiterung oder Codex cloud verwenden, können Sie Codex auch programmgesteuert steuern.

Verwenden Sie das SDK, wenn Sie:

  • Codex als Teil Ihrer CI/CD-Pipeline steuern möchten
  • Ihren eigenen Agenten erstellen möchten, der mit Codex interagieren kann, um komplexe Engineering-Aufgaben auszuführen
  • Codex in Ihre eigenen internen Tools und Workflows integrieren möchten
  • Codex in Ihre eigene Anwendung integrieren möchten

Verwenden Sie das Codex SDK für auf Programmierung ausgerichtete Codex-Threads. Wenn Codex ein Spezialist innerhalb eines umfassenderen orchestrierten Workflows ist, führen Sie Codex CLI als MCP-Server aus und orchestrieren Sie es mit dem Agents SDK.

Wenn Sie Beta-Zugriff haben und Repository- oder Änderungs-Scans mit strukturierten Sicherheitsbefunden und Abdeckungsinformationen benötigen, verwenden Sie das Codex Security TypeScript SDK.

TypeScript-Bibliothek

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

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

Installation

Installieren Sie zunächst das Codex SDK mit npm:

npm install @openai/codex-sdk

Verwendung

Starten Sie einen Thread mit Codex und führen Sie ihn mit Ihrem 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);

Rufen Sie run() erneut auf, um denselben Thread fortzusetzen, oder nehmen Sie einen früheren Thread wieder auf, indem Sie eine Thread-ID angeben.

// 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 Einzelheiten finden Sie 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 Codex CLI-Laufzeitabhängigkeit.

Installation

Führen Sie zur Installation des SDK Folgendes aus:

pip install openai-codex

Veröffentlichte SDK-Builds verwenden automatisch ihre festgelegte Laufzeit. Übergeben Sie CodexConfig(codex_bin=...) nur, wenn Sie bewusst eine bestimmte lokale ausführbare Codex-Datei verwenden möchten.

Solange sich das Python SDK in der Betaphase befindet, wählt pip install openai-codex den neuesten veröffentlichten Beta-Build aus. Sobald ein stabiles SDK-Release verfügbar ist, verwenden Sie pip install --pre openai-codex, um neuere Vorabversionen zu nutzen.

Verwendung

Starten Sie Codex, erstellen Sie einen Thread und führen Sie 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)

Verwenden Sie AsyncCodex, wenn Ihre Anwendung bereits asynchron arbeitet:

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

Sandbox-Voreinstellungen

Verwenden Sie dieselben Sandbox-Voreinstellungen, wenn Sie einen Thread erstellen oder seinen Dateisystemzugriff für einen späteren Durchlauf ändern:

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 lesen, ohne Schreibzugriffe zu erlauben.
  • Sandbox.workspace_write: Dateien lesen und innerhalb des Workspace sowie der konfigurierten beschreibbaren Stammverzeichnisse schreiben.
  • Sandbox.full_access: Ohne Einschränkungen des Dateisystemzugriffs ausführen.

Wenn Sie sandbox= weglassen, verwendet app-server die konfigurierte Standardeinstellung. Eine an run(...) oder turn(...) übergebene Sandbox gilt für diesen und spätere Durchläufe im Thread.

Weitere Einzelheiten finden Sie im Python-Repository.