android-agent  by ghost-in-the-droid

Mobile device automation framework for LLM agents

Created 3 months ago
257 stars

Top 98.3% on SourcePulse

GitHubView on GitHub
Project Summary

<2-3 sentences summarising what the project addresses and solves, the target audience, and the benefit.> Ghost in the Droid provides an open-source framework enabling AI agents to control real Android and iOS devices. It bridges the gap between LLM reasoning and physical mobile interaction, allowing agents to see screens, tap buttons, and execute tasks. This empowers developers and researchers to build sophisticated mobile automation powered by various AI models, scaling from a single device to a farm, offering significant benefits for AI-driven mobile testing and operations.

How It Works

The framework employs a modular, swappable architecture, allowing users to select a platform (Android via ADB, iOS via Appium/WebDriverAgent), a "brain" (LLM provider like Anthropic, Ollama, or local models), and a driver (CLI, web dashboard, LangChain). A key design principle is the separation of "skills"—pre-compiled, deterministic YAML and Python workflows for common tasks that require zero LLM calls—from LLM-driven actions for novel or complex operations. This optimizes performance, reduces token costs, and provides a consistent tool surface (MCP) for diverse LLM clients.

Quick Start & Requirements

Installation is streamlined via uvx (e.g., uvx ghost-in-the-droid up) or pipx (pipx install ghost-in-the-droid). A doctor command checks prerequisites.

  • Python: 3.10+
  • Android: USB debugging enabled, ADB on PATH.
  • iOS: macOS with Xcode, Appium 2 + XCUITest driver, and a trusted iPhone or booted simulator.
  • Node.js: 18+ for frontend development. Official documentation and a Skill Hub are available.

Highlighted Details

  • Cross-Platform Control: Manages both Android (ADB) and iOS (Appium/WebDriverAgent) devices, including real hardware and emulators/simulators.
  • Flexible AI Integration: Supports numerous LLMs, from cloud APIs (Anthropic, OpenAI) to fully local models (Ollama, vLLM, llama.cpp, MLX).
  • On-Device Inference: Enables running LLM models directly on Android or iOS devices for enhanced privacy and offline operation.
  • Skill Hub: A community-driven registry for discovering, sharing, and installing reusable automation skills.
  • MCP Server: Exposes a standardized 62-tool interface for seamless integration with various LLM agent frameworks.

Maintenance & Community

The project actively encourages community contributions, particularly for developing and sharing new skills via the Skill Hub. Detailed contribution guidelines are available in CONTRIBUTING.md.

Licensing & Compatibility

The project is licensed under the permissive MIT license, allowing for commercial use and integration into closed-source projects. iOS support is opt-in and requires a macOS environment.

Limitations & Caveats

iOS support is contingent on macOS and requires specific setup for Appium and WebDriverAgent. Certain Android-specific tools (e.g., ADB shell, intents) are not available on iOS and will result in platform errors. The project's benchmark results are presented as a preview.

Health Check
Last Commit

2 days ago

Responsiveness

Inactive

Pull Requests (30d)
22
Issues (30d)
0
Star History
158 stars in the last 30 days

Explore Similar Projects

Starred by Chip Huyen Chip Huyen(Author of "AI Engineering", "Designing Machine Learning Systems") and Gregor Zunic Gregor Zunic(Cofounder of Browser Use).

mobilerun by droidrun

0.1%
9k
Framework for controlling Android devices via LLM agents
Created 1 year ago
Updated 4 days ago
Feedback? Help us improve.