1!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._posthogChunkIds=e._posthogChunkIds||{},e._posthogChunkIds[n]="01a102ca-23d0-7990-8a56-55ef37447773")}catch(e){}}();import{j as e}from"./jsx-runtime-u17CrQMm.js";import{u as t}from"./index-DPhldNWm.js";import"./chunk-4N6VE7H7-DExpvS7J.js";const c={title:"Quickstart",description:"Run a Cua Bench registry taskset on a local desktop sandbox with one command, read the results, then run it with an agent."};function n(s){const a={a:"a",code:"code",figure:"figure",h2:"h2",li:"li",p:"p",pre:"pre",span:"span",ul:"ul",...t(),...s.components};return e.jsxs(e.Fragment,{children:[e.jsxs(a.p,{children:["Pick a taskset from the ",e.jsx(a.a,{href:"https://cua.ai/cuabench/registry",children:"Cua Bench registry"}),`, 2run it on a local desktop sandbox, and read the score. No API key until the 3agent step.`]}),` 4`,e.jsx(a.h2,{id:"prerequisites",children:"Prerequisites"}),` 5`,e.jsxs(a.ul,{children:[` 6`,e.jsxs(a.li,{children:["Python 3.12 or 3.13 and ",e.jsx(a.a,{href:"https://docs.astral.sh/uv/",children:"uv"}),"."]}),` 7`,e.jsxs(a.li,{children:[`A local container runtime (Docker; gVisor when installed): check with 8`,e.jsx(a.code,{children:"cua runtime doctor"}),"."]}),` 9`]}),` 10`,e.jsx(a.h2,{id:"install",children:"Install"}),` 11`,e.jsx(a.figure,{"data-rehype-pretty-code-figure":"",children:e.jsx(a.pre,{tabIndex:"0","data-language":"bash","data-theme":"github-dark-default",children:e.jsx(a.code,{"data-language":"bash","data-theme":"github-dark-default",style:{display:"grid"},children:e.jsx(a.span,{dangerouslySetInnerHTML:{__html:'<span data-line=""><span style="color:#FFA657">uv</span><span style="color:#A5D6FF"> tool</span><span style="color:#A5D6FF"> install</span><span style="color:#A5D6FF"> cua-bench</span></span>'}})})})}),` 12`,e.jsx(a.h2,{id:"run-a-registry-taskset",children:"Run a registry taskset"}),` 13`,e.jsxs(a.p,{children:["List the tasksets, then run one task of ",e.jsx(a.code,{children:"cua-bench-basic"}),` with its built-in 14oracle:`]}),` 15`,e.jsx(a.figure,{"data-rehype-pretty-code-figure":"",children:e.jsx(a.pre,{tabIndex:"0","data-language":"bash","data-theme":"github-dark-default",children:e.jsx(a.code,{"data-language":"bash","data-theme":"github-dark-default",style:{display:"grid"},children:e.jsx(a.span,{dangerouslySetInnerHTML:{__html:`<span data-line=""><span style="color:#FFA657">cb</span><span style="color:#A5D6FF"> dataset</span><span style="color:#A5D6FF"> list</span></span> 16<span data-line=""><span style="color:#FFA657">cb</span><span style="color:#A5D6FF"> run</span><span style="color:#A5D6FF"> cua-bench-basic</span><span style="color:#79C0FF"> --task-filter</span><span style="color:#A5D6FF"> click-button</span><span style="color:#79C0FF"> --max-variants</span><span style="color:#79C0FF"> 1</span></span>`}})})})}),` 17`,e.jsxs(a.p,{children:[e.jsx(a.code,{children:"cb"}),` fetches the taskset at its pinned version, starts a Linux desktop 18sandbox, opens the task's app as a window on it, runs the oracle, scores the 19result (`,e.jsx(a.code,{children:"reward=1"}),`) and releases the sandbox. A failing oracle means the task 20or your setup is broken, not the agent.`]}),` 21`,e.jsx(a.h2,{id:"read-the-results",children:"Read the results"}),` 22`,e.jsx(a.figure,{"data-rehype-pretty-code-figure":"",children:e.jsx(a.pre,{tabIndex:"0","data-language":"bash","data-theme":"github-dark-default",children:e.jsx(a.code,{"data-language":"bash","data-theme":"github-dark-default",style:{display:"grid"},children:e.jsx(a.span,{dangerouslySetInnerHTML:{__html:`<span data-line=""><span style="color:#FFA657">cb</span><span style="color:#A5D6FF"> run</span><span style="color:#A5D6FF"> list</span></span> 23<span data-line=""><span style="color:#FFA657">cb</span><span style="color:#A5D6FF"> run</span><span style="color:#A5D6FF"> info</span><span style="color:#FF7B72"> <</span><span style="color:#A5D6FF">run-i</span><span style="color:#E6EDF3">d</span><span style="color:#FF7B72">></span></span>`}})})})}),` 24`,e.jsxs(a.p,{children:["Each variant's ",e.jsx(a.code,{children:"result.json"}),", ",e.jsx(a.code,{children:"run.log"})," and ",e.jsx(a.code,{children:"trajectory.json"}),` land in 25`,e.jsx(a.code,{children:"~/.local/share/cua-bench/runs/<run-id>/"}),", next to a ",e.jsx(a.code,{children:"summary.json"}),"."]}),` 26`,e.jsx(a.h2,{id:"run-it-with-an-agent",children:"Run it with an agent"}),` 27`,e.jsx(a.figure,{"data-rehype-pretty-code-figure":"",children:e.jsx(a.pre,{tabIndex:"0","data-language":"bash","data-theme":"github-dark-default",children:e.jsx(a.code,{"data-language":"bash","data-theme":"github-dark-default",style:{display:"grid"},children:e.jsx(a.span,{dangerouslySetInnerHTML:{__html:'<span data-line=""><span style="color:#FFA657">cb</span><span style="color:#A5D6FF"> run</span><span style="color:#A5D6FF"> cua-bench-basic</span><span style="color:#79C0FF"> --agent</span><span style="color:#A5D6FF"> cua-agent</span><span style="color:#79C0FF"> --model</span><span style="color:#A5D6FF"> anthropic/claude-sonnet-4-20250514</span><span style="color:#79C0FF"> -j</span><span style="color:#79C0FF"> 4</span></span>'}})})})}),` 28`,e.jsxs(a.p,{children:["It runs every task on this machine (",e.jsx(a.code,{children:"--on local"})," is the default)."]}),` 29`,e.jsx(a.h2,{id:"try-a-task-yourself",children:"Try a task yourself"}),` 30`,e.jsxs(a.p,{children:[e.jsx(a.code,{children:"cb interact"}
30),` sets up a task on a desktop you can see, waits while you solve 31it, then evaluates it and releases the sandbox:`]}),` 32`,e.jsx(a.figure,{"data-rehype-pretty-code-figure":"",children:e.jsx(a.pre,{tabIndex:"0","data-language":"bash","data-theme":"github-dark-default",children:e.jsx(a.code,{"data-language":"bash","data-theme":"github-dark-default",style:{display:"grid"},children:e.jsx(a.span,{dangerouslySetInnerHTML:{__html:'<span data-line=""><span style="color:#FFA657">cb</span><span style="color:#A5D6FF"> interact</span><span style="color:#A5D6FF"> click-button</span><span style="color:#79C0FF"> --dataset</span><span style="color:#A5D6FF"> cua-bench-basic</span></span>'}})})})}),` 33`,e.jsx(a.h2,{id:"clean-up",children:"Clean up"}),` 34`,e.jsxs(a.p,{children:["Run results stay in ",e.jsx(a.code,{children:"~/.local/share/cua-bench/runs"}),` (a warning past 10 GiB, 35`,e.jsx(a.code,{children:"CUA_BENCH_WARN_SIZE"}),"). Keep fewer with ",e.jsx(a.code,{children:"--keep-runs N"}),", ",e.jsx(a.code,{children:"--max-age DAYS"}),` or 36`,e.jsx(a.code,{children:"--max-results-size SIZE"})," on ",e.jsx(a.code,{children:"cb run"}),", or:"]}),` 37`,e.jsx(a.figure,{"data-rehype-pretty-code-figure":"",children:e.jsx(a.pre,{tabIndex:"0","data-language":"bash","data-theme":"github-dark-default",children:e.jsx(a.code,{"data-language":"bash","data-theme":"github-dark-default",style:{display:"grid"},children:e.jsx(a.span,{dangerouslySetInnerHTML:{__html:'<span data-line=""><span style="color:#FFA657">cb</span><span style="color:#A5D6FF"> prune</span><span style="color:#79C0FF"> --runs</span><span style="color:#79C0FF"> --keep</span><span style="color:#79C0FF"> 10</span></span>'}})})})}),` 38`,e.jsx(a.h2,{id:"next",children:"Next"}),` 39`,e.jsxs(a.ul,{children:[` 40`,e.jsxs(a.li,{children:[e.jsx(a.a,{href:"/cua-bench/guides/benchmarks",children:"Run a benchmark"}),`: every registry taskset, 41selection, versions and pass@k.`]}),` 42`,e.jsxs(a.li,{children:[e.jsx(a.a,{href:"/cua-bench/guides/write-a-task",children:"Write a task"}),": make your own."]}),` 43`,e.jsxs(a.li,{children:[e.jsx(a.a,{href:"/cua-bench/guides/adapter-benchmarks",children:"Adapter benchmarks"}),`: 44OSWorld-Verified and other adapters.`]}),` 45`]})]})}function o(s={}){const{wrapper:a}={...t(),...s.components};return a?e.jsx(a,{...s,children:e.jsx(n,{...s})}):n(s)}export{o as default,c as frontmatter}; 46//# sourceMappingURL=quickstart-DeCUfcar.js.map 47 48//# chunkId=01a102ca-23d0-7990-8a56-55ef37447773
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.