aiod is the AIO Sandbox daemon. It serves the sandbox tools API over HTTP and WebSocket — commands, files, terminals, code execution, browser control, and MCP.
The design keeps dependencies minimal:
Linux builds cover x86_64, arm64, and riscv64 (static musl). Windows builds cover x86_64 (aiod.exe, computer-use.exe).
Commands — runs a shell command as a process (POST /v2/commandsPOST /v1/bash/exec), or opens a persistent PTY-backed terminal (/v2/pty/v1/shell).
Files — reads, writes, searches, and watches files on disk (/v2/fs, /v2/watch/v1/file/*).
Code — executes Python or JavaScript snippets, with optional sessions (POST /v2/code/executePOST /v1/code/execute).
Browser — connects to a Chromium listening on its debug port (default 127.0.0.1:9222) and exposes navigate, click, fill, screenshot, and more over REST (/v2/browser/*/v1/browser/*).
Desktop — a separate computer-use worker; /v2/computer/* is proxied to it for GUI control: screenshots, mouse and keyboard, clipboard, and the accessibility tree.
MCP — POST /mcp serves the built-in tools as one stateless JSON-RPC endpoint:
It can also aggregate other MCP servers.
aiod detects its optional backends, the browser, the interpreters, and the desktop GUI worker, and GET /v1/capabilities reports what is actually available.
Against the 1.x Python server on the same host, the daemon process idles at far less memory and answers common calls faster; the chart has the numbers. Image boot figures are on Quick Start.
/v1/* is compatible with the 1.x Python server. /v2/* is the current, path-keyed surface for new integrations.
Both are served by default (AIO_API_SURFACE=full). Set AIO_API_SURFACE=v2 to serve only the modern surface. See the API reference.