Este tópico descreve como crie um ambiente de Sandbox All-in-One completo com a imagem Linux Computer Use do AgentBay.
Contexto
O Sandbox All-in-One é um ambiente de desenvolvimento e execução na nuvem altamente integrado. Ele combina automação de desktop Linux, navegador e mecanismo de execução de código. Essa integração oferece um ambiente de execução padronizado e pronto para uso, ideal para tarefas automatizadas (especialmente agentes de IA), desenvolvimento na nuvem e execução segura de código.
Essa solução adota uma arquitetura de containerização unificada para eliminar diferenças de ambiente, complexidades na transferência de arquivos e barreiras de interação comuns em cadeias de ferramentas legadas e fragmentadas. Assim, permite integração ponta a ponta e operações contínuas.
Visão geral da solução
Esta solução usa uma única sessão linux_latest como sandbox all-in-one, expondo três recursos por meio de uma API unificada:
session.computer— controle o desktop Linux.session.browser— automatize um navegador gerenciado sem instale o Playwright localmente.session.code— execute scripts em Python e outras linguagens compatíveis.
Esse ambiente é especialmente útil para interagir com a interface do usuário e executar scripts (ou recuperar conteúdo da web rapidamente) em uma única sessão, sem alternar imagens.
Qual recurso usar
|
Tarefa |
Recurso recomendado |
|
Interagir com uma página web (navegar, clique em, extrair dados) |
|
|
Operar um aplicativo GUI ou capturar todo o desktop |
|
|
Execute um script ou código arbitrário |
|
Use os três recursos na mesma sessão sempre que seu fluxo de trabalho abranger mais de uma dessas tarefas.
Principais recursos
Ambiente consistente: Navegador, terminal, sistema de arquivos e ferramentas de desenvolvimento rodam no mesmo container, evitando incompatibilidades entre etapas.
Pronto para uso: Linguagens, frameworks e ferramentas de build comuns já vêm pré-instalados. Não é necessário configurar o ambiente.
Isolamento de segurança: Cada sessão roda em um container dedicado dentro de uma Virtual Private Cloud (VPC), mantendo a execução das tarefas e os dados isolados.
Dimensionamento sob demanda: As sessões iniciam e param em segundos, com configuração de recursos sob demanda para otimizar custos.
Cadeia de ferramentas unificada: Os recursos Browser Use, Code Space e Computer Use estão disponíveis em uma única imagem, eliminando a necessidade de trocar de imagem durante o fluxo de trabalho.
Pré-requisitos
Antes de começar, verifique se você tem:
As configurações de chave de API defina no seu ambiente.
Execute código e automatize um navegador
Os dois exemplos usam o mesmo tipo de sessão linux_latest e cobrem as tarefas mais comuns:
Execute código com
session.code.run_code().Navegar e capturar a tela de uma página com
session.browser.
Execute código Python no linux_latest
Este exemplo executa um trecho de código Python dentro do sandbox. Funciona como um espaço de código na nuvem, mas dentro de uma sessão de agente que também pode controlar um navegador ou o desktop.
import os
from agentbay import AgentBay, CreateSessionParams
def main() -> None:
api_key = os.getenv("AGENTBAY_API_KEY")
if not api_key:
raise RuntimeError("AGENTBAY_API_KEY environment variable not set")
ab = AgentBay(api_key=api_key)
create_result = ab.create(CreateSessionParams(image_id="linux_latest"))
if not create_result.success:
raise RuntimeError(create_result.error_message)
session = create_result.session
try:
code = """
print("RUN_CODE_OK")
print(6 * 7)
""".strip()
result = session.code.run_code(code, "python")
if not result.success:
raise RuntimeError(result.error_message)
print(result.result)
finally:
session.delete()
if __name__ == "__main__":
main()
Automatize uma sessão de navegador no linux_latest
Este exemplo usa a API do agente de navegador — sem necessidade de Playwright local — para abrir uma URL e capturar uma screenshot.
import os
from agentbay import AgentBay, BrowserOption, CreateSessionParams
def main() -> None:
api_key = os.getenv("AGENTBAY_API_KEY")
if not api_key:
raise RuntimeError("AGENTBAY_API_KEY environment variable not set")
ab = AgentBay(api_key=api_key)
create_result = ab.create(CreateSessionParams(image_id="linux_latest"))
if not create_result.success:
raise RuntimeError(create_result.error_message)
session = create_result.session
try:
if not session.browser.initialize(BrowserOption()):
raise RuntimeError("Failed to initialize browser")
session.browser.agent.navigate("https://example.com")
data = session.browser.agent.screenshot(full_page=False)
print("Screenshot data prefix:", data[:30])
finally:
session.delete()
if __name__ == "__main__":
main()