Infrastructure for computer-use RL: hundreds of isolated desktops per server, each one forkable, resettable and verifiable.
Website · Docs · Benchmarks · Console · PyPI
Training a computer-use agent means running the same desktop task thousands of times. Drums runs many isolated desktops on one Linux host by sharing one running operating system and its applications while keeping each desktop's mutable state separate. A desktop restores from a template in seconds, forks at any point, resets in well under a second, and reports a verified reward at the end of a rollout.
| Repository | What it is | Language |
|---|---|---|
| drumsd | The host daemon: desktops, templates, fork, reset, the HTTP API and the installer | Rust, Python |
| drums-python-sdk | pip install drums-sdk: Python client and the drums mcp server for agent frameworks |
Python |
| drums-verifiers | Environments for verifiers and prime-rl: OSWorld tasks, a seeded task factory, audited rewards | Python |
| drums-criu | Our fork of CRIU with the template server and restore-fidelity patches drumsd depends on | C |
Hosted, no server needed. Create an API key at console.drums.run, then:
pip install drums-sdk
export DRUMS_URL=https://beta.drums.run/gw
export DRUMS_TOKEN=drums_sk_...import drums
with drums.connect() as client:
with client.create(task="e0df059f", ttl=900) as env: # an OSWorld task; ttl in seconds
env.wait_valid()
env.step("pyautogui.click(960, 540)")
reward = env.verify(strict=False)
print("score", reward.score, "valid", reward.valid)Agent frameworks that speak MCP get the same desktops from drums mcp; see the
MCP guide.
Self-hosted: the drumsd install guide takes a fresh Ubuntu 24.04 host to a running Drums server.
Apache-2.0 for Drums code. drums-criu stays GPL-2.0 like upstream CRIU. Security reports go through each repository's private vulnerability reporting, see its SECURITY.md.