COMPUTER-USE SANDBOX

A computer-use sandbox for vision agents.

Spin up a real Linux desktop in a disposable microVM, publish the VNC port, and get a live preview URL your agent can watch and control. Screenshot, click, type — then throw it away.

Full Linux desktop streamed over VNC · disposable microVM · $5 free, no card

desktop template → VNC preview URL
$ pip install pilldrops
Successfully installed pilldrops-1.4.0

$ python -c "
from pilldrops import Sandbox
with Sandbox.create(template='desktop', ports=[5900]) as sb:
    print(sb.url)"
https://5900-sb-9f2c1a.pilldrops.app
✓ Linux desktop live over VNC · disposable microVM
Linux
full desktop
VNC
live preview URL
microVM
disposable
per-sec
billing
$5
free credits
[01] — A real Linux desktop / not a headless shim

A whole desktop, streamed to you.

The desktop template boots a full Linux graphical environment inside an isolated sandbox. Publish the VNC port and you get a preview URL you can open in a browser or feed to a vision model.

⬢

Full Linux desktop

A real graphical session — window manager, cursor, keyboard — running in the sandbox, not a fake DOM. Launch it with template="desktop".

◉

Watch it live over VNC

Publish port 5900 and sb.url returns a preview URL. Open it to watch your agent move the mouse and type in real time.

▤

Real software

Run an actual browser, file manager, and text editors inside the desktop — the same apps a human operator would drive.

⌦

Disposable

Each desktop is a throwaway microVM. Kill it when the task ends and every trace goes with it — no cleanup, no shared state.

[02] — Drive it from your agent loop / screenshot → decide → act

Close the perceive-act loop.

The pattern is simple: capture the screen, let your model decide, then send a click or keystroke back into the desktop. Below is the shape — the full loop, including how to wire screenshots into a vision model, lives in the guide.

agent_loop.py
from pilldrops import Sandbox

with Sandbox.create(template="desktop", ports=[5900]) as sb:
    print(sb.url)                        # watch the desktop live over VNC

    # 1. perceive — grab the current screen
    sb.run("scrot /tmp/screen.png")
    img = sb.read("/tmp/screen.png")   # feed to your vision model

    # 2. decide — your model returns an action (click/type)
    # action = model.decide(img)  -> {"x": 420, "y": 300}

    # 3. act — send the input back into the desktop
    sb.run("xdotool mousemove 420 300 click 1")
    sb.run("xdotool type 'hello from the agent'")

Wiring screenshots into a model, handling coordinates, and running the loop to completion is covered end to end in the computer-use guide.

desktop templateVNC previewxdotoolscrotvision agents
[03] — Full walkthrough / the complete computer-use loop

Read the computer-use guide.

The guide walks the entire flow — launching the desktop template, opening the VNC preview, feeding screenshots to a Claude computer-use style model, and sending clicks and keystrokes back — with code you can run on $5 of free credits.

GUIDE

Computer-use agents on a real desktop

Step-by-step: create the desktop sandbox, get the preview URL, capture the screen, and drive the mouse and keyboard from your agent — the honest, working loop end to end.

with Sandbox.create(template="desktop", ports=[5900]) as sb:
    print(sb.url)
computer useVNCLinux desktop
Read the computer-use guide →
CLI

Launch from the terminal

Prefer the CLI? Create the same desktop sandbox with the VNC port published in one command, then grab the preview URL from the output.

$ pilldrops sandbox create \
    --template desktop --port 5900
desktop--port 5900
CLI reference →
SPIN UP A DESKTOP

Give your agent a screen to see.

A real Linux desktop over VNC, billed per second, disposable when the task ends. Launch one on $5 of free credits — no card — and follow the computer-use guide for the full loop.