agent-sandbox-server
Server SDK. This package runs inside a sandbox image. It is the HTTP service the image starts (default port 9000). It does not create the sandbox. Creating and calling the sandbox is the client SDK or the abx CLI. Guide: Server SDK.
It exposes files, processes, system info, a PTY terminal, optional dev tools / browser automation, and your own registered commands.
The HTTP server is stdlib-only. websockets is installed for the PTY terminal endpoint.
Import path: agent_sandbox.server (a namespace shared with agent-sandbox).
Install
pip install agent-sandbox-server
The opt-in browser capability group imports Playwright lazily; install playwright in the
image yourself if you enable it (without it the browser endpoints answer 503).
Use inside a template's commands.py
from agent_sandbox.server import command, start
@command(description="Say hello")
def hello(name: str = "world") -> dict:
return {"message": f"Hello, {name}!"}
start(9000)
Every endpoint is one row of agent_sandbox.server.endpoints.ENDPOINTS. A capability group
(commands, file_ops, process, terminal, system, dev_tools, browser, agents) is a
name for the endpoints that declare it. core is always on, the groups through terminal and
system start on, and dev_tools, browser and agents start off. Turn one on with
default_table().enable_group(CapabilityGroup.DEV_TOOLS) in commands.py, with a policy
groups: [dev_tools], or with ABX_SERVER_ENABLED_GROUPS=dev_tools in the environment. See the
server API design.
Develop
pip install -e "./server-sdk[dev]"
cd server-sdk && pytest && ruff check src tests && mypy src/agent_sandbox/server
Licensed under Apache-2.0.