跳到主要内容
项目档案应用项目

PhoneDriver:基于 Qwen3-VL 的 Android 自动化工具 - 自然语言控制手机操作指南

OminousIndustries/PhoneDriver:PhoneDriver 是一个基于 Qwen3-VL 视觉语言模型的 Android 自动化工具,通过自然语言描述任务,自动分析屏幕并执行 AD本页整理它解决什么问题、适用场景、安装方式和使用方法。

1,632PythonStar 于 2026年3月1日2026年9月18日 更新

AI 总结

PhoneDriver 是一个基于 Qwen3-VL 视觉语言模型的 Android 自动化工具,通过自然语言描述任务,自动分析屏幕并执行 ADB 命令,实现手机操作的智能控制。

中文项目介绍

PhoneDriver 是一个 Python 编写的 Android 设备自动化代理,核心利用 Qwen3-VL 视觉语言模型理解屏幕 UI 内容,将自然语言任务转化为可执行的 ADB 操作序列。它解决了传统自动化依赖精确坐标或脚本的痛点,用户只需用日常语言描述目标(如“打开 Chrome 搜索天气”),系统即可自主完成屏幕分析、动作规划与执行。 该项目适用于自动化测试、日常任务自动化、辅助操作及演示录制等场景,提供 Gradio Web 界面和命令行两种使用方式,支持实时截图与日志反馈。技术特征包括:基于 transformers 的模型集成、ADB 底层控制、Dense/MoE 模型切换、屏幕分辨率配置、以及通过 config.json 调整温度、延迟等参数。

详细信息与使用说明

1. 项目定位与用途

PhoneDriver 是一个基于 Qwen3-VL 视觉语言模型的 Android 自动化工具,允许用户通过自然语言描述来控制手机。它自动捕获屏幕截图,利用视觉模型分析界面元素,规划并执行 ADB 命令序列,最终完成打开应用、点击、输入等操作。主要用途是降低移动自动化门槛,使非专业用户也能轻松实现手机任务的自动化。

2. 解决的问题

传统 Android 自动化工具(如 Appium、UI Automator)通常需要编写精确的坐标脚本或 XML 布局解析,对用户技术要求高且维护困难。PhoneDriver 通过视觉语言模型直接理解屏幕语义,将“打开设置并启用 WiFi”这类自然语言指令自动转化为操作步骤,解决了精确坐标依赖、脚本编写复杂、界面变更适应性差等问题,实现更直观、灵活的自动化控制。

3. 适用场景

1. 自动化测试:用自然语言描述测试流程,如“登录应用并检查首页元素”。2. 日常任务自动化:例如“打开相机拍照并保存”、“查询天气预报”。3. 辅助操作:为视障用户或复杂设备操作提供语音控制接口。4. 演示录制:自动执行预设交互流程,用于产品演示或教程制作。5. 探索性测试:随机或目标导向地探索应用功能。

4. 安装方式

1. 安装 ADB:Linux/Ubuntu 系统使用 `sudo apt update && sudo apt install adb`;其他操作系统安装方式仓库未明确给出。2. 克隆仓库并创建虚拟环境:`git clone https://github.com/OminousIndustries/PhoneDriver.git`,进入目录后运行 `python -m venv phonedriver` 并激活。3. 安装 Python 依赖:从 GitHub 安装最新版 transformers(`pip install git+https://github.com/huggingface/transformers`),以及 pillow、gradio、qwen_vl_utils、requests。4. 连接 Android 设备并启用 USB 调试,通过 `adb devices` 验证连接。

5. 使用方式

Web UI(推荐):运行 `python ui.py`,访问 http://localhost:7860,在界面中输入自然语言任务(如“打开 Chrome”),可实时查看截图和日志。命令行:运行 `python phone_agent.py "任务描述"`,例如 `python phone_agent.py "打开相机应用"`。配置:编辑 `qwen_vl_agent.py` 切换 Qwen3-VL 模型(4B/8B 或 MoE),或修改 `config.json` 调整屏幕分辨率、温度、步长延迟等参数。

6. 补充说明与实现特点

项目默认使用 Dense 型 Qwen3-VL-4B/8B 模型,性能良好;若需 MoE 模型,需修改 `qwen_vl_agent.py` 中的导入语句和模型类名。屏幕分辨率可通过 Web UI 设置页自动检测,或手动在 `config.json` 中配置,使用 `adb shell wm size` 查询设备分辨率。硬件要求包括 Python 3.10+、GPU 足够显存(测试环境为 24GB GPU 运行 8B 模型)、以及 ADB 环境。工作流程为:截图 → 视觉分析 → 动作规划 → ADB 执行 → 循环直至任务完成或达到最大步数。

思维导图

PhoneDriver
核心代理
Qwen3-VL 集成
视觉屏幕分析
ADB 命令生成
命令行入口
phone_agent.py
任务循环执行
Web 界面
ui.py (Gradio)
实时截图展示
执行日志输出
视觉工具
qwen_vl_utils.py
截图处理
提示词构建
配置与依赖
config.json
模型选择 (4B/8B/MoE)
分辨率设置
transformers / gradio

常见问题

OminousIndustries/PhoneDriver 是做什么的?

PhoneDriver 是一个基于 Qwen3-VL 视觉语言模型的 Android 自动化工具,通过自然语言描述任务,自动分析屏幕并执行 ADB 命令,实现手机操作的智能控制。

OminousIndustries/PhoneDriver 适合用在什么场景?

PhoneDriver 是一个基于 Qwen3-VL 视觉语言模型的 Android 自动化工具,允许用户通过自然语言描述来控制手机。它自动捕获屏幕截图,利用视觉模型分析界面元素,规划并执行 ADB 命令序列,最终完成打开应用、点击、输入等操作。主要用途是降低移动自动化门槛,使非专业用户也能轻松实现手机任务的自动化。

OminousIndustries/PhoneDriver 如何安装?

1. 安装 ADB:Linux/Ubuntu 系统使用 `sudo apt update && sudo apt install adb`;其他操作系统安装方式仓库未明确给出。2. 克隆仓库并创建虚拟环境:`git clone https://github.com/OminousIndustries/PhoneDriver.git`,进入目录后运行 `python -m venv phonedriver` 并激活。3. 安装 Python 依赖:从 GitHub 安装最新版 transformers(`pip install git+https://github.com/huggingface/transformers`),以及 pillow、gradio、qwen_vl_utils、requests。4. 连接 Android 设备并启用 USB 调试,通过 `adb devices` 验证连接。

OminousIndustries/PhoneDriver 如何开始使用?

Web UI(推荐):运行 `python ui.py`,访问 http://localhost:7860,在界面中输入自然语言任务(如“打开 Chrome”),可实时查看截图和日志。命令行:运行 `python phone_agent.py "任务描述"`,例如 `python phone_agent.py "打开相机应用"`。配置:编辑 `qwen_vl_agent.py` 切换 Qwen3-VL 模型(4B/8B 或 MoE),或修改 `config.json` 调整屏幕分辨率、温度、步长延迟等参数。