00Persistent Linux machines
Not a sandbox that disappears when the request ends. A real Linux machine with a disk that survives a stop, a desktop you can watch live, and one keyboard that either your agent or you are holding, never both.
$ computer attach research
research · ubuntu 24.04 · small · up 4d 2h · disk kept
the agent holds the keyboard. ctrl+k takes it back.
> open example.com and screenshot the pricing table
browser.open https://example.com · 320ms
screen.screenshot 1512x982 · saved ~/work/pricing.png
>
01Two drivers
An agent and a person can both work on the same computer without fighting for it, because the product never lets them type at once.
02The interface
No substrate vocabulary leaks through the API. There is no pod, no container and no sandbox in it, because none of those are things you asked for.
import { Client } from "@raster/sdk";
const client = new Client();
const machine = await client.machines.create({
name: "research",
size: "small",
});
await machine.waitForDesktop();
await machine.browser.open("https://example.com");
await machine.keyboard.type("hello");
const shot = await machine.screen.screenshot();03Where this is
Machines, the live desktop, the terminal, files, organizations, API keys and sessions work today. Snapshots, templates, port previews, usage and billing are being built, and every screen for them says so rather than showing a number nobody measured.
Start a machine and see which is which.