callstack/agent-device

CLI to control iOS and Android devices for AI agents

해결하는 문제

agent-device는 AI 코딩 에이전트가 여러 플랫폼에 걸쳐 애플리케이션과 상호작용하고 검증할 수 있는 방법을 제공합니다. 에이전트가 실제 실행 중인 앱을 "볼" 수 없거나 제어하지 못해 코드 변경이 실제 환경에서 제대로 동작하는지 확인할 수 없는 문제를 해결하여, 코드를 작성하는 단계와 엔드‑투‑엔드 검증 사이의 격차를 메워줍니다.

작동 방식

이 도구는 에이전트가 앱 상태를 검사하고 동작을 수행할 수 있는 CLI로 동작합니다. "inspect‑act‑verify" 루프를 사용합니다: 에이전트는 UI의 접근성 트리(앱의 접근성 트리)를 이용해 토큰 효율적인 스냅샷을 읽고, 레퍼런스(refs) 또는 셀렉터를 통해 요소를 식별한 뒤, UI와 상호작용하는 명령(예: 탭, 필드 입력, 스크롤)을 실행합니다.

다양한 플랫폼‑전용 백엔드와 통합됩니다: iOS/tvOS용 XCTest, Android용 ADB, Vega Virtual Device용 Vega CLI/VDA, Linux용 AT‑SPI, macOS용 로컬 헬퍼, 그리고 웹 자동화를 위한 agent-browser 등.

대상 사용자

  • AI 코딩 에이전트: Cursor, Codex, Claude Code, Windsurf와 같은 도구를 사용하며, 에이전트가 실행 중인 앱에서 변경 사항을 검증하고자 하는 개발자.
  • QA 엔지니어: 버그를 자동으로 발견하고 보고하는 AI 기반 QA 에이전트를 구축하는 팀.
  • 개발자: 네이티브 iOS/Android, React Native, Expo, Flutter 앱을 다루는 사람들.

주요 특징

  • 다중 플랫폼 지원: iOS, Android, tvOS, Android TV, Amazon Vega OS TV, 웹, macOS, Linux에서 동작합니다.
  • 토큰 효율적인 스냅샷: 접근성 트리를 사용해 UI의 컴팩트한 표현을 에이전트에게 제공합니다.
  • 증거 캡처: 스크린샷, 비디오, 로그, 트레이스, React 프로파일 등을 저장하여 검토할 수 있습니다.
  • 워크플로우 재생: 작업 단계를 .ad 스크립트로 저장하거나 Maestro YAML로 내보내 반복 가능한 테스트를 만들 수 있습니다.
  • 광범위한 프레임워크 지원: 네이티브 앱, React Native, Expo, Flutter와 호환됩니다.