프로젝트 소개
agent-device는 Callstack이 만든 오픈소스 도구로, AI 코딩 에이전트에게 실행 중인 애플리케이션에 대한 실시간 피드백 루프를 제공합니다. CLI, 내장 stdio MCP 서버, 타입 기반 Node.js 클라이언트로 배포되며, 모두 동일한 런타임을 공유합니다.
지원 대상에는 iOS, Android, HarmonyOS 시뮬레이터, 에뮬레이터, 실제 기기뿐 아니라 tvOS, Android TV, Amazon Vega OS TV, 웹, macOS, Linux가 포함됩니다. Claude Code, Codex, Cursor, Windsurf, Cline, Goose 같은 에이전트와 함께 작동하거나, AI SDK나 Eve로 구축된 에이전트의 런타임으로 사용할 수 있습니다.
README에 설명된 핵심 기능은 다음과 같습니다:
- 스크린샷에만 의존하지 않고 접근성 스냅샷, refs, 선택자, React Native 컴포넌트 트리를 통해 앱 상태를 검사합니다.
- 보이는 UI에 탭, 누르기, 필드 채우기, 스크롤, 제스처, 대기, 상태 확인, 알림 처리 등으로 상호작용합니다.
- 스크린샷, 비디오, 로그, 트레이스, 네트워크 데이터, 성능 샘플, 크래시 세부 정보, React 프로파일로 실패를 진단합니다.
- 단계를 .ad 스크립트로 저장해 로컬 또는 CI에서 워크플로를 반복하고, 선택적으로 엄격한 Maestro YAML로 내보낼 수 있습니다.
설치는 npm(Node.js 22.12+ 또는 웹 자동화의 경우 24+)을 통해 이루어지며, doctor 명령으로 설정을 확인합니다. 세션은 호출자의 git 작업 트리에 범위가 지정되고, 호스트 로컬 기기 클레임으로 병렬 에이전트가 서로의 시뮬레이터와 에뮬레이터를 가로채지 못하게 합니다. 기기 소유권을 검사하고 데몬 없이 오래된 소유자를 해제할 수 있습니다. 동일한 명령으로 BrowserStack, AWS Device Farm, Limrun의 호스팅 기기를 구동할 수 있습니다.
플랫폼 백엔드는 다릅니다: iOS는 로컬 접근성 브리지와 XCTest, Android는 ADB, HarmonyOS는 HDC와 ArkUI uitest, Vega Virtual Device는 Vega CLI/VDA, macOS는 로컬 헬퍼, Linux는 AT-SPI를 사용합니다. 지원 깊이는 다양하며, capabilities 명령으로 각 대상이 지원하는 기능을 보고합니다.
이 프로젝트는 Appium, Detox, Maestro를 보완하는 위치에 있습니다. 이들은 테스트 스위트를 작성하고 유지하는 데 사용되는 반면, agent-device는 에이전트가 런타임에 앱 상태를 읽고 명령을 선택할 수 있게 하며, 선택적으로 실행 결과를 해당 형식으로 내보낼 수 있습니다. MIT 라이선스입니다.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.