logo

Mobile-Agent-E: 可自主进化的移动助手,可执行复杂任务

🌐 主页 • 🗃️ arXiv • 📃 PDF • 💻 代码 • 🤗 数据

Zhenhailong Wang1†, Haiyang Xu2†, Junyang Wang2, Xi Zhang2, Ming Yan2, Ji Zhang2, Fei Huang2, Heng Ji1†

{wangz3, hengji}@illinois.edu, shuofeng.xhy@alibaba-inc.com

1University of Illinois Urbana-Champaign 2Alibaba Group
†Corresponding author

简体中文 | English

logo

## 💻 Environment Setup ❗我们仅在**Android**操作系统上进行了测试。Mobile-Agent-E 目前不支持**iOS**。 ❗所有实验均在三星 Galaxy A15 设备上进行,不同设备上的性能可能会有所不同。我们鼓励用户根据自己的设备和任务自定义初始提示。 ### 安装 ``` conda create -n mobile_agent_e python=3.10 -y conda activate mobile_agent_e pip install -r requirements.txt ``` ### 准备通过ADB连接你的移动设备 1. 下载 [Android Debug Bridge](https://developer.android.com/tools/releases/platform-tools?hl=en)(ADB)。 2. 在你的移动设备上开启“USB调试”或“ADB调试”,它通常需要打开开发者选项并在其中开启。如果是HyperOS系统需要同时打开 "[USB调试(安全设置)](https://github.com/user-attachments/assets/05658b3b-4e00-43f0-87be-400f0ef47736)"。 3. 通过数据线连接移动设备和电脑,在手机的连接选项中选择“传输文件”。 4. 用下面的命令来测试你的连接是否成功: ```/path/to/adb devices```。如果输出的结果显示你的设备列表不为空,则说明连接成功。 5. 如果你是用的是MacOS或者Linux,请先为 ADB 开启权限: ```sudo chmod +x /path/to/adb```。 6. ```/path/to/adb```在Windows电脑上将是```xx/xx/adb.exe```的文件格式,而在MacOS或者Linux则是```xx/xx/adb```的文件格式。 ### 在你的移动设备上安装 ADB 键盘 1. 下载 ADB 键盘的 [apk](https://github.com/senzhk/ADBKeyBoard/blob/master/ADBKeyboard.apk) 安装包。 2. 在设备上点击该 apk 来安装。 3. 在系统设置中将默认输入法切换为 “ADB Keyboard”。 ### Agent Configs 请参阅 `inference_agent_E.py` 中的 `# Edit your Setting #` 部分,了解自定义代理的所有配置。您可以直接修改宏,也可以通过设置环境变量来控制其中一些配置,如下所示: 1. ADB 路径 ``` export ADB_PATH="your/path/to/adb" ``` 2. 基模型和 API keys: 您可以从 OpenAI、Gemini 或 Claude 中选择,设置相应的键如下: ``` export BACKBONE_TYPE="OpenAI" export OPENAI_API_KEY="your-openai-key" ``` ``` export BACKBONE_TYPE="Gemini" export GEMINI_API_KEY="your-gemini-key" ``` ``` export BACKBONE_TYPE="Claude" export CLAUDE_API_KEY="your-claude-key" ``` 3. 感知器: 默认情况下,Perceptor 中的图标字幕模型 (`CAPTION_MODEL`) 使用 Qwen API 中的“qwen-vl-plus”: - 按照此步骤获取 [Qwen API Key](https://help.aliyun.com/document_detail/2712195.html?spm=a2c4g.2712569.0.0.5d9e730aymB3jH) - 设置 Qwen API Key: ``` export QWEN_API_KEY="your-qwen-api-key" ``` - 您可以将 `inference_agent_E.py` 中的 `CAPTION_MODEL` 设置为“qwen-vl-max”,以获得更好的感知性能,但价格更高。 - 如果您的机器配备了高性能 GPU,您也可以选择在本地托管图标字幕模型: (1) 将 `CAPTION_CALL_METHOD` 设置为“local”; (2)根据 GPU 规格将 `CAPTION_MODEL` 设置为 'qwen-vl-chat' 或 'qwen-vl-chat-int4'。 4. 自定义初始提示:您可以根据特定设备和需求定制代理的提示。为此,请修改“inference_agent_E.py”中的“INIT_TIPS”。“data/custom_tips_example_for_cn_apps.txt”中提供了针对小红书和淘宝等中国应用的自定义提示示例。 ## 🚀 快速开始 代理可以在“individual”(执行独立任务)或“evolution”(使用 Evolution 执行一系列任务)设置下运行。我们提供以下示例 Shell 脚本: - 在独立任务上运行: ``` bash scripts/run_task.sh ``` - 运行一系列具有自我进化的任务。此脚本加载了一个示例 JSON 文件,该文件来自 `data/custom_tasks_example.json`. ``` bash scripts/run_tasks_evolution.sh ``` ## 🤗 Mobile-Eval-E 基准测试 建议的 Mobile-Eval-E 基准测试可在 `data/Mobile-Eval-E` 和 [Huggingface 数据集](https://huggingface.co/datasets/mikewang/mobile_eval_e) 中找到。 ## 📚 引用 ```bibtex @article{wang2025mobile, title={Mobile-Agent-E: Self-Evolving Mobile Assistant for Complex Tasks}, author={Wang, Zhenhailong and Xu, Haiyang and Wang, Junyang and Zhang, Xi and Yan, Ming and Zhang, Ji and Huang, Fei and Ji, Heng}, journal={arXiv preprint arXiv:2501.11733}, year={2025} } ```