Consulta los ejemplos de gestión desde la aplicación y mediante webhooks en el OpenAI Cookbook.
Elige un modo de aprovisionamiento:
- Gestionado por la aplicación: tu aplicación crea y conecta el sandbox de E2B directamente.
- Gestionado mediante webhooks: implementa un manejador que inicie o vuelva a conectar sandboxes a partir de webhooks de OpenAI.
Consulta Ciclo de vida del sandbox para comparar los dos modos.
Antes de comenzar
Configura E2B_API_KEY y usa OPENAI_API_KEY para las solicitudes de la aplicación. Configura OPENAI_EXECUTOR_API_KEY con una clave de entorno y pasa únicamente esa clave al sandbox como CODEX_API_KEY.
Gestionado mediante webhooks
Implementa un controlador que verifique los webhooks de OpenAI y aprovisione un worker de E2B independiente para cada sesión. Sigue las instrucciones de Implementar y conectar un manejador para configurar las credenciales, registrar el punto de acceso y verificar las firmas.
Guarda de forma persistente la correspondencia entre sesiones y sandboxes. Ante una solicitud de conexión, reanuda un worker en pausa o reemplaza uno eliminado. Al pausarlo, se conservan sus archivos; al reemplazarlo, no. Establece tiempos de espera de ejecución para el controlador y los workers, y elimina el webhook de OpenAI cuando dejes de usar el controlador.
Gestionado por la aplicación
Usa el SDK o la API de E2B desde tu aplicación para gestionar el sandbox:
- Crea una sesión con alojamiento propio y guarda su ID de entorno.
- Crea un sandbox aislado de E2B con el directorio de trabajo de la sesión e instala Codex CLI dentro de él.
- Inicia el ejecutor en el sandbox usando el ID y la clave del entorno.
- Sigue las instrucciones de Ejecutar y continuar sesiones para enviar datos de entrada y comprobar el resultado del turno.
- Elimina la sesión y detén el sandbox de E2B cuando termines.
Configura la duración del sandbox por separado del tiempo de espera del comando del ejecutor. Un comando sin tiempo de espera no mantiene en ejecución un sandbox cuya duración haya vencido.
Referencias
- Consulta la documentación de E2B
- Consulta el SDK de Python de E2B
- Consulta el SDK de TypeScript de E2B