agent-device
通过基于快照的界面发现和选择器驱动的回放,自动化iOS和Android应用交互。支持iOS模拟器/设备和Android模拟器/设备,具备会话绑定自动化、多租户远程守护进程模式以及面向QA工作流的设备级隔离。核心命令包括:用于UI发现及元素引用的snapshot、用于交互操作的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.