For the complete documentation index, see llms.txt. Markdown versions of documentation pages are available by appending .md to the page URL.
Navegação principal
Theme

E2B

Conecte um sandbox do E2B a uma sessão da API de Agentes.

Confira no OpenAI Cookbook os exemplos de gerenciamento pelo aplicativo e de gerenciamento por webhook.

Escolha um modo de provisionamento:

Consulte Ciclo de vida do sandbox para comparar os dois modos.

Antes de começar

Defina E2B_API_KEY e use OPENAI_API_KEY nas requisições do aplicativo. Atribua a OPENAI_EXECUTOR_API_KEY o valor de uma chave de ambiente e passe apenas essa chave para o sandbox como CODEX_API_KEY.

Gerenciamento por webhook

Implemente um controlador que verifique os webhooks da OpenAI e provisione um worker exclusivo do E2B para cada sessão. Siga as instruções em Implante e conecte um manipulador para configurar as credenciais, registrar o endpoint e verificar as assinaturas.

Salve de forma persistente a associação entre cada sessão e seu sandbox. Ao receber uma solicitação de conexão, retome o worker se ele estiver pausado ou substitua-o se tiver sido excluído. Pausar o worker preserva seus arquivos. O worker substituto não terá esses arquivos. Defina limites de tempo de execução para o controlador e os workers. Remova o webhook da OpenAI quando deixar de usar o controlador.

Gerenciamento pelo aplicativo

Use o SDK ou a API do E2B no seu aplicativo para gerenciar o sandbox:

  1. Crie uma sessão auto-hospedada e salve o ID do ambiente dessa sessão.
  2. Crie um sandbox isolado do E2B com o diretório de trabalho da sessão e instale a CLI do Codex dentro dele.
  3. Inicie o executor no sandbox usando o ID e a chave do ambiente.
  4. Siga as instruções em Execute e continue sessões para enviar dados de entrada e verificar o resultado do turno.
  5. Ao terminar, exclua a sessão e encerre o sandbox do E2B.

Configure a duração do sandbox separadamente do limite de tempo do comando do executor. Quando a duração configurada chega ao fim, o sandbox deixa de funcionar mesmo que o comando não tenha limite de tempo.

Referências