AI & AUTOMATIONAPPLELINUXWINDOWS

Cua – khi AI biết dùng máy tính thay bạn

Bạn đã bao giờ ước mình có một người trợ lý ngồi trước màn hình, tự mở trình duyệt, tự click vào đúng chỗ cần click, tự điền form, tự chạy lệnh trong terminal – rồi báo lại kết quả? Không phải chatbot trả lời bằng text. Mà là một thứ thực sự nhìn thấy giao diện trên màn hình, hiểu cái nó đang thấy, rồi thao tác y như một người dùng bình thường?

Nghe giống khoa học viễn tưởng, nhưng nó đã tồn tại. Và nó là mã nguồn mở.

Cái tên là Cua.

Cua là gì?

Cua (viết tắt của Computer Use Agent) là một nền tảng mã nguồn mở giúp bạn xây dựng, chạy thử, và triển khai các AI agent có khả năng điều khiển máy tính. Không phải điều khiển qua API hay dòng lệnh – mà điều khiển thông qua giao diện đồ họa. Agent nhìn màn hình bằng screenshot, nhận diện các nút bấm, menu, ô nhập liệu, rồi thao tác chuột và bàn phím giống hệt con người.

Dự án hiện có hơn 12.000 star trên GitHub, đang được phát triển rất tích cực (gần 2.900 commit tính đến đầu tháng 2/2026), và hỗ trợ cả ba hệ điều hành: macOS, Linux, Windows. Thậm chí cả Android.

Repo chính: github.com/trycua/cua

Tại sao nên quan tâm?

Trước Cua, nếu muốn tự động hóa một tác vụ trên giao diện, bạn phải viết script dựa trên tọa độ pixel, hoặc dùng các thư viện như Selenium, Playwright – và chúng chỉ hoạt động với trình duyệt. Muốn tự động hóa một ứng dụng desktop như Photoshop, FreeCAD, hay một phần mềm kế toán cũ chạy trên Windows? Gần như không có cách nào đẹp đẽ.

Cua giải quyết chuyện đó. Nó tạo ra một lớp trừu tượng: agent không cần biết ứng dụng chạy bằng gì, viết bằng ngôn ngữ nào, hay dùng framework UI nào. Agent chỉ cần nhìnhành động. Mô hình ngôn ngữ đa phương thức (vision-language model) làm phần “nhìn”, SDK của Cua làm phần “hành động”.

Và quan trọng nhất: mọi thứ chạy trong sandbox. Agent không chạm vào máy thật của bạn. Nó thao tác trong một máy ảo hoặc container Docker hoàn toàn cách ly. Hỏng thì xóa đi tạo lại, không ảnh hưởng gì.

Kiến trúc: ba tầng rõ ràng

Cua được thiết kế theo ba tầng, mỗi tầng có thể dùng độc lập:

Tầng 1 – Desktop Sandbox. Đây là môi trường ảo nơi agent hoạt động. Bạn có thể dùng sandbox trên cloud do Cua quản lý (hỗ trợ Linux, Windows, macOS), hoặc tự dựng sandbox cục bộ bằng Docker, QEMU, hoặc Apple Virtualization Framework (thông qua công cụ Lume mà chính đội ngũ Cua phát triển).

Tầng 2 – Computer SDK. Bộ công cụ lập trình thống nhất để tương tác với sandbox: chụp màn hình, click chuột, gõ bàn phím, chạy lệnh shell. API giống nhau dù sandbox chạy trên Docker hay trên cloud.

Tầng 3 – Agent Framework. Khung xây dựng agent, hỗ trợ hơn 100 mô hình AI từ Anthropic, OpenAI, Google, và nhiều nhà cung cấp khác. Có sẵn vòng lặp agent (agent loop) tối ưu cho tác vụ computer-use, telemetry theo dõi hiệu suất, và kiến trúc composable để kết hợp nhiều mô hình.

CuaBot – cách nhanh nhất để bắt đầu

Nếu bạn không muốn đọc tài liệu dài, không muốn cấu hình phức tạp, chỉ muốn thử ngay, thì CuaBot là câu trả lời.

CuaBot là một CLI chạy bằng Node.js. Nó tạo một container Docker chứa Ubuntu 22.04 đầy đủ, cài sẵn trình duyệt, Node.js, Python, và các công cụ phát triển. Cửa sổ ứng dụng từ trong container được stream ra desktop của bạn qua Xpra – trông y như ứng dụng chạy native, nhưng thực ra nó nằm trong sandbox hoàn toàn cách ly.

Cài đặt CuaBot

Yêu cầu:

  • Node.js phiên bản 18 trở lên
  • Docker Desktop
  • Xpra client (tải tại xpra.org)

Chạy onboarding:

npx cuabot

Lần đầu chạy, CuaBot sẽ hướng dẫn bạn cấu hình. Sau đó, bạn có thể chạy bất kỳ agent nào:

cuabot claude      # Claude Code của Anthropic
cuabot gemini      # Gemini CLI của Google
cuabot codex       # Codex CLI của OpenAI
cuabot openclaw    # OpenClaw
cuabot aider       # Aider

Hoặc mở ứng dụng GUI trong sandbox:

cuabot chromium    # Mở trình duyệt Chromium
cuabot xterm       # Mở terminal

Agent được cài lần đầu khi bạn gọi, không cần chuẩn bị trước. Mỗi session được cách ly hoàn toàn. Bạn thậm chí có thể chạy nhiều session song song:

cuabot -n project-a claude
cuabot -n project-b gemini

Dùng Cua SDK để xây agent riêng

CuaBot phù hợp cho việc dùng nhanh. Nhưng nếu bạn muốn xây dựng agent tùy chỉnh – ví dụ một agent tự động kiểm tra giao diện ứng dụng web mỗi ngày, hay một agent điền hàng trăm biểu mẫu – thì bạn sẽ cần Cua SDK.

Chuẩn bị môi trường

Cua yêu cầu Python 3.12 hoặc 3.13. Cài đặt các package:

pip install cua-computer cua-agent

Tạo sandbox cục bộ bằng Docker

Kéo image:

docker pull --platform=linux/amd64 trycua/cua-xfce:latest

Viết agent đầu tiên

from computer import Computer
from agent import ComputerAgent

computer = Computer(os_type="linux", provider_type="docker")

agent = ComputerAgent(
    model="anthropic/claude-sonnet-4-5-20250929",
    computer=computer
)

async for result in agent.run([
    {"role": "user", "content": "Mở Firefox và tìm kiếm 'Cua AI'"}
]):
    print(result)

Đoạn code trên tạo một sandbox Linux, khởi tạo agent sử dụng Claude Sonnet 4.5, rồi yêu cầu agent mở trình duyệt và tìm kiếm. Agent sẽ tự chụp màn hình, nhận diện giao diện, click vào biểu tượng Firefox, gõ từ khóa vào thanh tìm kiếm, nhấn Enter – tất cả tự động.

Sử dụng sandbox trên cloud

Nếu không muốn chạy Docker cục bộ, bạn có thể dùng sandbox do Cua quản lý:

  1. Đăng ký tại cua.ai/signin.
  2. Tạo API key trong mục Dashboard.
  3. Tạo sandbox:
# Cài CLI
curl -LsSf https://cua.ai/cli/install.sh | sh

# Đăng nhập và tạo sandbox
cua auth login
cua sb create --os linux --size small --region north-america
  1. Trong code, chuyển provider_type sang "cloud":
computer = Computer(os_type="linux", provider_type="cloud")

Lume – chạy macOS ảo trên Apple Silicon

Một thành phần đáng chú ý trong hệ sinh thái Cua là Lume. Đây là công cụ quản lý máy ảo macOS và Linux chạy trên chip Apple Silicon (M1/M2/M3/M4) với hiệu suất gần native, sử dụng Apple Virtualization Framework.

Cài đặt Lume:

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

Chạy một máy ảo macOS:

lume run macos-sequoia-vanilla:latest

Yêu cầu:

  • Mac chạy chip Apple Silicon
  • macOS 13.0 trở lên
  • Tối thiểu 8 GB RAM (khuyến nghị 16 GB)
  • 30 GB dung lượng ổ đĩa trống

Lume cài cùng một dịch vụ nền (background service) tự khởi động khi đăng nhập và một trình tự cập nhật (auto-updater) kiểm tra phiên bản mới mỗi 24 giờ. Cả hai đều có thể tắt nếu bạn muốn kiểm soát thủ công.

Cua-Bench — đo lường xem agent của bạn giỏi đến đâu

Xây agent xong rồi thì phải đánh giá. Cua-Bench là bộ benchmark và môi trường huấn luyện (RL environment) cho phép bạn chạy các bài kiểm tra chuẩn hóa: OSWorld, ScreenSpot, Windows Arena, và các tập dữ liệu tùy chỉnh.

cd cua-bench
uv tool install -e .

# Tạo image cơ sở
cb image create linux-docker

# Chạy benchmark
cb run dataset datasets/cua-bench-basic --agent cua-agent --max-parallel 4

Kết quả benchmark có thể export dưới dạng trajectory để phục vụ huấn luyện mô hình.

Ai nên dùng Cua?

Nếu bạn thuộc một trong các nhóm sau, Cua rất đáng để thử:

Kỹ sư phần mềm muốn tạo môi trường sandbox cách ly cho các trợ lý AI coding (Claude Code, Codex CLI) – để chúng có thể chạy lệnh, sửa file, test code mà không ảnh hưởng máy phát triển chính.

Đội ngũ QA/Testing cần tự động hóa kiểm thử end-to-end trên giao diện thực, không chỉ trình duyệt mà cả ứng dụng desktop.

Nhà nghiên cứu AI đang xây dựng hoặc đánh giá mô hình computer-use, cần một môi trường chuẩn hóa, có thể tái tạo, và hỗ trợ export trajectory.

Doanh nghiệp cần tự động hóa quy trình nghiệp vụ liên quan đến phần mềm cũ (legacy software) chạy trên Windows – loại phần mềm không có API, chỉ có giao diện đồ họa.

Một vài điều cần lưu ý

Cua là dự án mã nguồn mở dưới giấy phép MIT, nghĩa là bạn thoải mái sử dụng cho cả mục đích cá nhân lẫn thương mại. Tuy nhiên, nếu cài thêm module cua-agent[omni] (bao gồm ultralytics), phần đó thuộc giấy phép AGPL-3.0 – cần cân nhắc nếu bạn phân phối sản phẩm thương mại.

Về API key: khi sử dụng sandbox trên cloud hoặc kết nối đến các nhà cung cấp mô hình AI (Anthropic, OpenAI, Google), bạn cần API key. Hãy lưu key trong file .env hoặc biến môi trường. Tuyệt đối không ghi trực tiếp trong code, đặc biệt nếu code được đẩy lên repository công khai.


Cua không phải là “thêm một framework AI nữa”. Nó giải quyết một vấn đề cụ thể và rõ ràng: cho AI khả năng dùng máy tính giống con người, trong một môi trường an toàn, với bộ công cụ mà lập trình viên có thể hiểu và kiểm soát được.

Điều thú vị nhất có lẽ không nằm ở công nghệ, mà ở cách nó thay đổi góc nhìn: thay vì xây API cho từng ứng dụng, bạn chỉ cần dạy AI “nhìn và click”. Mọi phần mềm có giao diện đều trở thành phần mềm có thể tự động hóa.

Bắt đầu đơn giản nhất? Một dòng lệnh:

npx cuabot
Duy Nghiện
Hãy làm khán giả, đừng làm nhân vật chính :)

You may also like

Nhận thông báo qua email
Nhận thông báo cho
guest

0 Bình luận
Mới nhất
Cũ nhất Nhiều like nhất
Phản hồi nội tuyến
Xem tất cả bình luận