{"id":80031,"date":"2026-09-06T07:49:33","date_gmt":"2026-09-06T11:49:33","guid":{"rendered":"https:\/\/overcentral.com\/en\/?p=80031"},"modified":"2026-09-06T07:49:33","modified_gmt":"2026-09-06T11:49:33","slug":"cua-lite-uc-berkeley-platform-80031","status":"publish","type":"post","link":"https:\/\/overcentral.com\/en\/cua-lite-uc-berkeley-platform-80031\/","title":{"rendered":"UC Berkeley Releases CUA-Lite Open Platform for Computer-Use Agents"},"content":{"rendered":"<p>The landscape of computer-use agents (CUAs) has been fragmented for years: researchers developing agents, environments, training traces, and evaluation frameworks have each maintained separate repositories with incompatible interfaces. A team from UC Berkeley now aims to fix that with <strong>CUA-Lite<\/strong>, an open platform that unifies all four components under a single action space, one data schema, and one command-line workflow. The platform supports desktop, browser, and mobile environments, and its most practical contribution is a lightweight container\u2011based replacement <a href=\"https:\/\/overcentral.com\/en\/for-the-stars-space-exploration-game-78319\/\" title=\"For The Stars Reveals Vast Universe to Explore and Settle\" data-iacss-internal=\"1\">for the<\/a> notoriously heavy OSWorld virtual machine benchmark \u2014 one that runs on any Docker host without requiring nested virtualization.<\/p>\n<h2 id=\"h-cua-lite-unifies-the-computer-use-agent-stack\">CUA-Lite unifies the computer-use agent stack<\/h2>\n<p>Building and evaluating a CUA has required assembling agents, environments, traces, and a training framework \u2014 each with its own interface. CUA-Lite puts all four categories behind a common abstraction: <code>lite.gym<\/code>codecodecodecode for the interaction loop (screenshots down, actions up) and <code>LiteSample<\/code>codecodecodecode for the data schema. The same loop serves evaluation, supervised fine-tuning (SFT), and reinforcement learning (RL). The platform ships with 10+ built\u2011in agents (GPT, Claude, Gemini, Qwen3\u2011VL, UI\u2011TARS, Fara\u20117B, MAI\u2011UI, and others), 15+ integrated benchmarks across desktop (OSWorld, WindowsAgentArena, CUABench), browser (WebArena, VisualWebArena, MiniWoB, WebVoyager, Online\u2011Mind2Web, WebGym), and mobile (AndroidWorld, AndroidLab, MobileWorld, MobileGym). Swapping <code>--model-id<\/code>codecodecodecode and <code>--env-id<\/code>codecodecodecode in a single script is the entire interface.<\/p>\n<h2 id=\"h-the-vm-tax-how-lite-osworld-removes-it\">The VM tax: How Lite.OSWorld removes it<\/h2>\n<p>The most concrete contribution is <strong>Lite.OSWorld<\/strong>, a faithful reproduction of the OSWorld Ubuntu desktop benchmark that runs inside a plain Docker container instead of a full QEMU\/KVM virtual machine. The original OSWorld requires <code>\/dev\/kvm<\/code>codecodecodecode and nested virtualization \u2014 capabilities that most cloud instances, CI runners, and container orchestration systems do not expose. Lite.OSWorld strips that requirement while preserving the identical task suite and evaluators.<\/p>\n<h3 id=\"h-head-to-head-performance-vs-the-vm\">Head\u2011to\u2011head performance vs. the VM<\/h3>\n<p>The team published direct comparisons. A single OSWorld VM consumes 4.1 GB of memory per desktop; Lite.OSWorld uses 0.9 GB. Cold start time drops from 29.9 seconds to 23.8 seconds. Because the container is so much lighter, the same host can run roughly 4.6\u00d7 more parallel instances \u2014 a critical advantage for large\u2011scale training and evaluation. The fidelity concern is addressed directly: across 13 models, scores earned in the container match the OSWorld VM\u2019s scores, meaning any training signal or evaluation result transfers to the real benchmark.<\/p>\n<h2 id=\"h-one-schema-for-data-one-adapter-per-model\">One schema for data, one adapter per model<\/h2>\n<p>The data layer is <code>LiteSample<\/code>codecodecodecode, a single supervised\u2011learning schema that works across every environment, agent, and task type. It is shipped as plain Parquet files plus images. Ten or more existing CUA datasets have been preprocessed into this format and published free on <a href=\"https:\/\/overcentral.com\/en\/openai-hugging-face-hack-safety-culture-79257\/\" title=\"OpenAI Hugging Face hack reveals safety culture failures\" data-iacss-internal=\"1\">Hugging Face<\/a> under the <a href=\"https:\/\/huggingface.co\/cua-lite\" target=\"_blank\" rel=\"noopener\">cua-lite<\/a> collection, including Aguvis, OpenCUA, ScaleCUA, GUI-360, GUIOdyssey, and Multimodal-Mind2Web. Alongside those corpora, the team released fresh rollout datasets generated by running a frontier teacher model through the sandboxes \u2014 ready for distillation into smaller student models.<\/p>\n<p>Because different model families expect different scaffolding, CUA-Lite ships a per\u2011model adapter that packs a unified <code>LiteSample<\/code>codecodecodecode into each model\u2019s native training format. The adapter also handles history collapsing so that several steps can share a single forward pass, improving training efficiency.<\/p>\n<h2 id=\"h-eval-sft-and-rl-behind-one-command\">Eval, SFT, and RL behind one command<\/h2>\n<p>All three training paradigms are accessible from the same codebase. For SFT, the documented example fine\u2011tunes Qwen3\u2011VL\u20112B\u2011Instruct on Lite.ScaleCUA desktop trajectories. The published result: mean episode return on the 332\u2011task <code>lite.osworld<\/code>codecodecodecode eval split rises from 0.138 to 0.237 \u2014 a single configuration on two GPUs. For RL, rollouts scored in the environment drive GRPO updates on top of the Slime trainer, with a worked MobileGym example covering 416 mobile tasks across 28 apps.<\/p>\n<h2 id=\"h-interactive-explainer\">Interactive explainer<\/h2>\n<p><!-- CUA-Lite interactive explainer :: paste into a WordPress Custom HTML block --><\/p>\n<p><p>&lt;iframe class=&#8221;lazyload&#8221; id=&#8221;mtp-cualite-frame&#8221; title=&#8221;CUA-Lite interactive explainer&#8221; height=&#8221;600&#8243; scrolling=&#8221;no&#8221; loading=&#8221;lazy&#8221; srcdoc=&#8221;&lt;meta charset=&quot;utf-8&quot;&gt;&#010;&lt;style&gt;&#010;#cl-embed <em>{box-sizing:border-box;margin:0;padding:0}&#010;#cl-embed{&#010;  &#8211;bg:#faf4e8;&#8211;panel:#f2eadb;&#8211;panel2:#fefaf0;&#8211;edge:#e7ddc9;&#010;  &#8211;ink:#453d33;&#8211;muted:#6f665a;&#8211;dim:#a89e8c;&#8211;accent:#bd5a38;&#010;  &#8211;term:#16140e;&#8211;termtx:#ece6d4;&#8211;termac:#ef9d62;&#010;  font-family:&#8217;Urbanist&#8217;,-apple-system,system-ui,&#8217;Segoe UI&#8217;,sans-serif;&#010;  background:var(&#8211;bg);color:var(&#8211;ink);border:1px solid var(&#8211;edge);&#010;  border-radius:14px;overflow:hidden;max-width:920px;margin:0 auto;&#010;}&#010;#cl-embed .hd{padding:20px 22px 16px;border-bottom:1px solid var(&#8211;edge);background:var(&#8211;panel2)}&#010;#cl-embed .kick{font-size:11.5px;letter-spacing:.08em;color:var(&#8211;accent);font-weight:700}&#010;#cl-embed h3{font-family:&#8217;Fraunces&#8217;,Georgia,serif;font-size:23px;font-weight:600;line-height:1.22;margin:6px 0 5px}&#010;#cl-embed .sub{font-size:13.5px;color:var(&#8211;muted);line-height:1.5}&#010;#cl-embed .tabs{display:flex;flex-wrap:wrap;gap:6px;padding:12px 22px;background:var(&#8211;panel);border-bottom:1px solid var(&#8211;edge)}&#010;#cl-embed .tab{font:inherit;font-size:12.5px;font-weight:600;color:var(&#8211;muted);background:transparent;&#010;  border:1px solid var(&#8211;edge);border-radius:999px;padding:7px 13px;cursor:pointer;transition:.18s}&#010;#cl-embed .tab:hover{color:var(&#8211;ink);border-color:var(&#8211;dim)}&#010;#cl-embed .tab[aria-selected=&quot;true&quot;]{background:var(&#8211;accent);border-color:var(&#8211;accent);color:#fff}&#010;#cl-embed .tab:focus-visible{outline:2px solid var(&#8211;accent);outline-offset:2px}&#010;#cl-embed .stage{padding:22px;min-height:400px}&#010;#cl-embed .pane{display:none}&#010;#cl-embed .pane.on{display:block}&#010;#cl-embed .ptitle{font-family:&#8217;Fraunces&#8217;,Georgia,serif;font-size:17px;font-weight:600;margin-bottom:4px}&#010;#cl-embed .pnote{font-size:12.5px;color:var(&#8211;muted);line-height:1.55;margin-bottom:16px}&#010;#cl-embed .foot{font-size:11.5px;color:var(&#8211;dim);line-height:1.5;margin-top:14px;padding-top:12px;border-top:1px dashed var(&#8211;edge)}&#010;#cl-embed .btn{font:inherit;font-size:12px;font-weight:600;color:var(&#8211;accent);background:transparent;&#010;  border:1px solid var(&#8211;accent);border-radius:999px;padding:6px 14px;cursor:pointer;transition:.18s}&#010;#cl-embed .btn:hover{background:var(&#8211;accent);color:#fff}&#010;#cl-embed .btn:focus-visible{outline:2px solid var(&#8211;ink);outline-offset:2px}&#010;&#010;\/<\/em> &#8212;- pane 1 : unify &#8212;- <em>\/&#010;#cl-embed .flow{display:grid;grid-template-columns:1fr auto 1fr;gap:14px;align-items:center}&#010;#cl-embed .col{display:flex;flex-direction:column;gap:9px}&#010;#cl-embed .chip{background:var(&#8211;panel2);border:1px solid var(&#8211;edge);border-left:3px solid var(&#8211;dim);&#010;  border-radius:8px;padding:9px 11px;font-size:12.5px;line-height:1.35;&#010;  opacity:.35;transform:translateX(-26px);transition:transform .55s cubic-bezier(.33,0,.15,1),opacity .55s,border-left-color .55s}&#010;#cl-embed .chip b{display:block;font-size:13px;font-weight:700}&#010;#cl-embed .chip span{color:var(&#8211;muted);font-size:11.5px}&#010;#cl-embed .pane1.go .chip{opacity:1;transform:translateX(0);border-left-color:var(&#8211;accent)}&#010;#cl-embed .pane1.go .chip:nth-child(1){transition-delay:.05s}&#010;#cl-embed .pane1.go .chip:nth-child(2){transition-delay:.2s}&#010;#cl-embed .pane1.go .chip:nth-child(3){transition-delay:.35s}&#010;#cl-embed .pane1.go .chip:nth-child(4){transition-delay:.5s}&#010;#cl-embed .hub{background:var(&#8211;term);color:var(&#8211;termtx);border-radius:12px;padding:16px 14px;text-align:center;&#010;  min-width:132px;opacity:.4;transform:scale(.9);transition:opacity .5s .55s,transform .5s .55s}&#010;#cl-embed .pane1.go .hub{opacity:1;transform:scale(1)}&#010;#cl-embed .hub code{display:block;font-family:&#8217;Geist Mono&#8217;,ui-monospace,Menlo,monospace;font-size:13px;color:var(&#8211;termac);font-weight:700}&#010;#cl-embed .hub small{display:block;color:#a49c88;font-size:10.5px;margin-top:5px;line-height:1.4}&#010;#cl-embed .out{background:transparent;border:1px dashed var(&#8211;edge);border-left:3px solid var(&#8211;accent);&#010;  opacity:.3;transform:translateX(26px)}&#010;#cl-embed .pane1.go .out{opacity:1;transform:translateX(0)}&#010;#cl-embed .pane1.go .out:nth-child(1){transition-delay:.75s}&#010;#cl-embed .pane1.go .out:nth-child(2){transition-delay:.88s}&#010;#cl-embed .pane1.go .out:nth-child(3){transition-delay:1.01s}&#010;&#010;\/<\/em> &#8212;- pane 2 : sandbox &#8212;- <em>\/&#010;#cl-embed .slab{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:18px}&#010;#cl-embed .slab label{font-size:12.5px;font-weight:600}&#010;#cl-embed input[type=range]{flex:1;min-width:180px;accent-color:var(&#8211;accent)}&#010;#cl-embed .val{font-family:&#8217;Geist Mono&#8217;,ui-monospace,Menlo,monospace;font-size:13px;font-weight:700;color:var(&#8211;accent);min-width:74px;text-align:right}&#010;#cl-embed .row{margin-bottom:14px}&#010;#cl-embed .rlab{display:flex;justify-content:space-between;font-size:12.5px;margin-bottom:5px}&#010;#cl-embed .rlab b{font-weight:700}&#010;#cl-embed .rlab i{font-style:normal;color:var(&#8211;muted);font-size:11.5px}&#010;#cl-embed .rlab em{font-style:normal;font-family:&#8217;Geist Mono&#8217;,ui-monospace,Menlo,monospace;font-size:12.5px;font-weight:700;color:var(&#8211;accent);white-space:nowrap;padding-left:10px}&#010;#cl-embed .track{height:26px;background:var(&#8211;panel);border:1px solid var(&#8211;edge);border-radius:6px;overflow:hidden}&#010;#cl-embed .fill{height:100%;width:0;transition:width .7s cubic-bezier(.33,0,.15,1);display:flex;align-items:center;&#010;  justify-content:flex-end;padding-right:9px;font-family:&#8217;Geist Mono&#8217;,ui-monospace,Menlo,monospace;&#010;  font-size:11.5px;font-weight:700;color:#fff}&#010;#cl-embed .f-vm{background:#8a8073}&#010;#cl-embed .f-lite{background:var(&#8211;accent)}&#010;#cl-embed .grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin-top:16px}&#010;#cl-embed .stat{background:var(&#8211;panel2);border:1px solid var(&#8211;edge);border-radius:9px;padding:11px 12px}&#010;#cl-embed .stat b{display:block;font-family:&#8217;Geist Mono&#8217;,ui-monospace,Menlo,monospace;font-size:16px;color:var(&#8211;accent)}&#010;#cl-embed .stat span{font-size:11.5px;color:var(&#8211;muted);line-height:1.4;display:block;margin-top:3px}&#010;&#010;\/<\/em> &#8212;- pane 3 : loop &#8212;- <em>\/&#010;#cl-embed .loopwrap{background:var(&#8211;term);border-radius:12px;padding:16px}&#010;#cl-embed .loopwrap svg{width:100%;height:auto;display:block}&#010;#cl-embed .lbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:12px}&#010;#cl-embed .read{font-family:&#8217;Geist Mono&#8217;,ui-monospace,Menlo,monospace;font-size:12px;color:var(&#8211;muted)}&#010;#cl-embed .read u{text-decoration:none;color:var(&#8211;accent);font-weight:700}&#010;&#010;\/<\/em> &#8212;- pane 4 : train &#8212;- <em>\/&#010;#cl-embed .brand{padding:12px 22px;background:var(&#8211;term);color:#a49c88;font-size:11px;display:flex;&#010;  justify-content:space-between;gap:10px;flex-wrap:wrap}&#010;#cl-embed .brand b{color:var(&#8211;termac);font-weight:700}&#010;#cl-embed a{color:var(&#8211;accent);font-weight:600}&#010;@media (max-width:640px){&#010;  #cl-embed .stage{padding:16px}&#010;  #cl-embed .hd{padding:16px}&#010;  #cl-embed .tabs{padding:10px 16px}&#010;  #cl-embed h3{font-size:19px}&#010;  #cl-embed .flow{grid-template-columns:1fr;gap:10px}&#010;  #cl-embed .chip,#cl-embed .out{transform:translateY(14px)}&#010;  #cl-embed .pane1.go .chip,#cl-embed .pane1.go .out{transform:translateY(0)}&#010;  #cl-embed .brand{padding:12px 16px}&#010;}&#010;@media (prefers-reduced-motion:reduce){&#010;  #cl-embed <\/em>{transition-duration:.01ms !important}&#010;}&#010;&lt;\/style&gt;&#010;&#010;&lt;div id=&quot;cl-embed&quot;&gt;&#010;  &lt;div class=&quot;hd&quot;&gt;&#010;    &lt;div class=&quot;kick&quot;&gt;Interactive explainer&lt;\/div&gt;&#010;    <\/p>\n<h3>CUA-Lite: one interface, one data schema, one training loop<\/h3>\n<p>&#010;    &lt;div class=&quot;sub&quot;&gt;Four tabs, each built on numbers published by the CUA-Lite team. Click through, drag the slider, run the loop.&lt;\/div&gt;&#010;  &lt;\/div&gt;&#010;&#010;  &lt;div class=&quot;tabs&quot; role=&quot;tablist&quot;&gt;&#010;    &lt;button class=&quot;tab&quot; role=&quot;tab&quot; aria-selected=&quot;true&quot; data-p=&quot;1&quot;&gt;1 \u00b7 The unification&lt;\/button&gt;&#010;    &lt;button class=&quot;tab&quot; role=&quot;tab&quot; aria-selected=&quot;false&quot; data-p=&quot;2&quot;&gt;2 \u00b7 Dropping the VM&lt;\/button&gt;&#010;    &lt;button class=&quot;tab&quot; role=&quot;tab&quot; aria-selected=&quot;false&quot; data-p=&quot;3&quot;&gt;3 \u00b7 The rollout loop&lt;\/button&gt;&#010;    &lt;button class=&quot;tab&quot; role=&quot;tab&quot; aria-selected=&quot;false&quot; data-p=&quot;4&quot;&gt;4 \u00b7 What SFT buys&lt;\/button&gt;&#010;  &lt;\/div&gt;&#010;&#010;  &lt;div class=&quot;stage&quot;&gt;&#010;&#010;    &lt;!&#8211; PANE 1 &#8211;&gt;&#010;    &lt;div class=&quot;pane pane1 on&quot; data-pane=&quot;1&quot;&gt;&#010;      &lt;div class=&quot;ptitle&quot;&gt;Four fragmented pieces, one platform&lt;\/div&gt;&#010;      &lt;div class=&quot;pnote&quot;&gt;Agents, environments, traces and training frameworks each ship their own interface today. CUA-Lite routes all four through &lt;code&gt;lite.gym&lt;\/code&gt; and the &lt;code&gt;LiteSample&lt;\/code&gt; schema, then runs them on desktop, browser and mobile.&lt;\/div&gt;&#010;      &lt;div class=&quot;flow&quot;&gt;&#010;        &lt;div class=&quot;col&quot;&gt;&#010;          &lt;div class=&quot;chip&quot;&gt;&lt;b&gt;Agents&lt;\/b&gt;&lt;span&gt;GPT, Claude, Gemini, Qwen3-VL, UI-TARS, Fara, MAI-UI&lt;\/span&gt;&lt;\/div&gt;&#010;          &lt;div class=&quot;chip&quot;&gt;&lt;b&gt;Environments&lt;\/b&gt;&lt;span&gt;OSWorld, WebArena, AndroidWorld, MobileWorld&lt;\/span&gt;&lt;\/div&gt;&#010;          &lt;div class=&quot;chip&quot;&gt;&lt;b&gt;Traces&lt;\/b&gt;&lt;span&gt;Aguvis, OpenCUA, ScaleCUA, GUI-360, Mind2Web&lt;\/span&gt;&lt;\/div&gt;&#010;          &lt;div class=&quot;chip&quot;&gt;&lt;b&gt;Frameworks&lt;\/b&gt;&lt;span&gt;Eval scripts, SFT export, RL trainers&lt;\/span&gt;&lt;\/div&gt;&#010;        &lt;\/div&gt;&#010;        &lt;div class=&quot;hub&quot;&gt;&#010;          &lt;code&gt;lite.gym&lt;\/code&gt;&#010;          &lt;code&gt;LiteSample&lt;\/code&gt;&#010;          &lt;small&gt;Screenshots down,&lt;br&gt;actions up,&lt;br&gt;one action space&lt;br&gt;per platform&lt;\/small&gt;&#010;        &lt;\/div&gt;&#010;        &lt;div class=&quot;col&quot;&gt;&#010;          &lt;div class=&quot;chip out&quot;&gt;&lt;b&gt;Desktop&lt;\/b&gt;&lt;span&gt;Ubuntu apps, LibreOffice, VS Code, GIMP&lt;\/span&gt;&lt;\/div&gt;&#010;          &lt;div class=&quot;chip out&quot;&gt;&lt;b&gt;Browser&lt;\/b&gt;&lt;span&gt;Live and self-hosted web tasks&lt;\/span&gt;&lt;\/div&gt;&#010;          &lt;div class=&quot;chip out&quot;&gt;&lt;b&gt;Mobile&lt;\/b&gt;&lt;span&gt;Real and emulated <a href=\"https:\/\/www.android.com\/\" target=\"_blank\" rel=\"noopener noreferrer\" data-iacss-external=\"1\">Android<\/a> apps&lt;\/span&gt;&lt;\/div&gt;&#010;        &lt;\/div&gt;&#010;      &lt;\/div&gt;&#010;      &lt;div class=&quot;lbar&quot;&gt;&lt;button class=&quot;btn&quot; id=&quot;cl-replay&quot;&gt;Replay the flow&lt;\/button&gt;&lt;\/div&gt;&#010;      &lt;div class=&quot;foot&quot;&gt;Source: CUA-Lite project site and repository README, 2026.&lt;\/div&gt;&#010;    &lt;\/div&gt;&#010;&#010;    &lt;!&#8211; PANE 2 &#8211;&gt;&#010;    &lt;div class=&quot;pane&quot; data-pane=&quot;2&quot;&gt;&#010;      &lt;div class=&quot;ptitle&quot;&gt;How many desktops fit on one host&lt;\/div&gt;&#010;      &lt;div class=&quot;pnote&quot;&gt;OSWorld boots a QEMU\/KVM virtual machine per task and needs &lt;code&gt;\/dev\/kvm&lt;\/code&gt;. Lite.OSWorld runs the same tasks and the same evaluators on a GNOME desktop inside a plain Docker container. Drag to change host memory.&lt;\/div&gt;&#010;      &lt;div class=&quot;slab&quot;&gt;&#010;        &lt;label for=&quot;cl-ram&quot;&gt;Host memory&lt;\/label&gt;&#010;        &lt;input type=&quot;range&quot; id=&quot;cl-ram&quot; min=&quot;8&quot; max=&quot;512&quot; step=&quot;8&quot; value=&quot;64&quot;&gt;&#010;        &lt;div class=&quot;val&quot; id=&quot;cl-ramv&quot;&gt;64 GB&lt;\/div&gt;&#010;      &lt;\/div&gt;&#010;      &lt;div class=&quot;row&quot;&gt;&#010;        &lt;div class=&quot;rlab&quot;&gt;&lt;span&gt;&lt;b&gt;OSWorld&lt;\/b&gt; &lt;i&gt;4.1 GB per desktop, needs \/dev\/kvm&lt;\/i&gt;&lt;\/span&gt;&lt;em id=&quot;cl-c1&quot;&gt;0&lt;\/em&gt;&lt;\/div&gt;&#010;        &lt;div class=&quot;track&quot;&gt;&lt;div class=&quot;fill f-vm&quot; id=&quot;cl-b1&quot;&gt;&lt;\/div&gt;&lt;\/div&gt;&#010;      &lt;\/div&gt;&#010;      &lt;div class=&quot;row&quot;&gt;&#010;        &lt;div class=&quot;rlab&quot;&gt;&lt;span&gt;&lt;b&gt;Lite.OSWorld&lt;\/b&gt; &lt;i&gt;0.9 GB per desktop, any Docker host&lt;\/i&gt;&lt;\/span&gt;&lt;em id=&quot;cl-c2&quot;&gt;0&lt;\/em&gt;&lt;\/div&gt;&#010;        &lt;div class=&quot;track&quot;&gt;&lt;div class=&quot;fill f-lite&quot; id=&quot;cl-b2&quot;&gt;&lt;\/div&gt;&lt;\/div&gt;&#010;      &lt;\/div&gt;&#010;      &lt;div class=&quot;grid2&quot;&gt;&#010;        &lt;div class=&quot;stat&quot;&gt;&lt;b&gt;23.8 s&lt;\/b&gt;&lt;span&gt;Cold start, versus 29.9 s for the VM&lt;\/span&gt;&lt;\/div&gt;&#010;        &lt;div class=&quot;stat&quot;&gt;&lt;b&gt;~4.6\u00d7&lt;\/b&gt;&lt;span&gt;More parallel instances, as reported by the team&lt;\/span&gt;&lt;\/div&gt;&#010;        &lt;div class=&quot;stat&quot;&gt;&lt;b&gt;13 models&lt;\/b&gt;&lt;span&gt;Scores in the container match the VM&#8217;s&lt;\/span&gt;&lt;\/div&gt;&#010;      &lt;\/div&gt;&#010;      &lt;div class=&quot;foot&quot;&gt;Memory-bound estimate. Counts divide host memory by the published per-desktop footprint and ignore CPU, disk and host overhead. Figures from the CUA-Lite blog post &quot;VM-free OS(World), at scale&quot;, 23 July 2026.&lt;\/div&gt;&#010;    &lt;\/div&gt;&#010;&#010;    &lt;!&#8211; PANE 3 &#8211;&gt;&#010;    &lt;div class=&quot;pane&quot; data-pane=&quot;3&quot;&gt;&#010;      &lt;div class=&quot;ptitle&quot;&gt;What one rollout actually does&lt;\/div&gt;&#010;      &lt;div class=&quot;pnote&quot;&gt;Every task ships a verifiable reward. The same loop serves evaluation and reinforcement learning: score the rollout to rank an agent, or train on it to improve one.&lt;\/div&gt;&#010;      &lt;div class=&quot;loopwrap&quot;&gt;&#010;        &lt;svg viewBox=&quot;0 0 640 190&quot; role=&quot;img&quot; aria-label=&quot;Rollout loop diagram: environment, screenshot, agent, action, verifier&quot;&gt;&#010;          &lt;path id=&quot;cl-path&quot; d=&quot;M 122 100 L 600 100 L 600 150 L 8 150 L 8 100 L 122 100&quot; fill=&quot;none&quot; stroke=&quot;#322e22&quot; stroke-width=&quot;2&quot; stroke-dasharray=&quot;5 5&quot;\/&gt;&#010;          &lt;g font-family=&quot;ui-monospace,Menlo,monospace&quot; font-size=&quot;11&quot; fill=&quot;#ece6d4&quot; text-anchor=&quot;middle&quot;&gt;&#010;            &lt;rect x=&quot;18&quot; y=&quot;76&quot; width=&quot;104&quot; height=&quot;48&quot; rx=&quot;8&quot; fill=&quot;#1b1912&quot; stroke=&quot;#322e22&quot;\/&gt;&#010;            &lt;text x=&quot;70&quot; y=&quot;97&quot;&gt;Environment&lt;\/text&gt;&lt;text x=&quot;70&quot; y=&quot;112&quot; fill=&quot;#a49c88&quot;&gt;sandbox&lt;\/text&gt;&#010;            &lt;rect x=&quot;168&quot; y=&quot;76&quot; width=&quot;104&quot; height=&quot;48&quot; rx=&quot;8&quot; fill=&quot;#1b1912&quot; stroke=&quot;#322e22&quot;\/&gt;&#010;            &lt;text x=&quot;220&quot; y=&quot;97&quot;&gt;Screenshot&lt;\/text&gt;&lt;text x=&quot;220&quot; y=&quot;112&quot; fill=&quot;#a49c88&quot;&gt;observation&lt;\/text&gt;&#010;            &lt;rect x=&quot;318&quot; y=&quot;76&quot; width=&quot;104&quot; height=&quot;48&quot; rx=&quot;8&quot; fill=&quot;#1b1912&quot; stroke=&quot;#322e22&quot;\/&gt;&#010;            &lt;text x=&quot;370&quot; y=&quot;97&quot;&gt;Agent&lt;\/text&gt;&lt;text x=&quot;370&quot; y=&quot;112&quot; fill=&quot;#a49c88&quot;&gt;any model&lt;\/text&gt;&#010;            &lt;rect x=&quot;468&quot; y=&quot;76&quot; width=&quot;104&quot; height=&quot;48&quot; rx=&quot;8&quot; fill=&quot;#1b1912&quot; stroke=&quot;#322e22&quot;\/&gt;&#010;            &lt;text x=&quot;520&quot; y=&quot;97&quot;&gt;Action&lt;\/text&gt;&lt;text x=&quot;520&quot; y=&quot;112&quot; fill=&quot;#a49c88&quot;&gt;click, type, key&lt;\/text&gt;&#010;            &lt;text x=&quot;304&quot; y=&quot;172&quot; fill=&quot;#ef9d62&quot;&gt;verifier returns a reward, then SFT or GRPO uses it&lt;\/text&gt;&#010;          &lt;\/g&gt;&#010;          &lt;circle id=&quot;cl-dot&quot; cx=&quot;122&quot; cy=&quot;100&quot; r=&quot;7&quot; fill=&quot;#ef9d62&quot;\/&gt;&#010;        &lt;\/svg&gt;&#010;      &lt;\/div&gt;&#010;      &lt;div class=&quot;lbar&quot;&gt;&#010;        &lt;button class=&quot;btn&quot; id=&quot;cl-play&quot;&gt;Pause loop&lt;\/button&gt;&#010;        &lt;div class=&quot;read&quot;&gt;step &lt;u id=&quot;cl-step&quot;&gt;1&lt;\/u&gt;  \u00b7  reward &lt;u id=&quot;cl-rew&quot;&gt;pending&lt;\/u&gt;&lt;\/div&gt;&#010;      &lt;\/div&gt;&#010;      &lt;div class=&quot;foot&quot;&gt;Illustrative animation of the documented loop, not a live agent run. Step and reward values are for demonstration.&lt;\/div&gt;&#010;    &lt;\/div&gt;&#010;&#010;    &lt;!&#8211; PANE 4 &#8211;&gt;&#010;    &lt;div class=&quot;pane&quot; data-pane=&quot;4&quot;&gt;&#010;      &lt;div class=&quot;ptitle&quot;&gt;A small open model, fine-tuned on distilled traces&lt;\/div&gt;&#010;      &lt;div class=&quot;pnote&quot;&gt;The repository reports fine-tuning Qwen3-VL-2B-Instruct on Lite.ScaleCUA desktop trajectories rolled out by a frontier teacher model, then evaluating on the Lite.OSWorld split.&lt;\/div&gt;&#010;      &lt;div class=&quot;row&quot;&gt;&#010;        &lt;div class=&quot;rlab&quot;&gt;&lt;span&gt;&lt;b&gt;Qwen3-VL-2B-Instruct, base&lt;\/b&gt;&lt;\/span&gt;&lt;em&gt;0.138&lt;\/em&gt;&lt;\/div&gt;&#010;        &lt;div class=&quot;track&quot;&gt;&lt;div class=&quot;fill f-vm&quot; id=&quot;cl-t1&quot;&gt;&lt;\/div&gt;&lt;\/div&gt;&#010;      &lt;\/div&gt;&#010;      &lt;div class=&quot;row&quot;&gt;&#010;        &lt;div class=&quot;rlab&quot;&gt;&lt;span&gt;&lt;b&gt;After SFT on Lite.ScaleCUA&lt;\/b&gt;&lt;\/span&gt;&lt;em&gt;0.237&lt;\/em&gt;&lt;\/div&gt;&#010;        &lt;div class=&quot;track&quot;&gt;&lt;div class=&quot;fill f-lite&quot; id=&quot;cl-t2&quot;&gt;&lt;\/div&gt;&lt;\/div&gt;&#010;      &lt;\/div&gt;&#010;      &lt;div class=&quot;grid2&quot;&gt;&#010;        &lt;div class=&quot;stat&quot;&gt;&lt;b&gt;332&lt;\/b&gt;&lt;span&gt;Valid tasks in the Lite.OSWorld eval split used&lt;\/span&gt;&lt;\/div&gt;&#010;        &lt;div class=&quot;stat&quot;&gt;&lt;b&gt;2 GPUs&lt;\/b&gt;&lt;span&gt;The documented SFT example configuration&lt;\/span&gt;&lt;\/div&gt;&#010;        &lt;div class=&quot;stat&quot;&gt;&lt;b&gt;GRPO&lt;\/b&gt;&lt;span&gt;RL path, run on top of the Slime trainer&lt;\/span&gt;&lt;\/div&gt;&#010;      &lt;\/div&gt;&#010;      &lt;div class=&quot;lbar&quot;&gt;&lt;button class=&quot;btn&quot; id=&quot;cl-anim4&quot;&gt;Replay comparison&lt;\/button&gt;&lt;\/div&gt;&#010;      &lt;div class=&quot;foot&quot;&gt;Single reported configuration from the CUA-Lite README, not an independently reproduced benchmark. Bars are scaled to a 0.30 maximum.&lt;\/div&gt;&#010;    &lt;\/div&gt;&#010;&#010;  &lt;\/div&gt;&#010;&#010;  &lt;div class=&quot;brand&quot;&gt;&#010;    &lt;span&gt;CUA-Lite is an open platform for computer-use agents from a UC Berkeley led team.&lt;\/span&gt;&#010;  &lt;\/div&gt;&#010;&lt;\/div&gt;&#010;&#010;&lt;script&gt;&#010;(function(){&#010;  var root=document.getElementById(&#8216;cl-embed&#8217;);&#010;  var tabs=root.querySelectorAll(&#8216;.tab&#8217;);&#010;  var panes=root.querySelectorAll(&#8216;.pane&#8217;);&#010;  var reduce=window.matchMedia&amp;&amp;window.matchMedia(&#8216;(prefers-reduced-motion: reduce)&#8217;).matches;&#010;&#010;  function ping(){&#010;    try{parent.postMessage({cl:&#8217;cua-lite-embed&#8217;,height:document.body.offsetHeight+40},&#8217;<em>&#8216;);}catch(e){}&#010;  }&#010;&#010;  function pane1(){&#010;    var p=root.querySelector(&#8216;.pane1&#8217;);&#010;    p.classList.remove(&#8216;go&#8217;);&#010;    void p.offsetWidth;&#010;    p.classList.add(&#8216;go&#8217;);&#010;  }&#010;  function pane2(){&#010;    var ram=parseInt(document.getElementById(&#8216;cl-ram&#8217;).value,10);&#010;    var vm=Math.floor(ram\/4.1), lt=Math.floor(ram\/0.9);&#010;    var max=Math.max(lt,1);&#010;    document.getElementById(&#8216;cl-ramv&#8217;).textContent=ram+&#8217; GB&#8217;;&#010;    var b1=document.getElementById(&#8216;cl-b1&#8217;), b2=document.getElementById(&#8216;cl-b2&#8217;);&#010;    b1.style.width=(vm\/max<\/em>100)+&#8217;%&#8217;;&#010;    b2.style.width=&quot;+(lt\/max*100)+&quot;%&#8217;;&#010;    document.getElementById(&#8216;cl-c1&#8242;).textContent=vm+&#8217; desktops&#8217;;&#010;    document.getElementById(&#8216;cl-c2&#8242;).textContent=lt+&#8217; desktops&#8217;;&#010;  }&#010;  function pane4(){&#010;    var t1=document.getElementById(&#8216;cl-t1&#8217;), t2=document.getElementById(&#8216;cl-t2&#8217;);&#010;    t1.style.width=&quot;0&quot;; t2.style.width=&quot;0&quot;;&#010;    setTimeout(function(){ t1.style.width=&quot;46%&quot;; t2.style.width=&quot;79%&quot;; },200);&#010;  }&#010;&#010;  tabs.forEach(function(t){&#010;    t.addEventListener(&#8216;click&#8217;,function(){&#010;      var n=t.getAttribute(&#8216;data-p&#8217;);&#010;      tabs.forEach(function(tt){ tt.setAttribute(&#8216;aria-selected&#8217;,&#8217;false&#8217;); });&#010;      t.setAttribute(&#8216;aria-selected&#8217;,&#8217;true&#8217;);&#010;      panes.forEach(function(p){ p.classList.remove(&#8216;on&#8217;); });&#010;      root.querySelector(&#8216;.pane[data-pane=&quot;&#8217;+n+&#8217;&quot;]&#8217;).classList.add(&#8216;on&#8217;);&#010;      if(n===&#8217;1&#8242;) setTimeout(pane1,100);&#010;      if(n===&#8217;2&#8242;) setTimeout(pane2,100);&#010;      if(n===&#8217;4&#8242;) setTimeout(pane4,100);&#010;      setTimeout(ping,300);&#010;    });&#010;  });&#010;&#010;  document.getElementById(&#8216;cl-ram&#8217;).addEventListener(&#8216;input&#8217;,pane2);&#010;  document.getElementById(&#8216;cl-replay&#8217;).addEventListener(&#8216;click&#8217;,pane1);&#010;  document.getElementById(&#8216;cl-anim4&#8217;).addEventListener(&#8216;click&#8217;,pane4);&#010;&#010;  pane1(); pane2(); pane4();&#010;  window.addEventListener(&#8216;load&#8217;,ping);&#010;  window.addEventListener(&#8216;resize&#8217;,ping);&#010;  setTimeout(ping,300); setTimeout(ping,1200);&#010;})();&#8221;&gt;<\/p>\n<\/p>\n<p>The interactive widget above lets you explore the four key layers of CUA-Lite: the unification of agents, environments, traces, and frameworks; the sandbox efficiency of Lite.OSWorld; the rollout loop that serves both evaluation and RL; and a concrete SFT result on a small open model.<\/p>\n<p>The platform claims 30k+ verifiable tasks across its suite, with sandboxes that extend beyond Lite.OSWorld to include Lite.ScaleCUA, Lite.CUAGym, and Lite.CUAWorld \u2014 the last covering roughly 40 real applications such as <a href=\"https:\/\/www.blender.org\/\" target=\"_blank\" rel=\"noopener noreferrer\" data-iacss-external=\"1\">Blender<\/a>, QGIS, and VS Code. The stack installs with a single command \u2014 <code>uv sync --all-extras<\/code>codecodecodecode on Python 3.12 \u2014 and its lightweight sandboxes run on any Docker host, including cloud instances, CI runners, and nested containers, because they do not require <code>\/dev\/kvm<\/code>codecodecodecode.<\/p>\n<p>A practical note: the repository has not yet shipped an explicit open\u2011source license. Anyone planning commercial use should verify the licensing terms before adopting the platform. That caveat aside, CUA-Lite represents a serious infrastructural step forward for the computer\u2011use agent community \u2014 a unified, VM\u2011free, deploy\u2011anywhere ecosystem that lowers the barrier to reproducible research and training at scale.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The landscape of computer-use agents (CUAs) has been fragmented for years: researchers developing agents, environments, training traces, and evaluation frameworks have each maintained separate repositories with incompatible interfaces. A team from UC Berkeley now aims to fix that with CUA-Lite, an open platform that unifies all four components under a single action space, one data [&hellip;]<\/p>\n","protected":false},"author":7,"featured_media":82982,"comment_status":"closed","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"fifu_image_url":"https:\/\/cards.overcentral.com\/cards\/en\/80031.png","fifu_image_alt":"UC Berkeley Releases CUA-Lite Open Platform for Computer-Use Agents","footnotes":""},"categories":[31],"tags":[],"class_list":["post-80031","post","type-post","status-publish","format-standard","has-post-thumbnail","category-technology"],"fifu_image_url":"https:\/\/cards.overcentral.com\/cards\/en\/80031.png","fifu_image_alt":"UC Berkeley Releases CUA-Lite Open Platform for Computer-Use Agents","_links":{"self":[{"href":"https:\/\/overcentral.com\/en\/wp-json\/wp\/v2\/posts\/80031","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/overcentral.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/overcentral.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/overcentral.com\/en\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/overcentral.com\/en\/wp-json\/wp\/v2\/comments?post=80031"}],"version-history":[{"count":0,"href":"https:\/\/overcentral.com\/en\/wp-json\/wp\/v2\/posts\/80031\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/overcentral.com\/en\/wp-json\/wp\/v2\/media\/82982"}],"wp:attachment":[{"href":"https:\/\/overcentral.com\/en\/wp-json\/wp\/v2\/media?parent=80031"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/overcentral.com\/en\/wp-json\/wp\/v2\/categories?post=80031"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/overcentral.com\/en\/wp-json\/wp\/v2\/tags?post=80031"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}