callstack/agent-device

CLI to control iOS and Android devices for AI agents

何を解決するか

agent-device provides a way for AI coding agents to interact with and verify applications across multiple platforms. It solves the problem of agents being unable to "see" or control the actual running app to verify if their code changes actually work in a real environment, bridging the gap between writing code and end-to-end verification.

どうやって動作するか

The tool operates as a CLI that agents can use to inspect the app state and perform actions. It uses an "inspect-act-verify" loop: agents read token-efficient accessibility snapshots of the UI (using the app's accessibility tree), identify elements via references (refs) or selectors, and execute commands to interact with the UI (e.g., tapping, filling fields, scrolling).

It integrates with various platform-specific backends: XCTest for iOS/tvOS, ADB for Android, Vega CLI/VDA for Vega Virtual Device, and AT-SPI for Linux, as well as a local helper for macOS and agent-browser for web automation.

対象者

  • 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と互換性があります。