请参阅 OpenAI Cookbook 中的应用管理和 Webhook 管理示例。
选择预配模式:
- 应用管理: 您的应用直接创建并连接 E2B 沙盒。
- Webhook 管理: 部署一个处理程序,根据 OpenAI Webhook 启动或重新连接沙盒。
请参阅沙盒生命周期,了解这两种模式的区别。
开始之前
设置 E2B_API_KEY,并使用 OPENAI_API_KEY 发起应用请求。将 OPENAI_EXECUTOR_API_KEY 设置为环境密钥,并仅将该密钥作为 CODEX_API_KEY 传入沙盒。
Webhook 管理
实现一个控制器,用于验证 OpenAI Webhook,并为每个会话预配独立的 E2B 工作实例。请按照部署并连接处理程序中的说明配置凭据、注册端点并验证签名。
持久化保存会话与沙盒之间的映射。收到连接请求时,恢复已暂停的工作实例,或替换已删除的工作实例。暂停会保留其文件,替换则不会。为控制器和工作实例设置运行超时时间,并在停止使用控制器时移除 OpenAI Webhook。
应用管理
在您的应用中使用 E2B SDK 或 API 来管理沙盒:
- 创建自托管会话并保存其环境 ID。
- 创建一个包含会话工作目录的隔离 E2B 沙盒,并在其中安装 Codex CLI。
- 使用环境 ID 和环境密钥在沙盒中启动执行器。
- 按照运行和继续会话中的说明发送输入并检查该轮的结果。
- 完成后,删除会话并停止 E2B 沙盒。
分别配置沙盒的存续时间和执行器命令的超时时间。即使命令未设置超时,也无法让已到期的沙盒继续运行。
参考资料
- 阅读 E2B 文档
- 查看 E2B Python SDK
- 查看 E2B TypeScript SDK