OpenAI Daytona 沙箱

2026-11-06 14:59 更新

完整实现见Cookbook的应用管理与Webhook管理示例。共用执行器安装与连接要求见自托管沙箱。

选择模式:

  • 应用管理:应用直接启动和停止沙箱。
  • Webhook管理:部署处理器,由OpenAI事件启动或重连沙箱。

比较见沙箱生命周期。

Webhook 管理

控制器验证OpenAI事件投递并将资源创建任务入队,与运行各会话执行器的工作沙箱分离。按部署并连接处理器注册端点和签名秘密。

收到 environment_connection 时启动或重连工作沙箱,会话失败时释放它。显式配置工作进程和控制器超时。空闲时停止资源需要与新任务协调,见生命周期行为。

应用管理

开始之前

准备OpenAI项目API密钥、Daytona API密钥及Codex CLI包。

设置 DAYTONA_API_KEY,应用请求使用 OPENAI_API_KEY。将 OPENAI_EXECUTOR_API_KEY 设为独立环境密钥,只将它作为 CODEX_API_KEY 传入沙箱。

1. 配置 Daytona 环境

创建自托管会话,保存环境ID。用Daytona SDK或API创建工作目录匹配的隔离沙箱,安装Codex CLI,再用环境ID及环境密钥启动执行器。

执行器到OpenAI的连接是长期出站连接,Daytona的不活动检测看不到它。将 auto_stop_interval=0,防止智能体工作时被停止;另设寿命上限,避免运行中断后资源无限保留。

常规使用可将Codex和ripgrep放入Daytona快照,缩短连接前准备。

2. 运行会话

Daytona执行器连接后,使用运行与继续会话的HTTP示例发送输入、读取结果流。结束后分别删除会话及停止沙箱。

先启动沙箱再提交输入。轮次等待环境连接,事件流通过 agent.session.environment.connected 报告连接。

以 agent.session.turn.completed 判断成功。失败或取消后也可能出现 agent.session.idle,不能把空闲状态视为成功证明。事件到达后立即读取会话,可能短暂读到此前状态。

参考

以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号