lahfir/agent-desktop
AI 에이전트, 접근성 API로 모든 앱 조종하다
원제 lahfir/agent-desktop
스타 1,635당일 +107Rust
Key Point
AI 에이전트가 픽셀 인식을 넘어 실제 UI 구조로 데스크톱을 조종하는 방식이 바뀌고 있으며, 안정적인 요소 참조와 재시도 가능성이 생산성 높은 자동화의 핵심이기 때문이다.
핵심 요약
- Rust로 만든 Agent Desktop은 OS 접근성 트리(accessibility tree)를 읽어 AI 에이전트가 데스크톱 앱을 안정적으로 조종할 수 있게 한다.
- 픽셀 기반 추측 대신 실제 UI 구조를 파악하므로, 요소 참조(ref)가 안정적이고 작업 재시도가 안전하다.
- Rust 네이티브 CLI는 의존성이 없는 단일 바이너리이고, Python/Swift/Go/Ruby/Node/C 등에서 사용할 C-ABI cdylib도 제공한다.
- 58개 명령(54개 동작)을 지원하며, 관찰·상호작용·키보드·마우스·클립보드·윈도우 관리·세션 수명주기·트레이싱이 포함된다.
- 복잡한 앱(Slack, VS Code)에서는 얕은 개요와 목표 드릴다운을 통해 토큰을 78~96% 줄일 수 있다.
- 스냅샷과 qualified ref(`@s8f3k2p9:e1` 형식)를 쓰면 AI에 최적화된 워크플로우를 만들 수 있다.
- 헤드리스 기본 상호작용으로 포커스·커서·키보드·클립보드 부작용을 차단하고, 구조화된 JSON 출력을 제공한다.
- Finder, Safari, System Settings, Xcode, Slack 등 접근성 트리를 지닌 모든 앱에서 작동한다.
- Chromium 앱(Slack, VS Code, Discord, Notion)은 `launch --cdp`로 Chrome DevTools Protocol 엔드포인트를 열어서 Playwright나 Puppeteer 같은 프레임워크와 연동할 수 있다.
- 다중 에이전트 워크플로우를 위해 `session start`로 trace 활성화 세션을 만들고 ID를 공유하면 된다.
- macOS에서는 agent cursor overlay로 에이전트의 의도를 시각화할 수 있으며, 90~320ms에 걸쳐 인간답게 움직인다.
- 현재 macOS 13.0+에서 완전히 지원되고, Windows와 Linux는 계획 중이다.
- Apache-2.0 라이선스이고, npm이나 소스에서 설치할 수 있으며 macOS 접근성 권한이 필요하다.
저장소 보기 ↗github.com