Trope CUA

Trope CUA는 Windows와 macOS에서 동작하는 백그라운드 computer use 드라이버다. 에이전트가 실제 데스크톱 앱을 검사하고 조작하되, OS와 대상 앱이 지원하는 경우 사용자의 현재 작업을 최대한 방해하지 않는 것을 목표로 한다.

한눈에 보기

  • 대상 플랫폼: Windows / macOS
  • 구현 방식: Windows는 .NET, macOS는 Swift 네이티브 구현
  • 인터페이스: MCP(stdio), daemon, 직접 CLI 호출
  • 제공 자산: 스크린샷, accessibility tree, action receipt, trajectory recording
  • 핵심 차별점: mutating action의 결과를 숨기지 않고 receipt로 노출하며, background-safe 여부를 명시적으로 판별

주요 기능

  • list_windows로 데스크톱 창과 앱 목록 조회
  • get_window_state로 특정 pid + window_id 조합의 상태 스냅샷 조회
  • click, type_text, press_key, scroll, set_value 같은 조작 도구 제공
  • replay_trajectory로 기록된 작업 경로 재실행
  • get_config / set_config로 지속 설정 관리
  • check_permissions로 로컬 자동화 및 캡처 권한 진단
  • 시각적 커서 오버레이를 보여주되, 실제 하드웨어 커서는 움직이지 않도록 설계

안전 모델

Trope CUA는 mutating action이 성공했다고 해서 자동으로 안전하다고 보지 않는다. background-safe로 간주하려면 다음 조건이 모두 충족되어야 한다.

  • background-safe가 true
  • cursor_moved가 false
  • foreground_changed가 false

즉, ok=true는 요청한 경로가 끝났다는 뜻일 뿐, 사용자의 포커스나 커서 상태가 보존되었다는 보장은 아니다.

설치와 운영

  • Windows는 scripts/build.ps1 / scripts/install-windows.ps1 계열 스크립트로 빌드·설치한다.
  • macOS는 scripts/install-macos.sh 또는 native/macos/trope-cua 하위의 Swift 프로젝트를 통해 설치한다.
  • macOS에서는 Accessibility와 Screen Recording 권한이 필요하며, 앱을 LaunchServices 경로로 한 번 띄운 뒤 권한을 확인하는 흐름을 권장한다.
  • MCP 클라이언트 연결은 trope-cua mcp-config 또는 trope-cua mcp 패턴을 사용한다.

알려진 한계

  • 이 도구는 VM/샌드박스가 아니다. 같은 세션의 도구는 실제 사용자 ডেস্ক톱을 건드린다.
  • 모든 앱이 안전한 UIA/AX 경로를 제공하는 것은 아니다.
  • Chromium/Electron의 병렬 작업은 별도 프로필과 CDP 포트가 필요할 수 있다.
  • 게임, DirectX, Unity, Unreal, raw input, canvas-heavy 앱은 백그라운드-safe 경로가 잘 안 맞을 수 있다.

의미

Trope CUA는 “화면 점거형” computer use보다 한 단계 더 운영 친화적인 방향을 보여준다. 에이전트가 실제 데스크톱을 다루되, 결과와 제약을 receipts로 투명하게 드러내고, 가능하면 사용자의 foreground 작업을 보존하는 패턴이다.

이 노트는 2026-04-27-macos-cua-repos-comparison의 macOS CUA 비교를 보완하고, 2026-03-25-claude-code-computer-use처럼 데스크톱 직접 제어가 기본 기능으로 굳어지는 흐름을 함께 보여준다.

Sources