GitHub - trycua/cua: Open-source infrastructure for Computer-Use Agents. Sandboxes, SDKs, and benchmarks to train and evaluate AI agents that can control full desktops (macOS, Linux, Windows).
핵심 포인트
- 1CUA는 AI 에이전트가 Linux, macOS, Windows, Android를 포함한 다양한 운영 체제와 자율적으로 상호작용할 수 있도록 에이전트 레디 샌드박스를 제공하는 종합 플랫폼입니다.
- 2이 플랫폼은 macOS 배경 자동화를 위한 CUA Driver, 네이티브 데스크톱 창과 협업하는 CuaBot, 그리고 컴퓨터 사용 에이전트의 벤치마킹 및 훈련을 위한 Cua-Bench와 같은 도구들을 포함합니다.
- 3CUA는 화면을 보고, 버튼을 클릭하며, 다양한 컴퓨팅 환경에서 작업을 완료할 수 있는 AI 에이전트의 개발, 배포 및 평가를 간소화하는 것을 목표로 합니다.
cua는 컴퓨터를 사용하는 AI 에이전트의 구축, 벤치마킹 및 배포를 위한 포괄적인 프레임워크입니다. 이 프로젝트는 에이전트가 운영체제 환경에서 화면을 인식하고, 마우스 클릭 및 키보드 타이핑과 같은 사용자 인터랙션을 수행하며, 자율적으로 작업을 완료할 수 있도록 지원합니다.
cua의 핵심 구성 요소 및 방법론은 다음과 같습니다:
- Cua Driver:
- 목적: macOS 환경에서 백그라운드 컴퓨터 사용을 가능하게 하는 드라이버입니다. 에이전트가 커서, 포커스 또는 Space를 점유하지 않고도 클릭, 타이핑 및 검증 작업을 수행할 수 있도록 합니다.
- 기술적 특징: 이 드라이버는 Chromium 웹 콘텐츠나 Blender, Figma와 같은 캔버스 기반 도구의 비-AX(Accessibility API) 표면에서도 작동합니다. 이는 일반적인 macOS Accessibility API에 의존하지 않고 UI 인터랙션을 수행하는 고급 기술을 사용함을 시사하며, 더 넓은 범위의 애플리케이션에 대한 제어를 가능하게 합니다.
- 사용법: CLI 또는 MCP(Multi-Client Protocol) 서버를 통해 Claude Code, Cursor 및 커스텀 클라이언트와 함께 사용될 수 있습니다. 모든 세션은 재생 가능한 궤적(trajectory)으로 기록됩니다.
- Cua (Agent-Ready Sandboxes):
- 목적: 에이전트가 화면을 보고 버튼을 클릭하며 작업을 완료할 수 있도록 설계된 에이전트 준비 샌드박스를 제공합니다.
- 핵심 방법론: 단일 API를 통해 로컬 또는 클라우드 환경의 모든 VM 또는 컨테이너 이미지에 접근합니다. Python 3.11 이상이 필요하며,
Sandbox.ephemeral(Image.linux())와 같은 방식으로 샌드박스를 초기화합니다. - API 기능:
sb.shell.run(),sb.screenshot(),sb.mouse.click(x, y),sb.keyboard.type("text"),sb.mobile.gesture((x1, y1), (x2, y2))와 같은 추상화된 API를 제공하여 운영체제나 런타임에 관계없이 일관된 인터페이스를 유지합니다. - 지원 환경: Linux 컨테이너, Linux VM, macOS, Windows, Android는 물론
.qcow2,.iso와 같은 BYOI(Bring Your Own Image) 형식도 지원하며, QEMU를 통한 로컬 실행 및cua.ai클라우드 환경도 지원합니다.
- CuaBot:
- 목적: 모든 코딩 에이전트에 컴퓨터 사용을 위한 원활한 샌드박스 환경을 제공합니다.
- 기술적 특징: 개별 윈도우가 사용자 데스크톱에 네이티브하게 나타나며, H.265 비디오 스트리밍, 공유 클립보드 및 오디오를 지원하여 에이전트와 사용자 간의 협업적 상호작용을 용이하게 합니다.
- 사용법:
npx cuabot명령으로 셋업 온보딩을 시작하며,cuabot claude(Claude Code),cuabot openclaw(OpenClaw) 등 특정 에이전트 또는cuabot chromium과 같은 특정 GUI 워크플로우를 샌드박스 내에서 실행할 수 있습니다.--screenshot,--type,--click과 같은 CLI 옵션을 통해 직접적인 상호작용도 가능합니다.
- Cua-Bench:
- 목적: OSWorld, ScreenSpot, Windows Arena 및 사용자 정의 작업에 대해 컴퓨터 사용 에이전트를 평가하고, 훈련을 위한 궤적을 내보내는 벤치마크 및 RL(강화 학습) 환경입니다.
- 사용법:
cb image create linux-docker명령으로 기본 이미지를 생성하고,cb run dataset datasets/cua-bench-basic --agent cua-agent --max-parallel 4를 통해 에이전트를 사용하여 벤치마크를 실행합니다.
- Lume:
- 목적: Apple Silicon 기반 시스템에서 Apple의 Virtualization.Framework를 사용하여 macOS/Linux VM을 거의 네이티브 성능으로 생성하고 관리하는 도구입니다.
- 기술적 특징: 가상화 프레임워크를 직접 활용하여 최적화된 성능을 제공합니다.
- 사용법:
lume run macos-sequoia-vanilla:latest와 같이 VM 이미지를 풀(pull)하고 실행합니다.
이 프레임워크는 cua-agent(AI 에이전트 프레임워크), cua-computer-server(UI 상호작용 및 코드 실행 드라이버), lumier(Lume VM용 Docker 호환 인터페이스)와 같은 다양한 패키지를 포함하여 에이전트 기반 컴퓨터 자동화의 모든 측면을 지원합니다. MIT 라이선스를 따르며, Kasm, OmniParser 등 일부 서드파티 구성 요소는 별도의 라이선스를 가집니다.