Vercel Labs의 스킬: 에이전트가 agent-desktop CLI를 사용하여 시스템 접근성 트리(accessibility tree)를 통해 macOS, Windows, Linux의 데스크톱 애플리케이션을 읽고 조작하도록 교육합니다. 먼저 snapshot을 실행하여 참조 번호가 포함된 UI 요소 JSON을 얻고, 해당 번호를 기준으로 클릭, 입력, 체크를 수행한 후 다시 snapshot을 실행하여 확인합니다. 스크린샷이나 픽셀 매칭에 의존하지 않습니다.
보안 감사: 미감사
- 아직 스캔되지 않음
이유
- 루프 로직이 구체적으로 정의됨: 간단한 앱은 직접 snapshot -i를 실행하고, 복잡한 앱은 먼저 --skeleton으로 얕은 구조 맵을 얻은 후 --root로 특정 영역을 깊이 탐색합니다. 참조는 @s8f3k2p9:e1 형식으로 현재 스냅샷 내에서만 유효하며, UI가 변경되면 STALE_REF 오류가 발생하므로 스냅샷을 다시 실행해야 합니다
- 재시도 규칙으로 중복 제출 방지: disposition.retry가 safe(not_delivered)인 경우에만 재시도할 수 있으며, 그 외의 경우 현재 UI 상태를 먼저 읽은 후 결정하여 두 번 클릭, 두 번 제출 또는 토글로 인한 자체 취소 등을 방지합니다
- 기본 무헤드 모드: 접근성 인터페이스를 통해 조작하므로 포커스를 빼앗지 않고, 마우스를 이동하지 않으며, 클립보드를 사용하지 않습니다. 사용자가 물리적 입력을 명시적으로 허용한 경우에만 --headed를 추가하며, 무헤드 모드 실패를 우회하기 위해 모드를 전환하는 것은 허용되지 않습니다
- SKILL.md는 매우 짧고, 상세한 명령어 설명은 프로그램 자체에 포함되어 있어(agent-desktop skills get desktop / platform) 버전과 일치합니다. README에는 Apache-2.0 라이선스가 명시되어 있으며, 저자는 총 60개의 명령어 이름 중 56개가 사용 가능하다고 언급합니다
- skills.sh에서 24시간 동안 536회 설치됨(관심도만 반영)
사용법
- 설치 명령어는 감사 통과 후 표시됩니다. 먼저 CLI를 설치(npm install -g agent-desktop)하고, 첫 사용 시 에이전트가 agent-desktop status 및 agent-desktop skills get platform을 실행하도록 하세요
- 계정이나 클라우드 서비스가 필요하지 않습니다. macOS에서는 터미널에 접근성 권한을 부여해야 하며(agent-desktop permissions --guide), Linux는 그래픽 세션과 at-spi2-core가 필요합니다. Windows는 터미널과 동일한 권한 수준을 가진 애플리케이션만 조작할 수 있습니다
리스크
- 이번 주에는 감사되지 않았으므로 고정 C 등급이며 설치 명령어가 표시되지 않습니다. SKILL.md는 에이전트가 agent-desktop 명령어를 실행하여 로컬 애플리케이션을 조작하도록 하며, 이는 명령어 실행에 해당하여 용도와 일치합니다. skills.sh에서 Snyk 감사는 Warn으로 평가되었습니다
- 에이전트는 클립보드 읽기/쓰기, 스크린샷, 애플리케이션 시작/종료, 알림 읽기가 가능합니다. README에서는 스냅샷과 스크린샷에 개인 정보가 포함될 수 있으므로 공개 로그에 넣지 말라고 경고합니다. 선택적인 JEV 보조 기능은 화면 설명을 사용자가 설정한 모델 서비스로 전송합니다
- Linux에서 마우스 입력 및 창 제어는 주로 X11을 지원하며, Wayland 환경에서는 스크린샷이 시스템 포털을 통해 처리되고 클립보드는 wl-clipboard가 필요합니다. 이번에는 실행되지 않았으므로 조작 신뢰성은 알 수 없습니다