Files
computer/README.md
Francesco Bonacci 174ae253ba feat: auto-generated SDK docs, Python CLI, and docs improvements (#1040)
* feat: auto-generated SDK docs, Python CLI, and docs improvements

- Add auto-generated SDK reference pages (computer-sdk, agent-sdk) with version selector
- Add Python CLI package (cua-cli) with auth, sandbox, image, MCP commands
- Deprecate TypeScript CLI in favor of Python CLI
- Add versioned docs (agent-sdk v0.3-v0.7, computer-sdk v0.3-v0.5)
- Rename cloud-cli to cli in docs
- Add mobile header fix with sidebar toggle
- Restructure guide pages (quickstart, self-hosted-sandboxes)
- Add redirects for old /api URLs
- Update workflows, lume docs, cuabench docs, desktop sandbox docs

* refactor: auto-generate CLI index page like computer/agent SDKs

Change CLI docs to use the same auto-generated index.mdx pattern as
computer-sdk and agent-sdk. Removes hand-written index page that could
become stale, and deletes the separate api.mdx.

* fix: rename "Cua Bench API Reference" to "API Reference" in menu

* fix: update lume examples to macos-tahoe-vanilla and shorten page titles

- Replace macos-sequoia-vanilla:latest with macos-tahoe-vanilla:latest
  in lume docs and generator
- Rename "Lume CLI Reference" to "CLI Reference"
- Rename "Lume HTTP API Reference" to "API Reference"

* feat: rename CuaBot to Cua-Bot and add to dropdown selector

- Rename CuaBot to Cua-Bot in docs meta.json and content pages
- Add Cua-Bot entry to the header dropdown selector

* refactor: restructure Cua-Bot docs to match Cua/Cua-Bench pattern

Reorganize cuabot docs from flat structure into guide/getting-started/
hierarchy matching other collections:
- cuabot.mdx → guide/getting-started/introduction.mdx
- install.mdx → guide/getting-started/installation.mdx
- Add meta.json files with proper icons and structure
- Update dropdown selector href to new path

* feat(docs): add auto-generated API reference, changelog, and versioning for Cua-Bot

Add TypeScript SDK doc generator (regex-based, no compiler dependency) and
configure cuabot for changelog generation and versioned docs snapshots.

* feat(ci): add cuabot to docs drift check and improve failure message

Wire cuabot into CI path triggers, runner config, and changed-file
detection. Add --check mode to typescript-sdk.ts for drift comparison.
Update failure banner with per-library and versioning commands.

* fix: resolve Python lint issues (black, ruff)

Run black formatting on 12 files, fix ruff F841 (unused variables) in
tests, and add TYPE_CHECKING import for FastMCP forward references.

* fix: resolve TS typecheck and Lume Swift 6 CI failures

- typescript-typecheck.js: build @trycua/core before running typecheck
  so its dist/ type declarations are available for @trycua/computer
- SSHClient.swift: avoid crossing Sendable boundary with NIOSSHHandler
  by keeping handler access + createChannel within flatMap on the event
  loop, fixing Swift 6 strict concurrency errors

* fix: TS typecheck pnpm version strict mode and Lume mock conformance

- Set COREPACK_ENABLE_STRICT=0 in typecheck script to allow pnpm 9.x
  to run commands in workspace packages declaring pnpm 10.x
- Update MockVNCService.sendText signature to match protocol (add
  delayMs parameter)

* fix: run prettier formatting and ignore auto-generated docs files

Format all files to pass prettier 3.8.1 check. Add docs/.source/ and
docs/next-env.d.ts to .prettierignore (auto-generated, not editable).

* fix: restore MDX comment syntax broken by prettier

Prettier 3.8.1 converts {/* */} to {/_ _/} in MDX files, which breaks
the acorn parser. Restore all comments and add *.mdx to .prettierignore.

* fix: regenerate docs to pass drift check after prettier revert

* fix: CI docs check fetch-depth, regenerate Lume docs, fix header layout shift

- Use fetch-depth: 0 in CI checkout so git tags are available for
  version discovery (was using fetch-depth: 2, causing version fallback)
- Regenerate Lume docs from local Swift build (0.2.75 → 0.2.76)
- Fix header product selector layout shift with consistent icon/text sizing

* fix: format custom-header.tsx with prettier

* fix: use arch-agnostic JAVA_HOME for arm64 Docker build

The openjdk package writes the arch-specific path (e.g. java-17-openjdk-amd64)
to /etc/environment, which sdkmanager sources, overriding the Dockerfile ENV.
Create an arch-agnostic symlink and re-export JAVA_HOME in the sdkmanager RUN
step to ensure it works on both amd64 and arm64.

* fix: skip emulator package on arm64 (not available for that arch)

The Android emulator SDK package is only published for amd64.
Conditionally install it based on dpkg --print-architecture.

* ci: retrigger cuabot docker build
2026-02-09 08:54:11 +01:00

8.5 KiB

Cua logo

Build, benchmark, and deploy agents that use computers

cua.ai Discord Twitter Documentation
trycua%2Fcua | Trendshift

CuaBot - Co-op computer-use for any agent

cuabot gives any coding agent a seamless sandbox for computer-use. Individual windows appear natively on your desktop with H.265, shared clipboard, and audio.

npx cuabot                 # Setup onboarding
# Run any agent in a sandbox
cuabot claude              # Claude Code
cuabot openclaw            # OpenClaw in the sandbox

# Run any GUI workflow in a sandbox
cuabot chromium
cuabot --screenshot
cuabot --type "hello"
cuabot --click <x> <y> [button]

Built-in support for agent-browser and agent-device (iOS, Android) out of the box.

Get Started | Installation | First spotted at ClawCon

cuabot screenshot
cuaXclawdbot_nbg

Beyond cuabot — explore our SDKs, benchmarks, and sandboxes for your own computer-use agents.

Choose Your Path


Cua - Agentic UI Automation & Code Execution

Build agents that see screens, click buttons, and complete tasks autonomously. Run isolated code execution environments for AI coding assistants like Claude Code, Codex CLI, or OpenCode.

# Requires Python 3.12 or 3.13
from computer import Computer
from agent import ComputerAgent

computer = Computer(os_type="linux", provider_type="cloud")
agent = ComputerAgent(model="anthropic/claude-sonnet-4-5-20250929", computer=computer)

async for result in agent.run([{"role": "user", "content": "Open Firefox and search for Cua"}]):
    print(result)

Get Started | Examples | API Reference


Cua-Bench - Benchmarks & RL Environments

Evaluate computer-use agents on OSWorld, ScreenSpot, Windows Arena, and custom tasks. Export trajectories for training.

# Install and create base image
cd cua-bench
uv tool install -e . && cb image create linux-docker

# Run benchmark with agent
cb run dataset datasets/cua-bench-basic --agent cua-agent --max-parallel 4

Get Started | Partner With Us | Registry | CLI Reference


Lume - macOS Virtualization

Create and manage macOS/Linux VMs with near-native performance on Apple Silicon using Apple's Virtualization.Framework.

# Install Lume
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/trycua/cua/main/libs/lume/scripts/install.sh)"

# Pull & start a macOS VM
lume run macos-sequoia-vanilla:latest

Get Started | FAQ | CLI Reference


Packages

Package Description
cuabot Multi-agent computer-use sandbox CLI
cua-agent AI agent framework for computer-use tasks
cua-computer SDK for controlling desktop environments
cua-computer-server Driver for UI interactions and code execution in sandboxes
cua-bench Benchmarks and RL environments for computer-use
lume macOS/Linux VM management on Apple Silicon
lumier Docker-compatible interface for Lume VMs

Resources

  • Documentation — Guides, examples, and API reference
  • Blog — Tutorials, updates, and research
  • Discord — Community support and discussions
  • GitHub Issues — Bug reports and feature requests

Contributing

We welcome contributions! See our Contributing Guidelines for details.

License

MIT License — see LICENSE for details.

Third-party components have their own licenses:

  • Kasm (MIT)
  • OmniParser (CC-BY-4.0)
  • Optional cua-agent[omni] includes ultralytics (AGPL-3.0)

Trademarks

Apple, macOS, Ubuntu, Canonical, and Microsoft are trademarks of their respective owners. This project is not affiliated with or endorsed by these companies.


Stargazers over time

Thank you to all our GitHub Sponsors!

coderabbit-cli