Skip to content

Cloud desktops for humans and agents

macOS. Windows. Linux.
Provisioned like infrastructure.

Rigs provisions governed desktop sessions on Omega — scoped by Keystone, metered by Garden, and controllable by your team or your agents through a console, a typed SDK, and MCP.

  • Runs on Omega
  • Keystone-scoped access
  • Garden usage metering
  • MCP-native
rigs.sh — console
The Rigs console — a live fleet of governed desktop sessions on Omega
01 / 05

Your fleet, live

Every desktop session in your tenant — status, region, deployment ID, age — polling live from Omega, scoped to the org and project you are signed into.

02 / 05

Provision in one dialog

Pick an OS image — Linux XFCE or KDE, Windows, macOS — set resolution and variant, and the rig is queued on Omega in seconds.

03 / 05

Every rig, fully observable

Stage, region, tier, runtime, timestamps, deployment ID — plus live desktop preview and lifecycle controls, in a single sheet.

04 / 05

Credentials that expire by design

Mint short-lived live-session credentials scoped to a single rig. They are never stored — copy what you need, they expire in minutes.

05 / 05

Dark mode, same standard

The entire console is drawn twice on a pure-neutral foundation. It follows your system, down to the last hairline border.

Rigs console fleet table showing live desktop sessions with status, region, and deployment IDs
Provision dialog with OS image, resolution, and variant selectors
Rig details sheet with live preview, lifecycle actions, and deployment metadata
Live-session credentials dialog with short-lived URL and token
Rigs console in dark mode
The differentiator

One API. Three operating systems.

Nobody else hands you governed macOS, Windows, and Linux desktops from a single provision call. With Rigs, the OS is a request parameter — not a procurement project.

macOS

Real macOS sessions executing on sanctioned Apple hardware — the trust boundary Apple expects, behind the same API as everything else.

environment: "macos"

Windows

Full Windows desktops on the L1fe runtime with per-rig network and filesystem isolation. License handling is our problem, not yours.

environment: "windows"

Linux

XFCE and KDE images that cold-start in well under a second — plus a headless variant at a fraction of the price for pure automation.

environment: "xfce" | "kde"

Variants per spin: persistent · stateless · visual · headless — resolution up to 2560×1440

For developers

The console is just one client.

Everything the console does rides the same public surface: a REST API, a typed TypeScript SDK, and an MCP server. If you can see it in the UI, you can script it.

  • Typed capability setstop · restart · reinstall_os · snapshot · resize · wipe_state · logs
  • Bearer authRIGS_API_TOKEN — or Keystone session cookies in the browser
  • One health contractGET /api/health, the same check production runs on
import { RigsClient } from "@l1fe/rigs-sdk"; const rigs = new RigsClient({ token: process.env.RIGS_API_TOKEN }); // Provision a governed Linux desktopconst rig = await rigs.create({  name: "ops-desktop",  environment: "kde",  resolution: "1920x1080",  variant: "persistent",}); // Lifecycle is a typed capability setawait rigs.action(rig.id, "restart"); // Mint short-lived live-session credentialsconst creds = await rigs.term(rig.id);

Typed client — list, create, action, term, invoke.

⌘K — command palette
Rigs command palette: provision a new rig, refresh from Omega, jump to any rig
Agent-native

Computer-use agents need computers.

An agent that clicks, types, and reads the screen needs a real desktop — isolated, observable, and disposable. Rigs gives every agent its own, through tools it already speaks.

rigs_createProvision macOS, Windows, or Linux with one tool call
rigs_actionDrive the full lifecycle — restart, snapshot, wipe
rigs_termMint short-lived credentials to attach to the live session
rigs.agent.invokeEvery invocation gated by scope + instance permission

$ npx @l1fe/rigs-mcp — that's the whole integration.

Governance

Desktops with a chain of custody.

A desktop an agent can use is a desktop that needs governance. Rigs makes the controls structural — scoping, metering, and expiry are how the platform works, not features bolted on.

Tenant scoping by Keystone

Every rig belongs to an org and a project. Sessions, IAM, and entitlements resolve through Keystone — the console, SDK, and agents all see exactly the slice they are scoped to.

Capability-level OAuth scopes

rigs:instances:read, create, control, and rigs:agent:invoke are separate scopes. A monitoring bot that lists rigs cannot wipe one.

Credentials that expire

Live-session credentials are minted on demand, scoped to one rig, and expire in minutes. Nothing long-lived is ever written down.

Usage metered by Garden

Every desktop minute flows through Garden with org, project, and principal attribution — humans and agents on the same meter, audit-grade.

Lifecycle with intent

Destructive actions — reinstall OS, wipe state, stop — confirm in the console and require the control scope over the API. No accidental fleet wipes.

Per-rig isolation

Each rig gets its own network and filesystem namespace on the sandbox runtime. Sessions are ephemeral by default; persistence is an explicit variant.

Comparisons

We did the homework. Honestly.

Side-by-side matrices against the desktops you already know — including the rows where they win.

Pricing

Pay by the minute. Per OS. Per size.

No per-user bundles, no host leases. A desktop minute has a price, and you can see it before you spin.

See full pricing
OSStandardPro
Linux (XFCE / KDE)$0.004/min$0.016/min
Windows$0.009/min$0.036/min
macOS$0.012/min$0.048/min

Your fleet is one provision call away.

Open the console and spin a governed desktop in seconds — or talk to us about running your whole fleet on Rigs.

npx @l1fe/rigs-mcp — for the agents in the room