請參閱 OpenAI Cookbook 中的應用程式管理與 webhook 管理範例。
如需執行器設定與連線需求的詳細資訊,請參閱自行託管的沙盒。
選擇佈建模式:
- 應用程式管理: 依照本指南,從應用程式啟動及停止沙盒。
- Webhook 管理: 部署處理常式,根據 OpenAI webhook 啟動沙盒或重新連線至沙盒。
請參閱沙盒生命週期,比較這兩種模式。
開始之前
你需要 OpenAI 專案 API 金鑰、Blaxel API 金鑰與工作區,以及 Codex CLI 套件。
設定 BL_API_KEY 與 BL_WORKSPACE,並使用 OPENAI_API_KEY 發送應用程式請求。將 OPENAI_EXECUTOR_API_KEY 設為環境金鑰,並僅將該金鑰以 CODEX_API_KEY 傳入沙盒。
在佈建程式碼中選擇沙盒區域。如果需要使用下方的 Agent Drive 持久化選項,請使用 us-was-1。
1. 設定 Blaxel 環境
建立自行託管的工作階段並儲存其環境 ID。使用 Blaxel SDK 或 API 建立隔離的沙盒,並使用已設定的工作目錄。在沙盒中安裝 Codex CLI,然後使用該環境 ID 與環境金鑰啟動其執行器。
Blaxel Node 映像檔使用 Alpine Linux,因此請使用 apk 安裝 ripgrep。僅將環境金鑰以 CODEX_API_KEY 傳給執行器程序。設定 keep_alive=True,避免沙盒在執行器執行期間縮減至零。為設定作業、執行器與沙盒設定明確的逾時上限,可避免已棄置的資源無限期執行。
若要經常使用,請建置已安裝 Codex 與 ripgrep 的 Blaxel 映像檔,讓沙盒更快建立連線。
2. 執行工作階段
Blaxel 執行器連線後,請使用執行與接續工作階段中的 HTTP 範例傳送輸入,並以串流方式接收結果。完成後,請刪除工作階段,並另外停止供應商的沙盒。
提交輸入前,請先啟動沙盒。回合會等待環境連線,而工作階段會透過事件串流中的 agent.session.environment.connected 回報連線。
請使用 agent.session.turn.completed 判斷回合是否成功。失敗或取消的回合之後也可能出現 agent.session.idle,因此工作階段處於閒置狀態並不代表回合成功。
選用:跨工作階段保留檔案
使用 Blaxel Agent Drive,跨沙盒與工作階段保留檔案。在各個沙盒中掛載同一個磁碟,即可共用檔案;Agent Drive 必須使用 us-was-1 區域,且不會傳輸對話記錄或工作階段狀態。