Run code, manage state, and coordinate complex tasks with reliable, stateful execution infrastructure.
Live session
Why Alineo
workflow(client)
.sandbox({ resources }, (sb) => {
sb.exec("pytest -q");
sb.checkpoint();
})
.pipe(sink);
// one await, however complex Every exec runs inside a live, isolated OpenSandbox container — filesystem, packages, and processes carry over between calls.
Every exec is written to a durable ledger. checkpoint() snapshots the container; resume() reconnects after a full restart.
Fork a running agent's live sandbox — filesystem, installed packages, everything on disk — into an independent sub-agent.
@alineo-labs/workflow is a lazy pipeline builder — retry, branching, fan-out, and parallel steps queue synchronously.
For agent builders
Execute your code inside the sandbox itself — reading and writing real files, running real shell commands, and capturing outputs in real time.
Learn more →█████╗ ██╗ ██╗███╗ ██╗███████╗ ██████╗ ██╔══██╗██║ ██║████╗ ██║██╔════╝██╔═══██╗ ███████║██║ ██║██╔██╗ ██║█████╗ ██║ ██║ ██╔══██║██║ ██║██║╚██╗██║██╔══╝ ██║ ██║ ██║ ██║███████╗██║██║ ╚████║███████╗╚██████╔╝ ╚═╝ ╚═╝╚══════╝╚═╝╚═╝ ╚═══╝╚══════╝ ╚═════╝
█████╗ ██╗ ██╗███╗ ██╗███████╗ ██████╗
██╔══██╗██║ ██║████╗ ██║██╔════╝██╔═══██╗
███████║██║ ██║██╔██╗ ██║█████╗ ██║ ██║
██╔══██║██║ ██║██║╚██╗██║██╔══╝ ██║ ██║
██║ ██║███████╗██║██║ ╚████║███████╗╚██████╔╝
╚═╝ ╚═╝╚══════╝╚═╝╚═╝ ╚═══╝╚══════╝ ╚═════╝ SDK import { Alineo, textOnly } from "alineo"; const agent = await Alineo.load(spec, { adapter }); for await (const chunk of textOnly( agent.prompt("Write and run a hello world script.") )) { process.stdout.write(chunk); }
For developers
A plain TypeScript SDK — no framework lock-in, no hidden runtime. Swap the storage adapter, the model, or the hooks without touching the rest.
Isolation & security
Every sandbox is ephemeral, resource-capped, and network-gated — an agent gets exactly the reach you grant it, nothing more.
cpu/memory are required on every sandbox request — OpenSandbox rejects anything without them. No runaway containers.
DNS or direct egress modes, plus an agent-egress-approval gate so outbound calls need explicit sign-off.
Secrets are injected into the sandbox at exec time — never returned to the agent, never written to the ledger.
Every exec_start, exec_event, and exec_complete is recorded to your storage adapter and fully replayable.
One command spins up OpenSandbox locally — no infra to provision first.