Providers
A provider is the backend behind a sandbox. The CLI and SDK ship only Alibaba Cloud Express; install the rest from the Registry. The same calling code switches backend with one provider argument.
Providers today
Alibaba Cloud Agent Sandbox Express Edition
Default provider of the CLI and the Python SDK. abx template deploy builds and registers templates here.
OpenSandbox
Run sandboxes on an OpenSandbox server (Docker or Kubernetes). Commands, files and a terminal work over the OpenSandbox HTTP API.
Alibaba Cloud Agent Sandbox Container Edition
Run sandboxes on the sandbox-manager of Alibaba Cloud ACS or ACK, the container edition.
CubeSandbox
Run sandboxes on a CubeSandbox CubeAPI. Supports the Jupyter code interpreter on port 49999.
E2B
Run sandboxes on E2B cloud. The API key is ABX_E2B_API_KEY. It does not read the Express key or E2B_API_KEY.
Capability comparison
One row per capability, one column per provider. A capability that is not declared returns E8004 before any request is sent, so what you see while choosing is what happens at runtime.
| Capability | Alibaba Cloud Agent Sandbox Express Edition | OpenSandbox | Alibaba Cloud Agent Sandbox Container Edition | CubeSandbox | E2B |
|---|---|---|---|---|---|
| Sandbox | |||||
Create, connect, list, kill sandbox.lifecycle | ● | ● | ● | ● | ● |
Change lifetime sandbox.timeout | ● | ● | ● | ● | ● |
Pause and resume sandbox.pause | ● | ● | ● | ● | ● |
| Execution | |||||
Run a command exec.run | ● | ● | ● | ● | ● |
Stream output exec.stream | ● | ● | ● | ● | ● |
List and signal processes process.manage | ● | ● | ● | – | ● |
Interactive terminal pty | ● | ● | – | – | – |
| Files | |||||
Read, write, directories, rename files.rw | ● | ● | ● | ● | ● |
Watch a directory files.watch | ● | – | – | ● | ● |
Upload and download URLs files.transfer | ● | – | – | – | – |
| Code | |||||
Code interpreter code.interpret | ● | – | ● | ● | ● |
| Templates | |||||
Read templates templates.read | ● | – | – | – | – |
Build templates templates.build | ● | – | – | – | – |
| Network and storage | |||||
Port URLs ports.url | ● | ● | ● | ● | ● |
Custom domains ports.domain | ● | – | – | – | – |
Mount storage storage.mount | ● | – | – | – | – |
VPC networking network.vpc | ● | – | – | – | – |
| Sessions | |||||
Named commands in the sandbox sessions | ● | ● | – | – | – |
Switching backend
Install
Download from the Registry. The sha256 is checked and install only copies files; it never runs plugin code.
Configure
Each provider reads only its own environment variables, for example ABX_OPENSANDBOX_BASE_URL. The Express key is never carried over.
Use
Pass provider when you create. Capabilities follow what the provider declares.
python -m agent_sandbox.providers install registry:opensandbox --yesawait Sandbox.create(provider="opensandbox", template="base")Bring your own backend
A manifest abx-provider.toml plus a small program lets the SDK create sandboxes on your platform. REST manifest, separate process and Python runtimes are supported.