For the complete documentation index, see llms.txt. Markdown versions of documentation pages are available by appending .md to the page URL.
メインナビゲーション

Codex SDK

ローカルの Codex エージェントをプログラムから制御

Codex CLI、IDE 拡張機能、Codex Cloud のいずれかで Codex を使用している場合は、プログラムから制御することもできます。

次のような場合は SDK を使用します:

  • CI/CD パイプラインの一部として Codex を制御する
  • Codex と連携して複雑なエンジニアリングタスクを実行できる独自のエージェントを作成する
  • 独自の社内ツールやワークフローに Codex を組み込む
  • 独自のアプリケーションに Codex を統合する

CI のジョブを含むコーディングタスクの自動化には、Codex SDK を使用します。認証、会話履歴、承認、ストリーミング配信されるエージェントイベントを扱うカスタムクライアントの構築には、Codex App Server を使用します。

codex mcp-server コマンドとスタンドアロンの codex-mcp-server バイナリは削除されました。既存の連携には Codex App Server を使用してください。

ベータ版へのアクセス権があり、リポジトリや変更のスキャンで構造化されたセキュリティ検出結果とカバレッジ情報が必要な場合は、 Codex Security TypeScript SDK を使用してください。

TypeScript ライブラリ

TypeScript ライブラリを使用すると、アプリケーションからローカルの Codex スレッドを開始、継続、再開できます。

このライブラリはサーバー側で使用してください。Node.js 18 以降が必要です。

インストール

まず、npm を使用して Codex SDK をインストールします:

npm install @openai/codex-sdk

使用方法

Codex でスレッドを開始し、プロンプトを渡して実行します。

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

同じスレッドで続けるには run() を再度呼び出します。スレッド 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);

詳しくは、TypeScript リポジトリを参照してください。

Python ライブラリ

Python SDK は、JSON-RPC を介してローカルの Codex app-server を制御します。Python 3.10 以降が必要です。公開されている SDK ビルドには、バージョンを固定した Codex CLI ランタイムが依存関係として含まれています。

インストール

SDK をインストールするには、次のコマンドを実行します:

pip install openai-codex

公開されている SDK ビルドは、バージョンが固定されたランタイムを自動的に使用します。特定のローカル Codex 実行ファイルを意図的に使用する場合にのみ、CodexConfig(codex_bin=...) を渡してください。

Python SDK は安定版として提供されています。pip install openai-codex を実行すると、最新の安定版がインストールされます。 より新しいプレリリースビルドを使用するには、 pip install --pre openai-codex を実行してください。

使用方法

Codex を起動し、スレッドを作成して、プロンプトを実行します:

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)

アプリケーションがすでに非同期処理を使用している場合は、AsyncCodex を使用します:

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 プリセットを使用します:

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)

利用可能なプリセット:

  • Sandbox.read_only:ファイルの読み取りのみを許可し、書き込みは許可しない
  • Sandbox.workspace_write:ファイルの読み取りと、ワークスペースおよび書き込み可能なルートとして設定されたディレクトリ内への書き込みを許可
  • Sandbox.full_access:ファイルシステムへのアクセスを制限せずに実行

sandbox= を省略すると、app-server は設定済みのデフォルト値を使用します。 run(...) または turn(...) に渡したサンドボックス設定は、 そのターンと、同じスレッドの後続のターンに適用されます。

詳しくは、Python リポジトリを参照してください。