
Security News
Open Source Maintainers Feeling the Weight of the EU’s Cyber Resilience Act
The EU Cyber Resilience Act is prompting compliance requests that open source maintainers may not be obligated or equipped to handle.
[ English | 中文 ]
https://github.com/user-attachments/assets/5c4d3ce8-0135-4e6e-b003-b20f81f834d4
The user inputs the task description on the Web interface, and the Mobile Use automatically operates the mobile phone and completes the task.
In the AndroidWorld dynamic evaluation environment, we evaluated the multi-agent version of Mobile Use agent with the multimodal large language model Qwen2.5-VL-72B-Instruct and achieved a 61.2% success rate.
In the AndroidLab dynamic evaluation environment, we evaluated the multi-agent version of Mobile Use agent with the multimodal large language model Qwen2.5-VL-72B-Instruct and achieved a 44.2% success rate.
mobile-use
requires ADB to control the phone, which necessitates the prior installation of the relevant tools and connecting the phone to the computer via USB.
Step 1. Download SDK Platform-Tools for Desktop, click here.
Step 2. Unzip the downloaded file and add the platform-tools path to the environment variables.
Windows
In Windows, you can add the platform-tools
PATH to the Path
environment variable on the graphical interface (see here) or through the command line as follows:
setx PATH "%PATH%;D:\your\download\path\platform-tools"
Mac/Linux
$ echo 'export PATH=/your/downloads/path/platform-tools:$PATH' >> ~/.bashrc
$ source ~/.bashrc
Step 3. Open the command line and enter adb devices
(Windows: adb.exe devices
) to verify adb is available or not.
For HyperOS or MIUI, you need to turn on USB Debugging (Security Settings) at the same time.
Run the adb devices
(Windows: adb.exe devices
) command on the command line terminal. If the device serial_no is listed, the connection is successful. The correct log is as follows:
List of devices attached
a22d0110 device
With pip (Python>=3.10):
pip install mobile-use
# Clone github repo
git clone https://github.com/MadeAgents/mobile-use.git
# Change directory into project directory
cd mobile-use
# Install uv if you don't have it already
pip install uv
# Create a virtual environment and install dependencies
# We support using Python 3.10, 3.11, 3.12
uv venv .venv --python=3.10
# Activate the virtual environment
# For macOS/Linux
source .venv/bin/activate
# For Windows
.venv\Scripts\activate
# Install mobile-use with all dependencies (pip >= 21.1)
uv pip install -e .
python -m mobile_use.webui
Once the service starts successfully, open the address http://127.0.0.1:7860 in your browser to access the WebUI page, as shown below:
Click VLM Configuration to set the Base URL and API Key of the multimodal large language model. It is recommended to use the multimodal large language model of Qwen2.5-VL series.
Input task descriptions in the input box at the lower left corner, click start to execute tasks.
If you want to input Chinese characters to your phone, for example, to let MobileUse execute a command like this: search for "咖啡" in the Meituan app, you need
adb install <path-to-ADBKeyboard.apk>
⚠️ Special Reminder: The actions are autonomously decided by the intelligent agent, which may pose uncontrollable operational risks. It is recommended that during the experience, you constantly monitor your phone's status. If you encounter any operational risks, promptly terminate the task or use a test phone for the experience to avoid issues caused by accidental operations.
Case1:Search the latest news of DeepSeek-R2 in Xiaohongshu APP and forward one of the news to the Weibo App
https://github.com/user-attachments/assets/c44ddf8f-5d3f-4ace-abb3-fab4838b68a4
Case2:Order 2 Luckin coffees with Meituan, 1 hot raw coconut latte standard sweet, and 1 cold light jasmine
https://github.com/user-attachments/assets/6130e87e-dd07-4ddf-a64d-051760dbe6b3
Case3:用美团点一杯咖啡,冰的,标准糖
https://github.com/user-attachments/assets/fe4847ba-f94e-4baa-b4df-857cadae5b07
Case4:用美团帮我点2杯瑞幸咖啡,要生椰拿铁标准糖、热的
https://github.com/user-attachments/assets/5c4d3ce8-0135-4e6e-b003-b20f81f834d4
Case5:在浏览器找一张OPPO Find N5图片,询问DeepSeek应用该手机介绍信息,将找到的图片和介绍信息通过小红书发布
https://github.com/user-attachments/assets/4c3d8800-78b7-4323-aad2-8338fe81cb81
Case6:帮我去OPPO商城、京东、以及淘宝分别看一下oppofind n5售价是多少
https://github.com/user-attachments/assets/84990487-f2a3-4921-a20e-fcdebfc8fc60
Case7: Turn on Bluetooth and WIFI
https://github.com/user-attachments/assets/c82ae51e-f0a2-4c7b-86e8-e3411d9749bb
📱 Mobile Settings
The Android ADB Server Host
and Android ADB Server Port
allow you to specify the address and port of the android ADB service, which can be used for remote device connections or local android ADB services on non-default port. When multiple devices exist, you need to specify the Device Serial No
. The Reset to HOME
parameter indicates whether to return the phone to the home page before executing the task. If you continue the previous task, you need to cancel this option.
⚙️ Agent Settings
The Max Run Steps
parameter specifies the maximum number of iteration steps for the Agent. If the current task exceeds the maximum number of iteration steps, the task will be stopped. Therefore, you are advised to set a larger value for complex tasks with more operation steps. The Maximum Latest Screenshot
is to control the number of latest screenshots that the Agent can see. Because pictures consume more tokens, when the task has more steps, Appropriately take a Screenshot of the latest Maximum Latest Screenshot
and send it to VLM to generate the next operation accordingly. The Maximum Reflection Action
is to control the maximum number of reflection times of the Agent. The greater the value, the higher the fault tolerance rate of the Agent, but the longer the processing time of the task.
🔧 VLM Configuration
Click VLM Configuration
to specify the Base URL and API Key of the multimodal large language model, as well as the model name and temperature coefficient. It is recommended to use the multimodal large language model of Qwen2.5-VL series.
import os
from dotenv import load_dotenv
from mobile_use.scheme import AgentState
from mobile_use import Environment, VLMWrapper, Agent
from mobile_use.logger import setup_logger
load_dotenv()
setup_logger(name='mobile_use')
# Create environment controller
env = Environment(serial_no='a22d0110')
vlm = VLMWrapper(
model_name="qwen2.5-vl-72b-instruct",
api_key=os.getenv('VLM_API_KEY'),
base_url=os.getenv('VLM_BASE_URL'),
max_tokens=128,
max_retry=1,
temperature=0.0
)
agent = Agent.from_params(dict(type='default', env=env, vlm=vlm, max_steps=3))
going = True
input_content = goal
while going:
going = False
for step_data in agent.iter_run(input_content=input_content):
print(step_data.action, step_data.thought)
See AndroidWorld.md.
We welcome all forms of contributions! Please read our contribution guide to learn about:
This project is licensed under the MIT License, which permits free use and modification of the code but requires retaining the original copyright notice.
If you have used this project in your research or work, please cite:
@software{
title = {Mobile Use: Your AI assistant for mobile - Any app, any task},
author = {Jiamu Zhou, Xiaoyun Mo, Ning Li, Qiuying Peng},
year = {2025},
publisher = {GitHub},
url = {https://github.com/MadeAgents/mobile-use}
}
This project benefits from the contributions of:
Thanks for their wonderful works.
FAQs
Mobile Use: Automate your mobile with AI - Any app, any task.
We found that mobile-use demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
The EU Cyber Resilience Act is prompting compliance requests that open source maintainers may not be obligated or equipped to handle.
Security News
Crates.io adds Trusted Publishing support, enabling secure GitHub Actions-based crate releases without long-lived API tokens.
Research
/Security News
Undocumented protestware found in 28 npm packages disrupts UI for Russian-language users visiting Russian and Belarusian domains.