GitHub - vercel-labs/agent-desktop: Agent Desktop gives any agent reliable computer use on the desktop. Built with Rust, it sees any app's real UI structure through OS accessibility trees and operates it — refs stay stable and actions stay safe to retry, instead of guessing from pixels.
Service

GitHub - vercel-labs/agent-desktop: Agent Desktop gives any agent reliable computer use on the desktop. Built with Rust, it sees any app's real UI structure through OS accessibility trees and operates it — refs stay stable and actions stay safe to retry, instead of guessing from pixels.

vercel-labs
2026.11.02
·GitHub·by Mineru
#Agent#AI#DL#ML#RAG

핵심 포인트

  • 1Agent Desktop은 OS의 Accessibility Tree를 활용하여 AI 에이전트가 데스크톱 애플리케이션을 안정적으로 제어할 수 있게 해주는 Rust 기반의 자동화 도구입니다.
  • 2픽셀 기반의 추측 대신 고유한 Ref를 통해 UI 요소를 정확히 식별하며, 동작 수행 후 상태를 다시 검증하여 안전한 재시도가 가능하도록 설계되었습니다.
  • 3macOS, Windows, Linux를 모두 지원하며, CLI와 FFI를 통해 AI 에이전트가 시스템과 직접 상호작용할 수 있는 체계적인 인터페이스를 제공합니다.

Agent Desktop은 AI 에이전트가 데스크톱 애플리케이션을 안정적으로 제어할 수 있도록 설계된 도구로, 픽셀 기반의 화면 인식(pixel matching) 방식이 아닌 운영체제(OS)의 접근성 트리(accessibility tree)를 활용하는 Rust 기반의 자동화 솔루션입니다.

핵심 방법론 및 기술적 특징

  1. 접근성 트리 기반의 요소 식별: 기존의 GUI 자동화 도구들이 화면의 픽셀을 분석하거나 좌표를 추측하는 것과 달리, Agent Desktop은 OS가 제공하는 접근성 API를 통해 UI 계층 구조를 직접 읽어 들입니다. 이를 통해 각 요소에 고유한 ref를 할당하여 UI 구조를 정밀하게 파악합니다.
  2. 안정적인 참조(Refs) 및 세션 관리: 스냅샷을 통해 추출된 ref는 해당 스냅샷 세션 내에서 유효하며, UI가 변경되어 요소가 제거되거나 위치가 바뀌더라도 STALE_REF와 같은 오류 응답을 통해 잘못된 작업을 방지합니다. 또한, 각 명령은 JSON 인벨로프(JSON envelope) 형태로 결과를 반환하여 에이전트가 ok 여부와 작업 성공/실패 여부를 프로그래밍 방식으로 판단할 수 있게 합니다.
  3. 안전한 재시도 메커니즘: 모든 작업은 상태 기반으로 이루어지며, 작업 실패 시 에러 코드(Error Code)와 함께 disposition 정보를 제공합니다. 에이전트는 이를 분석하여 재시도가 safe한 경우에만 작업을 다시 수행합니다.
  4. 비침습적 제어: 기본적으로 헤드리스(headless) 모드로 동작하여 마우스 포인터 이동이나 창 포커스 없이 접근성 API를 통해 이벤트를 전송합니다. 이는 물리적인 입력 제어 없이도 에이전트가 백그라운드에서 작업을 수행할 수 있도록 보장합니다.

주요 기능 및 기술 스택

  • 플랫폼 지원: macOS, Windows, Linux(AT-SPI)에서 동일한 인터페이스를 제공하며, 언어 바인딩을 위해 libagent_desktop_ffi를 지원하여 C 언어 호출 환경에서도 사용할 수 있습니다.
  • 명령 체계: Observe, Act, Clipboard, Notification 등 60개의 명령어를 통해 UI 스냅샷 생성, 클릭, 텍스트 입력, 창 관리, 클립보드 제어 등이 가능합니다.
  • 데이터 처리: 모든 작업 결과는 표준화된 JSON 형식으로 출력되며, 복잡한 앱의 경우 --skeleton 또는 --compact 옵션을 사용하여 트리 깊이를 조절할 수 있습니다.

결론

Agent Desktop은 AI 에이전트가 컴퓨터 사용 시 겪는 시각적 오류와 좌표 불일치 문제를 해결하기 위해, UI의 구조적 본질을 접근성 API로 직접 호출하는 방식을 채택합니다. 이는 에이전트가 일관되고 신뢰성 있는 데스크톱 자동화 루프(Observe-Act-Verify)를 수행하도록 돕는 강력한 인프라 도구입니다.