callstack/agent-device
Open source device layer for AI coding agents: a CLI, MCP server, and typed Node.js API to control mobile, web, TV, and desktop apps on devices and simulators, locally or in the cloud.
무엇을 하는 도구인가
agent-device는 명령줄 도구이자 MCP 서버로, AI 코딩 에이전트(Claude Code, Codex, Cursor, Windsurf, Cline, Goose)가 iOS, Android, HarmonyOS, TV 플랫폼, 웹, macOS, Linux에서 실행 중인 앱을 검사, 제어, 디버그, 검증할 수 있게 합니다. 시뮬레이터, 에뮬레이터, 실제 기기에서 작동합니다.
핵심 아이디어는 에이전트에게 토큰 효율적인 보기를 제공하는 것입니다. 스크린샷 대신 앱의 접근성 트리를 텍스트 스냅샷으로 읽고 UI 요소를 가리키는 refs(@e2, @e7…)를 통해 상호작용합니다. 스크린샷, 비디오, 로그, 추적, 네트워크 데이터, 크래시 세부 정보, React Native 성능 프로필을 증거로 저장하여 사람이 검토할 수 있게 합니다.
왜 중요한가
실행 중인 앱에서 코드 변경을 검증하는 것은 historically 수동 또는 스크립트 기반 어서션(Appium, Detox, Maestro) 작업이었습니다. agent-device는 이를 뒤집습니다. 에이전트 자체가 앱 상태를 읽고, 런타임에 명령(탭, 채우기, 스크롤, 제스처, 어서트)을 선택하고, 워크플로를 반복합니다. 따라서 코딩 에이전트는 기능을 구현하고, 두 플랫폼에서 실행하고, 검토 가능한 증거를 PR에 첨부할 수 있습니다.
또한 조정 문제를 해결합니다. 세션은 호출자의 git 워크트리에 범위가 지정되고, 디바이스 클레임은 병렬 에이전트가 서로의 시뮬레이터를 빼앗지 못하게 합니다. 기록된 실행은 CI용 .ad 리플레이 스크립트로 저장하거나 Maestro YAML로 내보낼 수 있습니다.
작동 방식
- 세 가지 진입점, 하나의 런타임: CLI, stdio MCP 서버(
agent-device mcp), 타입이 있는 Node.js 클라이언트(createAgentDeviceClient()) — 모두 세션, 디바이스 소유권, 선택자, 증거, 리플레이를 공유합니다. - 플랫폼별 백엔드: iOS 시뮬레이터 스냅샷용 로컬 접근성 브리지, iOS 상호작용 및 실제 기기용 XCTest, Android용 ADB, HarmonyOS용 HDC/ArkUI
uitest, Vega 가상 디바이스용 Vega CLI, Linux용 AT-SPI. 지원 깊이는 대상에 따라 다르며,agent-device capabilities --platform <platform>으로 확인할 수 있습니다. - 검사-작업-검증 루프는 Vercel의
agent-browser에서 채택했습니다. MCP는 CLI 명령을 구조화된 도구로 노출합니다. 일부 클라이언트에서는 일반 CLI가 선호됩니다. - 클라우드/원격 지원: 동일한 명령으로 BrowserStack, AWS Device Farm, TestMu AI, Limrun의 호스트형 디바이스를 구동할 수 있습니다.
성숙도
프로덕션 도구 품질: MIT 라이선스, npm 배포, CI 배지, 공식 문서 사이트, Vercel AI SDK 및 Eve 통합 가이드, Expo EAS CI용 워크플로 템플릿. 주요 도입 기업으로 Expensify, Shopify, JPMorgan Chase 등이 있습니다. Node.js 22.12+(웹 자동화에는 24+)가 필요합니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트