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

SDK de Codex

Controla los agentes locales de Codex de forma programática

Si usas Codex mediante Codex CLI, la extensión para IDE o Codex Cloud, también puedes controlarlo de forma programática.

Usa el SDK cuando necesites:

  • Controlar Codex como parte de tu canalización de CI/CD
  • Crear tu propio agente que pueda interactuar con Codex para realizar tareas complejas de ingeniería
  • Incorporar Codex a tus propias herramientas internas y flujos de trabajo
  • Integrar Codex en tu propia aplicación

Usa el SDK de Codex para automatizar tareas de programación, incluidos trabajos de CI. Usa App Server de Codex para crear clientes personalizados que gestionen la autenticación, el historial de conversaciones, las aprobaciones y los eventos del agente transmitidos en streaming.

Se eliminaron el comando codex mcp-server y el binario independiente codex-mcp-server. Usa App Server de Codex para las integraciones existentes.

Si tienes acceso a la versión beta y necesitas análisis de repositorios o cambios con hallazgos de seguridad y cobertura en formato estructurado, usa el SDK de TypeScript de Codex Security.

Biblioteca de TypeScript

La biblioteca de TypeScript permite que tu aplicación inicie, continúe y reanude hilos locales de Codex.

Usa la biblioteca del lado del servidor; requiere Node.js 18 o posterior.

Instalación

Para empezar, instala el SDK de Codex con npm:

npm install @openai/codex-sdk

Uso

Inicia un hilo con Codex y ejecútalo con tu 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);

Vuelve a llamar a run() para continuar en el mismo hilo, o reanuda un hilo anterior proporcionando su ID.

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

Para obtener más detalles, consulta el repositorio de TypeScript.

Biblioteca de Python

El SDK de Python controla el app-server local de Codex mediante JSON-RPC. Requiere Python 3.10 o posterior. Las compilaciones publicadas del SDK incluyen una dependencia del entorno de ejecución de Codex CLI con una versión fijada.

Instalación

Para instalar el SDK, ejecuta:

pip install openai-codex

Las compilaciones publicadas del SDK usan automáticamente la versión fijada de su entorno de ejecución. Pasa CodexConfig(codex_bin=...) solo cuando quieras usar deliberadamente un ejecutable local específico de Codex.

El SDK de Python está disponible en una versión estable. pip install openai-codex instala la versión estable más reciente. Usa pip install --pre openai-codex para optar por compilaciones preliminares más recientes.

Uso

Inicia Codex, crea un hilo y ejecuta 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)

Usa AsyncCodex cuando tu aplicación ya sea asíncrona:

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

Configuraciones preestablecidas del sandbox

Usa las mismas configuraciones preestablecidas de Sandbox al crear un hilo o cambiar su acceso al sistema de archivos para un turno posterior:

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)

Configuraciones preestablecidas disponibles:

  • Sandbox.read_only: permite leer archivos sin permitir escrituras.
  • Sandbox.workspace_write: permite leer archivos y escribir dentro del espacio de trabajo y de los directorios raíz configurados con permiso de escritura.
  • Sandbox.full_access: permite ejecutar sin restricciones de acceso al sistema de archivos.

Cuando omites sandbox=, app-server usa su configuración predeterminada. Un sandbox pasado a run(...) o turn(...) se aplica a ese turno y a los turnos posteriores del hilo.

Para obtener más detalles, consulta el repositorio de Python.