OpenAI Cookbook で、アプリケーション管理と Webhook 管理の実装例を確認できます。
エグゼキューターのセットアップ手順と接続要件については、セルフホスト型サンドボックスを参照してください。
プロビジョニング方式を選択します。
- アプリケーション管理: このガイドの手順に沿って、アプリケーションからサンドボックスを起動・停止します。
- Webhook 管理: OpenAI からの Webhook を受けてサンドボックスを起動するか、既存のサンドボックスに再接続するハンドラーをデプロイします。
2 つの方式の違いについては、サンドボックスのライフサイクルを参照してください。
事前準備
Vercel Sandbox にアクセスできる Vercel プロジェクトを使用します。Vercel Sandbox SDK の認証方法は、アプリケーションの実行環境によって異なります。
- ローカルで実行する場合: 環境変数
VERCEL_TOKEN、VERCEL_TEAM_ID、VERCEL_PROJECT_IDを設定します。 - Vercel にデプロイする場合: Vercel OIDC を使用します。
アプリケーションからのリクエストには OPENAI_API_KEY を使用します。OPENAI_EXECUTOR_API_KEY に環境キーを設定し、そのキーだけを CODEX_API_KEY としてサンドボックスに渡します。
1. Vercel 環境のセットアップ
セルフホスト型セッションを作成し、その環境 ID を保存します。Vercel SDK または API を使い、設定済みの作業ディレクトリを指定して、分離されたサンドボックスを作成します。サンドボックスに Codex CLI をインストールしてから、保存した環境 ID と環境キーを使ってエグゼキューターを起動します。
継続的に利用する場合は、Vercel のスナップショットに Codex を含めておくと、サンドボックスが接続するまでの時間を短縮できます。
2. セッションの実行
Vercel のエグゼキューターが接続したら、セッションの実行と継続にある HTTP の例に沿って入力を送信し、結果をストリーミングで受け取ります。作業が完了したら、セッションを削除し、プロバイダー側のサンドボックスを別途停止します。