Skip to main content

What is Mobilerun?

Mobilerun uses a multi-agent architecture where specialized agents work together to complete tasks. Instead of one agent doing everything, different agents handle planning, execution, and computation.

Execution Modes

Reasoning Mode (reasoning=True)

Manager creates plans, Executor takes actions. Best for complex multi-step tasks.

Direct Mode (reasoning=False)

FastAgent executes immediately via XML tool-calling without planning overhead. Best for simple tasks.

Core Agents

MobileAgent (Orchestrator)

Main coordinator that routes between agents based on mode. Location: mobilerun/agent/droid/droid_agent.py

ManagerAgent (Planner)

Creates strategic plans and breaks tasks into subgoals. Reasoning mode only. Location: mobilerun/agent/manager/manager_agent.py Workflow: prepare_context()get_response()process_response()finalize()

ExecutorAgent (Actor)

Executes atomic actions for each subgoal. Reasoning mode only. Location: mobilerun/agent/executor/executor_agent.py Workflow: prepare_context()get_response()process_response()execute()finalize()

FastAgent (Direct Executor)

Uses XML tool-calling for device interaction. Direct mode only. Location: mobilerun/agent/fast_agent/fast_agent.py Available Actions:

Configuration

Configure different LLMs per agent:

When to Use Each Mode

Use Reasoning Mode for:
  • Multi-step tasks (booking flights, configuring settings)
  • Tasks requiring planning and adaptation
  • Complex workflows across multiple apps
Use Direct Mode for:
  • Simple actions (screenshots, sending messages)
  • Fast execution without planning overhead
  • Well-defined single-step tasks

Shared State

All agents share MobileAgentState for coordination:
  • Action history and outcomes
  • Error tracking and recovery
  • Memory and context
  • Current plan and progress

Quick Reference