agent-device
ทำงานอัตโนมัติสำหรับการโต้ตอบกับแอป iOS และ Android ด้วยการค้นหาแบบสแนปช็อตและการเล่นซ้ำแบบเลือกโดยใช้ตัวเลือก รองรับ iOS simulator/อุปกรณ์และ Android emulator/อุปกรณ์พร้อมระบบอัตโนมัติแบบผูกเซสชัน โหมดเดมอนระยะไกลแบบหลายผู้เช่า และการแยกขอบเขตอุปกรณ์สำหรับเวิร์กโฟลว์ QA คำสั่งหลัก: snapshot สำหรับการค้นหา UI พร้อม refs, press / fill / scroll สำหรับการโต้ตอบ, open / close สำหรับวงจรชีวิตแอป, install / reinstall สำหรับการปรับใช้ไบนารี รวมถึงยูทิลิตี้สำหรับการบันทึก, การตรวจสอบเครือข่าย,...
npx skills add https://github.com/callstackincubator/agent-device --skill agent-deviceagent-device
For a normal app-driving task, start immediately. Do not probe first with --help, --version, devices, appstate, snapshot, or screenshot:
agent-device open <app> --foreground
That starts the session and returns the initial interactive snapshot with @refs.
Loop: act with press|click|fill|longpress <target> ... --settle, scroll <direction> --settle, or back --settle; continue from the printed diff, verify the named expectation (wait text "...", is, get, or find), then run agent-device close.
Reaching an off-screen target is one command, not a scroll-and-check loop: scroll down --until <selector> scrolls until that element is on screen, and scroll bottom runs to the end of the content. Repeated bare scroll down calls are the slow way to find something.
Copy refs byte-for-byte: @e12, @e12~s4 — keep the @ and any ~sN. Prefer current refs, then id/label/role selectors; coordinates are a last resort. If snapshot reports sparse/AX-unavailable, its refs and selectors are invalid: run agent-device screenshot, inspect the image, use coordinates, then retry snapshot -i after navigating. Otherwise run snapshot -i only when the diff lacks the next target.
Error output includes corrective hints; follow them instead of re-planning. Only when the task is specialized (for example gestures, scripting, TV, macOS, remote, or debugging) or a command shape is unclear, run agent-device help <topic>. agent-device --help lists topics, but is not a startup step.