Docker-first coordination for long-running agents

Suzumio

Suzumio coordinates multi-agent projects with a non-preemptive mailbox scheduler, isolated Docker turns, audited tools, artifact tracking, SQLite state, a CLI, an HTTP API, and a lightweight WebUI.

Purpose

Suzumio is a coordination runtime for projects where agents may need to work for a long time without being interrupted. It is suitable for formalization, code work, research workflows, review pipelines, benchmark experiments, and other tasks where progress is best represented as durable turns, messages, artifacts, and audit logs.

Suzumio separates project coordination from agent execution. The core runtime owns project state and scheduling. The Docker runner executes one agent turn, calls back to Suzumio for tools, writes a result, and exits.

Non-preemptive scheduling

Running agents are not prompted, nudged, or interrupted. New inbound messages wait in the mailbox until the current turn finishes.

Durable project state

Projects store resolved configuration, agents, messages, message reads, turns, events, tool calls, and artifacts in SQLite.

Docker-first execution

Each turn runs in a container with a turn input file, an output file, an agent workspace, and ToolHost access.

Audited tools

Project tools are checked against each agent allowlist and recorded before and after execution.

What You Can Do Today

TaskWhere to startWhat you get
Run a local smoke testQuickstartA Docker-backed mock turn that verifies scheduling, storage, and runner wiring.
Define a projectConfigurationYAML config with whole-field imports, profile composition, agents, tools, and backend settings.
Operate projects from terminalCLI ReferenceCommands for init, serve, start, send, inspect, approve, and stop.
Integrate with other systemsHTTP APIProject objects, user actions, event streams, and ToolHost calls.
Deploy docs or inspect architectureArchitectureClear boundaries between core runtime, Docker backend, runner, ToolHost, and SQLite.

Core Workflow

1. Render and validate project config.
2. Initialize a project under SUZUMIO_ROOT.
3. Start the HTTP server and scheduler loop.
4. Send a user message to an agent.
5. Scheduler starts one Docker turn for that agent.
6. Runner executes the turn and calls ToolHost when needed.
7. Suzumio records messages, tool calls, events, artifacts, and turn output.
8. Idle agents remain quiet until new inbound messages arrive.

Project Layout

$SUZUMIO_ROOT/demo/
  suzumio.sqlite      durable project database
  source.yaml         original project config
  resolved.yaml       fully resolved config
  agents/             per-agent workspaces
  artifacts/          published files
  turns/              turn input/output directories
  logs/               reserved for runtime logs

Public Documentation Scope

This site documents the runtime contract, user workflows, configuration, CLI, API, and operational behavior. It intentionally avoids internal development history and private deployment details. Examples use placeholders for provider endpoints and keys.