Wheelmachine docs
Machines for agents and people, by the second.
Make a machine, usually in well under a second. Run commands in it, copy files in and out, pause it with its memory kept, and delete it when the work is done. From a terminal, from Python or TypeScript, or from an agent.
$ wm machines create --name box
ID NAME STATE SIZE LOCATION AGE
m_01jb2xk3n4p5q6r7s8t9v0w1x2 box running 2 CPU, 4 GB Helsinki, FI 0s
$ wm exec box -- python3 -c "print(2+2)"
4
$ wm cp ./data.csv box:work/
$ wm machines pause box
ID NAME STATE SIZE LOCATION AGE
m_01jb2xk3n4p5q6r7s8t9v0w1x2 box paused 2 CPU, 4 GB Helsinki, FI 1mFour steps#
- Get a key. It begins
ak_live_and holds the scopes it may use. - Log in.
wm loginkeeps it on your computer, readable by you only. - Make a machine. 2, 4, 8 or 16 CPUs, with 2 GB of memory each.
- Use it. Run commands, copy files, pause it, copy it, delete it.
Where to go#
QuickstartA key, a machine, a command, a file, a pause. Five minutes.
MachinesStates, sizes, sleeping when idle, copies and snapshots.
Commands and filesRun anything; copy files in and out.
Keys and scopesWhat a key may do, and why one never makes a stronger one.
Command lineEvery
wm command and flag.
LibrariesPython and TypeScript, with retries that never make two.
AgentsThe wm-mcp server: machines as tools for an agent.
ErrorsEvery code the API answers with, and what to do.
API referenceEvery route and field, made from the API's contract.
For agents that read. The whole site is one file at llms-full.txt, with an
index at llms.txt; every page is also there as Markdown (the same address, ending
.md), and the API's contract is openapi.yaml.