Computer-use agents made simple

Any agent, on
any computer.

All a computer-use agent needs — open to share, simple to run:

  • Sandboxes — efficient environments with 30k+ verifiable tasks to train and benchmark CUAs at scale.
  • Data — 10+ SFT datasets plus fresh rollouts from frontier CUAs, in one unified format, free on Hugging Face.
  • Eval, SFT, and RL any agent across desktop, browser, and mobile.
  • 10+ datasets
  • 10+ agents
  • 15+ benchmarks
results.ods — LibreOffice Calc
B6ƒₓ
AB 1BenchmarkScore 2OSWorld38 3WebArena43 4AndroidWorld51 5MobileWorld44 6Average
9:41
ZHZisZZ
Today 9:41
what's cua-lite? 🤔
open data + a framework for computer-use agents
works on phones too?
iMessage
$ rollout.py --platform desktop --instruction "average the scores"

01 · Sandboxes

Efficient sandboxes, any task.

KVM-free sandboxes pack many per machine and roll out in parallel. Every task ships a verifiable reward, ready to train and benchmark any agent at scale.

Looping rollout trajectories — click a tile for the full rollout.

Lite.* environments ↗  ·  How it works ↗

02 · Data

One schema, any dataset.

Each sample is supervised data — screenshots paired with the actions to take, one step or a whole trajectory. Every dataset ships as LiteSample — plain parquet + images, ready to SFT. The platform fills from two sources:

Have CUA data? Convert it to LiteSample and share it ↗

huggingface.co/datasets/cua-lite/ open ↗

03 · Eval

One command, any benchmark.

A unified action space per platform.
Eval any agent on any benchmark:

evaluate.sh
$ python scripts/rollout.py \
--model-id \
--env-id \
--splits eval \
--config-path scripts/configs//default/.yaml
Leaderboard OSWorld README ↗

04 · Train

SFT & RL, any open agent.

SFT on the corpora, then reinforce in the envs — GRPO and beyond, on Slime.
Train any open agent on any data and any env:

The same schema, adapted to each model — pick a dataset and a student:

Dataset:
Model:
run_sft.sh
# --- host ---
# 1 · download the corpus
$ python -m lite.data.hf.download \
--out .data/hf/cua-lite/

# 2 · export a model-ready SFT parquet
$ python -m lite.train.export.export_sft \
--model-id \
--config scripts/configs//recipes/sft/default.yaml \
--data-paths .data/hf/cua-lite/ \
--image-root .data/hf \
-o .data/sft//.parquet

# --- Slime container (see docs/slime.md) ---
# 3 · supervised fine-tune
$ MODEL_ID= \
PROMPT_DATA=.data/sft//.parquet \
bash scripts/train/run_sft.sh

Rollouts scored in the env drive GRPO updates — pick a model and env:

run_grpo.sh
$ MODEL_ID= \
ENV_ID= \
CONFIG_PATH=scripts/configs//default/.yaml \
bash scripts/train/run_grpo.sh

Any agent, on any computer.

Cite this work

CUA-Lite: Computer-Use Agents Made Simple

Zhanhui Zhou, Weichen Zhang, Haoran Liu, Lingjie Chen, Tianneng Shi,
Kevin Lin, Zhengyuan Yang, Lijuan Wang, and Dawn Song

2026 · BibTeX ↗