deskshell

deskshell docs

An OS runtime for agents. The machine as a toolbox; every action a declared contract — asserted, undoable, audited — and no model in the kernel.

deskshell is not an agent that clicks. It is the layer that turns the whole machine into something an agent can call safely: the OS as a tool, not a surface to poke. It separates what to do from how to do it safely:

Three commands, thirty seconds

npm run demo     # four steps succeed, the fifth fails, everything rolls back, directory is byte-identical
npm run r0       # R0: residue / rollback / traceability rates under 15 injected failures
npm run mcp      # the same kernel as an MCP server (skills / preview / apply / undo)

Each one is backed by a test that fails the build if the claim stops being true: scripts/thirty-seconds-test.ts, scripts/recovery-bench.ts, scripts/mcp-test.ts.

Build it with us

Twelve scoped tasks, each with an acceptance command — and no cash bounty. What you get instead: ownership of what you build, your name in the contributors file, and a roadmap vote after two merged PRs.

Three concepts

Capability — what a skill asks for, with a scope and a plain-language reason. Users can refuse.

Action — one step. Must declare a pre condition, a post assertion, and how to undo itself.

Journal — append-only JSONL. What ran, whether it succeeded, how to undo it.

Why protocol first

Most "AI operates the computer" projects die in the same place: the demo works, but nobody dares use it. Users don't know what it will do next, and they don't know how to recover when it goes wrong.

deskshell makes trust part of the protocol:

What exists today

Where to go next