lahfir/agent-desktop

Native desktop automation CLI for AI agents. Control any application through OS accessibility trees with structured JSON output and deterministic element refs.

무엇인가 해결하는 문제

AI 에이전트는 스크린샷이나 픽셀 매칭과 같은 비효율적인 방법에 의존하기 때문에 데스크톱 애플리케이션과의 상호작용에 어려움을 겪는 경우가 많습니다. 이 도구는 운영 체제의 접근성 트리를 활용하여 에이전트가 어떤 애플리케이션이라도 관찰하고 제어할 수 있는 구조화되고 기계가 읽을 수 있는 방법을 제공합니다.

작동 방식

이 도구는 Rust 기반 CLI를 사용하여 OS 접근성 트리를 탐색하고, UI 요소를 컴팩트하고 기계가 읽을 수 있는 JSON 스냅샷으로 변환합니다. 고유한 참조 시스템(예: @s8f3k2p9:e1)을 사용하여 에이전트가 전체 화면을 다시 처리하지 않고 특정 버튼, 텍스트 필드 또는 메뉴를 대상으로 지정할 수 있도록 합니다. 또한 에이전트가 먼저 앱의 얕은 개요를 얻어 토큰을 절약한 후 특정 영역으로 drill down(세부 탐색)하는 "프로그레시브 스켈레톤 트래버설" 기법을 지원합니다.

대상

  • AI 에이전트 개발자: Slack, Finder, Xcode와 같은 네이티브 데스크톱 앱에서 작업을 수행해야 하는 자율 에이전트를 구축하는 사람들.
  • 소프트웨어 엔지니어: Python, Node, Go와 같은 언어를 위한 제공된 C-ABI(FFI)를 사용하여 기존 워크플로에 데스크톱 자동화를 통합하는 사람들.
  • 자동화 엔지니어: 헤드리스 기본 데스크톱 자동화 스크립트를 안정적으로 만드는 사람들.

주요 기능

  • 토큰 효율성: 프로그레시브 스켈레톤 트래버설을 통해 LLM 토큰 사용량을 78–96% 줄입니다.
  • 네이티브 성능: Rust로 구축된 빠른 단일 바이너리로, 인프로세스 호출을 위한 C-ABI 바인딩이 포함되어 있습니다.
  • 헤드리스 상호작용: 포커스를奪取하거나 물리적 커서를 이동시키지 않아도 되는 의미론적 작업을 지원합니다.
  • 세션 트레이싱: 에이전트 상호작용 세션을 기록하고 재생할 수 있는 내장 트레이스 뷰어가 포함되어 있습니다.