본문으로 건너뛰기
cccskills
무료GitHub에 공개

cua-sandboxes

Create disposable Linux or macOS computers for running code, testing apps, operating desktop interfaces, and browsing websites. Use isolated environments locally or in the Cua cloud, then delete them when the work is complete.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

원문원문 설명 보기

Create, use and clean up cua sandboxes (disposable Linux or macOS computers) locally or in the Cua cloud with the `cua` CLI or the cua SDK, and browse the web inside one. Use when a task needs an isolated machine to run code, test an app, drive a desktop GUI, browse or test a website, fill a web form, take a web page screenshot, or reproduce something without touching the user's own computer.

설치 방법 보기

이럴 때 유용합니다

  • Run code in an isolated environment
  • Test an app or reproduce an issue
  • Fill web forms and capture page screenshots
  • Create and clean up temporary test environments

포함된 파일(1)

  • SKILL.md5.7 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

cua sandboxes

A sandbox is a disposable computer: a container or VM on this machine or in the Cua cloud. The cua CLI and the cua SDK (Python, TypeScript, Swift, Kotlin, Rust) share one runtime and one list of sandboxes.

Before you start

cua --version            # the Rust cua CLI
cua auth status          # the cloud needs `cua auth login` (or CUA_CLIENT_ID/CUA_CLIENT_SECRET)
cua config get default.on   # where sandboxes run without --on (local unless changed)
cua runtime doctor       # local runtimes (containers, gVisor, QEMU, Lume); read-only

Local sandboxes need no account. Cloud sandboxes are metered: always delete them when done.

Create

cua sb create linux --name dev                 # local (default): a gVisor container
cua sb create linux --kind vm --name dev       # local Linux VM (QEMU)
cua sb create macos --name mac                 # local macOS VM (Apple silicon, Lume)
cua sb create linux --on cloud --name dev      # the Cua cloud
cua sb create ghcr.io/org/image:tag --name x   # any OCI image, local or --on cloud
cua sb create --on direct:127.0.0.1:3211 --token TOKEN --name mine   # an existing machine running cua-spacesd

--on is where (local, cloud, direct:<addr>), --kind what (auto, container, vm), --runtime which engine (auto; local gvisor, runc, qemu, lume; cloud gvisor, kubevirt). An impossible combination fails with invalid placement and lists the valid values. Local runtimes are set up on first use (cua runtime setup does it explicitly). Omit --name for a generated name. cua sb ls prints each sandbox's ref (local:dev, cloud:dev, direct:host:port); every NAME argument takes a ref or a bare name that is unique across locations (--local / --cloud narrow it). Add --json to any command for machine-readable output. exec, shell, cp, screenshots and GUI control go through cua-spacesd, so use an image that ships it (the linux alias does). Plain images still get lifecycle, logs and port-forward.

Use

cua sb ls                          # every location (--local or --cloud filters)
cua sb exec dev -- uname -a        # run a command
cua sb shell dev                   # interactive shell
cua sb screenshot dev              # save a screenshot
cua sb vnc dev                     # open the desktop in a browser

For GUI work, select the sandbox once and use cua do (see the gui-automation skill):

cua do switch dev
cua do screenshot
cua do click 400 300

Clean up

cua sb rm dev --force              # delete
cua fleet pools gc                 # remove idle auto-managed cloud capacity
cua sb suspend dev                 # or pause it and `cua sb resume dev` later

From code (Python)

import asyncio, cua

async def main():
    c = cua.embedded()
    sb = await c.sandboxes().create(cua.SandboxCreateOptions(
        on="local",
        image="ghcr.io/trycua/linux:24.04", name="dev"))
    env = await sb.spacesd(None)
    out = await env.run(cua.SpacesdCommand(program="uname", args=["-a"]))
    print(out.stdout.decode())
    await sb.delete()

asyncio.run(main())

The TypeScript, Swift and Kotlin bindings expose the same objects (Cua, sandboxes(), Sandbox.spacesd()).

From the cua MCP server

When the cua MCP server is connected, prefer its tools: images_list (which images exist), sandbox_list, sandbox_create, sandbox_get, sandbox_delete, then the computer_* tools (screenshot, click, type, shell, file) against the sandbox.

Browse the web

Browse inside a sandbox, never in the user's own browser. Everything below is cua MCP tool calls; no other browser tool or setup is needed.

  1. Pick an image: images_list {"browser": true} (the canonical ghcr.io/trycua/linux:24.04 ships Chromium).
  2. Create it with a browser: sandbox_create {"browser": true, "url": "https://example.com"} (add "on": "cloud" for the cloud). It returns id, session and browser.target_id / browser.tab_id.
  3. Drive the browser with call_tool {"space": <id>, "tool": <tool>, "arguments": {"session", "target_id", "tab_id", ...}}:
    • read: get_browser_state {"snapshot_format": "semantic_v2"} returns an outline and refs (p1:0); add "include_screenshot": true for an image;
    • browser_navigate {"url"}, browser_click {"ref", "delivery_mode": "foreground"}, browser_type {"ref", "text", "replace": true} (text "\n" with "mode": "keystrokes" presses Enter), browser_pointer (hover, scroll, drag);
    • read again after every page change: refs are per snapshot. To test a local app, run it in the sandbox (space_write, space_bash) and open http://127.0.0.1:<port>.
  4. Logged-in sites: only when the user asks. teleport_browser_session with the exact sites first returns what would move and a consent requirement; show it to the user and continue only after they approve. Never move a session without that approval.
  5. Clean up: sandbox_delete {"name": <id>}.

From a terminal: cua images ls --browser, cua sb create --browser --open https://example.com, cua sb view <id> to watch.

Rules

  • Never run destructive commands on the user's own machine when a sandbox would do.
  • Delete cloud sandboxes you created as soon as the task ends.
  • Report the sandbox name you used so the user can inspect or remove it.

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

Operate native apps on macOS, Windows, and Linux using identified controls, menu paths, or screen coordinates. Target a specific window, verify the result after each action, and consult available recent activity when resuming work.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Operate a specific app window
  • Click controls and enter text
  • Adjust window positions and sizes
trycua/cua3만2026년 10월 19일 업데이트

Work in a local or remote computer environment whose screen you can watch. Run commands, transfer files, launch coding agents, move signed-in app sessions, and share the host computer’s network when needed.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Run tasks in an isolated environment you can watch
  • Transfer files into and out of a Space
  • Launch and monitor coding agents
trycua/cua3만2026년 10월 19일 업데이트

Save agent memory and outputs in Cua Volume, shared storage that persists beyond a Space, the working environment. Hand files to the user, read shared references, and check synchronization, version history, and conflicting edits.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Keep outputs after a working environment ends
  • Save agent memory for later work
  • Deliver files to the user
trycua/cua3만2026년 10월 19일 업데이트

Operate apps and websites by inspecting screenshots, clicking controls, typing, and dragging. Use it to fill forms, check layouts, and test complete user flows, with recorded actions available for replay and review.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Fill forms and use file upload dialogs
  • Test buttons and complete user flows
  • Check layouts and capture screenshots
trycua/cua3만2026년 10월 19일 업데이트

jev-use

무료

Build a computer-control loop where Cua Driver observes and acts, while TypeSafe Jev chooses from predefined actions. Validate each choice, execute one action at a time, and verify the result before continuing.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Build a Jev integration for browser automation
  • Create action candidates for native desktop apps
  • Reject stale or unknown action choices
trycua/cua3만2026년 10월 19일 업데이트

Review open GitHub issues, proposals, and pull requests to identify useful maintainer work. Get ranked candidates with evidence, dependencies, and validation needs, then begin work only on an item you explicitly select.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Choose the next maintenance task
  • Prioritize a backlog for the available work window
  • Find pull requests that need review
trycua/cua3만2026년 10월 19일 업데이트

trycua의 스킬 모두 보기

이 스킬의 문제 신고