Phone Agent 是一个基于 AutoGLM 构建的手机端智能助理框架,它能够以多模态方式理解手机屏幕内容,并通过自动化操作帮助用户完成任务。系统通过 ADB(Android Debug Bridge)来控制设备,以视觉语言模型进行屏幕感知,再结合智能规划能力生成并执行操作流程。用户只需用自然语言描述需求,如“打开小红书搜索美食”,Phone Agent 即可自动解析意图、理解当前界面、规划下一步动作并完成整个流程。系统还内置敏感操作确认机制,并支持在登录或验证码场景下进行人工接管。同时,它提供远程 ADB 调试能力,可通过 WiFi 或网络连接设备,实现灵活的远程控制与开发。
Open-AutoGLM 是一个手机 Agent 框架:
- 输入:用户的自然语言指令(如”打开微信发消息给张三”)
- 输出:自动操作用户的安卓手机完成任务
- 原理:截图 → 视觉模型理解界面 → 输出点击坐标 → ADB 执行操作 → 循环
架构分为两部分:
- Agent 代码(本仓库):运行在用户电脑上,负责调用模型、解析动作、控制手机
- 视觉模型服务:可以是远程 API,也可以本地部署
Phone Agent 支持 50+ 款主流中文应用:
| 分类 | 应用 |
|---|---|
| 社交通讯 | 微信、QQ、微博 |
| 电商购物 | 淘宝、京东、拼多多 |
| 美食外卖 | 美团、饿了么、肯德基 |
| 出行旅游 | 携程、12306、滴滴出行 |
| 视频娱乐 | bilibili、抖音、爱奇艺 |
| 音乐音频 | 网易云音乐、QQ音乐、喜马拉雅 |
| 生活服务 | 大众点评、高德地图、百度地图 |
| 内容社区 | 小红书、知乎、豆瓣 |
运行 python main.py --list-apps 查看完整列表。
Agent 可以执行以下操作:
| 操作 | 描述 |
|---|---|
Launch |
启动应用 |
Tap |
点击指定坐标 |
Type |
输入文本 |
Swipe |
滑动屏幕 |
Back |
返回上一页 |
Home |
返回桌面 |
Long Press |
长按 |
Double Tap |
双击 |
Wait |
等待页面加载 |
Take_over |
请求人工接管(登录/验证码等) |
在开始部署前,请逐项向用户确认以下内容:
- 用户有一台安卓手机(Android 7.0+)
- 用户有一根支持数据传输的 USB 数据线(不是仅充电线)
- 手机和电脑可以通过数据线连接
- 手机已开启「开发者模式」(设置 → 关于手机 → 连续点击版本号 7 次)
- 手机已开启「USB 调试」(设置 → 开发者选项 → USB 调试)
- 部分机型需要同时开启「USB 调试(安全设置)」
- 手机已安装 ADB Keyboard 应用(下载地址:https://github.com/senzhk/ADBKeyBoard/blob/master/ADBKeyboard.apk)
- ADB Keyboard 已在系统设置中启用(设置 → 语言和输入法 → 启用 ADB Keyboard)
请明确询问用户:你是否已有可用的 AutoGLM 模型服务?
-
选项 A:使用已部署的模型服务(推荐)
- 用户提供模型服务的 URL(如
http://xxx.xxx.xxx.xxx:8000/v1) - 无需本地 GPU,无需下载模型
- 直接使用该 URL 作为
--base-url参数
- 用户提供模型服务的 URL(如
-
选项 B:本地部署模型(高配置要求)
- 需要 NVIDIA GPU(建议 24GB+ 显存)
- 需要安装 vLLM 或 SGLang
- 需要下载约 20GB 的模型文件
- 如果用户是新手或不确定,强烈建议选择选项 A
部署流程
阶段一:环境准备
# 1. 安装 ADB 工具
# MacOS:
brew install android-platform-tools
# 或手动下载:https://developer.android.com/tools/releases/platform-tools
# Windows: 下载后解压,添加到 PATH 环境变量
# 2. 验证 ADB 安装
adb version
# 应输出版本信息
# 3. 连接手机并验证
# 用数据线连接手机,手机上点击「允许 USB 调试」
adb devices
# 应输出设备列表,如:
# List of devices attached
# XXXXXXXX device
如果 adb devices 显示空列表或 unauthorized:
- 检查手机上是否弹出授权框,点击「允许」
- 检查 USB 调试是否开启
- 尝试更换数据线或 USB 接口
- 执行
adb kill-server && adb start-server后重试
阶段二:安装 Agent
# 1. 克隆仓库(如果还没有克隆)
git clone https://github.com/zai-org/Open-AutoGLM.git
cd Open-AutoGLM
# 2. 创建虚拟环境(推荐)
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
# 3. 安装依赖
pip install -r requirements.txt
pip install -e .
注意:不需要 clone 模型仓库,模型通过 API 调用。
如果用户选择选项 A(使用已部署的模型):
- 直接使用用户提供的 URL
- 跳过本地模型部署步骤
如果用户选择选项 B(本地部署模型):
# 1. 安装 vLLM
pip install vllm
# 2. 启动模型服务(会自动下载模型,约 20GB)
python3 -m vllm.entrypoints.openai.api_server \
--served-model-name autoglm-phone-9b \
--allowed-local-media-path / \
--mm-encoder-tp-mode data \
--mm_processor_cache_type shm \
--mm_processor_kwargs "{\"max_pixels\":5000000}" \
--max-model-len 25480 \
--chat-template-content-format string \
--limit-mm-per-prompt "{\"image\":10}" \
--model zai-org/AutoGLM-Phone-9B \
--port 8000
# 模型服务 URL 为:http://localhost:8000/v1
阶段四:验证部署
# 在 Open-AutoGLM 目录下执行
# 将 {MODEL_URL} 替换为实际的模型服务地址
python main.py --base-url {MODEL_URL} --model "autoglm-phone-9b" "打开微信,对文件传输助手发送消息:部署成功"
预期结果:
- 手机自动打开微信
- 自动搜索「文件传输助手」
- 自动发送消息「部署成功」
| 错误现象 | 可能原因 | 解决方案 |
|---|---|---|
adb devices 无输出 |
USB 调试未开启或数据线问题 | 检查开发者选项,更换数据线 |
adb devices 显示 unauthorized |
手机未授权 | 手机上点击「允许 USB 调试」 |
| 能打开应用但无法点击 | 缺少安全调试权限 | 开启「USB 调试(安全设置)」 |
| 中文输入变成乱码或无输入 | ADB Keyboard 未启用 | 在系统设置中启用 ADB Keyboard |
| 截图返回黑屏 | 敏感页面(支付/银行) | 正常现象,系统会自动处理 |
| 连接模型服务失败 | URL 错误或服务未启动 | 检查 URL,确认服务正在运行 |
ModuleNotFoundError |
依赖未安装 | 执行 pip install -r requirements.txt |
- 优先确认手机连接:在安装任何代码之前,先确保
adb devices能看到设备 - 不要跳过 ADB Keyboard:没有它,中文输入会失败
- 模型服务是外部依赖:Agent 代码本身不包含模型,需要单独的模型服务
- 遇到权限问题先检查手机设置:大部分问题都是手机端配置不完整
- 部署完成后用简单任务测试:建议用「打开微信发消息给文件传输助手」作为验收标准
命令速查
# 检查 ADB 连接
adb devices
# 重启 ADB 服务
adb kill-server && adb start-server
# 安装依赖
pip install -r requirements.txt && pip install -e .
# 运行 Agent(交互模式)
python main.py --base-url {MODEL_URL} --model "autoglm-phone-9b"
# 运行 Agent(单次任务)
python main.py --base-url {MODEL_URL} --model "autoglm-phone-9b" "你的任务描述"
# 查看支持的应用列表
python main.py --list-apps
部署完成的标志:手机能自动执行用户的自然语言指令。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END









- 最新
- 最热
只看作者