gitmyhub

mobilerun

Python ★ 8.6k updated 1d ago

Automate your mobile devices with natural language commands - an LLM agnostic mobile Agent 🤖

A Python framework that lets you control Android and iOS devices with plain-English instructions, using an AI agent that reads the screen and taps through the app for you.

PythonOpenAIAnthropicGoogle GeminiOllamaDeepSeeksetup: moderatecomplexity 3/5

Mobilerun is a Python framework that lets you control Android and iOS devices by typing plain-language instructions instead of writing automation scripts. You tell it what you want in a sentence, and an AI agent figures out how to tap, swipe, and navigate through the device to make it happen.

Setup takes three steps: install the mobilerun Python package, run a setup command that installs a companion portal app on your phone or emulator, then run a configure command to pick an AI provider and enter your credentials. After that you can type commands like "open settings and turn on dark mode" or "search for an apartment in Berlin" and the agent will carry them out on the device.

The AI side is not tied to any single service. You can use OpenAI, Anthropic, Google Gemini, Ollama, or DeepSeek as the underlying model, chosen at configuration time. The agent takes screenshots during each task to understand what is currently on screen and uses that visual information when deciding what to tap or type next.

The tool covers several use cases: automated testing of mobile apps, walking less technical people through workflows on their phones, handling repetitive tasks that would otherwise require manual tapping, and exploring app interfaces with plain-language commands. A Python API is also available for writing custom automation scripts if you need more control than the command-line interface provides.

The project is MIT licensed and requires Python 3.11 through 3.13. A cloud-hosted version is available, documentation lives at docs.mobilerun.ai, and a benchmark page shows accuracy results across different task types and model providers.

Where it fits