Introduction

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:

  • static musl builds on Linux
  • a native Windows build
  • graceful degradation — browser, interpreters, and the desktop GUI worker are optional backends, detected at runtime

Linux builds cover x86_64, arm64, and riscv64 (static musl). Windows builds cover x86_64 (aiod.exe, computer-use.exe).

daemon capability scope

  • 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.

  • MCPPOST /mcp serves the built-in tools as one stateless JSON-RPC endpoint:

    • run a command
    • run code
    • file operations
    • browser info
    • load a skill

    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.

API planes: v1 and v2

/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.