droidrun/mobile-harness

Skills for controlling Android, iOS and cloud phones

What it solves

Mobile Harness provides a standardized set of operating instructions and a Python API that allows AI agents to control Android and iOS devices. It bridges the gap between an AI agent's reasoning and the actual execution of actions on a mobile device, whether that device is connected locally or hosted in the cloud.

How it works

It functions as a compact Markdown harness and a control library (mobilerun_core). Agents use the Python API to connect to devices via various backends (ADB for Android, HTTP portals for iOS and Android, or a cloud service). Once connected, the agent can interact with the device using high-level helpers to find UI elements in the accessibility tree, tap nodes, type text, scroll, and take screenshots. It also includes a structured set of Markdown guides (like AGENTS.md and platform-specific guides) that route agents to the correct instructions based on the current task or platform.

Who it’s for

This tool is designed for developers building AI agents that need to automate tasks, perform testing, or interact with mobile applications on real Android and iOS hardware.

Highlights

  • Cross-Platform Support: Works with both Android and iOS.
  • Flexible Connectivity: Supports local ADB, local HTTP portals, and cloud-based device access.
  • Accessibility-Based Interaction: Uses the device accessibility tree to find and interact with UI elements via find_nodes and tap_node.
  • Agent-Centric Documentation: Includes a system of Markdown guides specifically designed to be read and followed by AI agents during execution.
  • Web Integration: Allows executing JavaScript in a device's foreground Chrome tab on cloud devices.

Related

  • Project
  • Project
  • Project
  • Dispatch
  • Project