无需编程!Open-AutoGLM实现语音控制手机全流程
你有没有想过,动动嘴就能让手机自动完成一系列操作?比如你说“打开小红书搜美食”,手机就自己打开App、输入关键词、开始搜索——整个过程完全不需要你动手点击。这听起来像科幻电影的场景,如今通过Open-AutoGLM已经可以轻松实现。
这不是某个大厂的秘密项目,而是一个由智谱开源的、真正可落地的手机端AI Agent框架:AutoGLM-Phone。它结合视觉语言模型与自动化控制技术,让你用自然语言指挥手机,像拥有一个私人数字助理。
更关键的是——你不需要会编程,也能快速上手使用。本文将带你从零开始,一步步部署并体验这个神奇的AI手机助手,全程无需写复杂代码,只要跟着操作就能让AI替你操控手机。
1. Open-AutoGLM是什么?一句话讲清楚
简单来说,Open-AutoGLM 是一个能让AI“看懂”手机屏幕,并根据你的语音或文字指令自动操作手机的应用框架。
它的核心能力有三点:
- 多模态理解:AI不仅能听懂你说的话,还能“看到”当前手机屏幕上显示的内容(比如按钮位置、文字信息)。
- 自动规划执行:在理解任务和界面后,AI会自己决定下一步该点哪里、怎么滑动、输入什么内容。
- 无需开发经验:所有底层逻辑已经封装好,用户只需下达自然语言指令,如“发微信给张三说晚上吃饭”。
背后的技术原理其实不难理解:系统通过 ADB(Android Debug Bridge)连接安卓设备,每秒截取一次屏幕画面,送入视觉语言模型分析;然后模型结合你的指令,输出具体的操作命令(如点击坐标、输入文本),再由ADB执行到真机上。
整个流程就像一个人一边看着手机,一边听你说话,然后替你完成所有点击动作。
2. 准备工作:软硬件环境配置
要让 Open-AutoGLM 正常运行,你需要准备以下几样东西:
2.1 硬件与系统要求
| 项目 | 要求 |
|---|---|
| 电脑 | Windows 或 macOS(推荐64位系统) |
| 手机 | 安卓7.0以上的真实设备或模拟器 |
| 连接方式 | USB数据线 或 同一WiFi下的无线ADB |
建议使用性能较好的中高端手机,确保运行流畅。如果你没有实体机,也可以用 Android Studio 的模拟器替代。
2.2 安装Python环境
Open-AutoGLM 的控制端是基于 Python 开发的,所以需要先安装 Python。
- 推荐版本:Python 3.10+
- 下载地址:https://www.python.org/downloads/
- 安装时务必勾选“Add Python to PATH”,否则后续命令无法识别。
安装完成后,在终端输入:
python --version如果返回类似Python 3.10.9的信息,说明安装成功。
2.3 配置ADB工具
ADB 是连接电脑和安卓设备的核心工具。你可以从 Google 官方下载 Android SDK Platform Tools 包来获取 ADB。
Windows 用户配置步骤:
- 下载 Platform Tools
- 解压到任意目录,例如
C:\platform-tools - 按下
Win + R输入sysdm.cpl→ 高级 → 环境变量 - 在“系统变量”中找到
Path,点击编辑 → 新建 → 添加刚才解压的路径 - 打开命令提示符,输入:
如果显示版本号(如adb versionAndroid Debug Bridge version 1.0.41),说明配置成功。
macOS 用户配置方法:
打开 Terminal,执行以下命令(假设你把 platform-tools 放在 Downloads 文件夹):
export PATH=${PATH}:~/Downloads/platform-tools为了永久生效,可以将这条命令添加到.zshrc文件中:
echo 'export PATH=${PATH}:~/Downloads/platform-tools' >> ~/.zshrc source ~/.zshrc3. 手机端设置:开启调试权限
为了让电脑能远程控制手机,必须在手机上开启开发者选项和USB调试功能。
3.1 开启开发者模式
进入手机【设置】→【关于手机】→ 连续点击“版本号”7次,直到提示“您已进入开发者模式”。
3.2 开启USB调试
返回设置主菜单 →【开发者选项】→ 找到并勾选“USB调试”选项。
注意:不同品牌手机路径略有差异,请根据机型自行查找。
3.3 安装ADB Keyboard(重要)
这是为了让AI能够输入文字。因为普通输入法无法被程序调用,所以我们需要一个特殊的键盘应用。
- 下载地址:https://github.com/senzhk/ADBKeyBoard
- 安装 APK 到手机
- 进入【语言与输入法】设置 → 将默认输入法切换为ADB Keyboard
这样,AI就可以通过命令发送文本,直接输入到任何输入框中了。
4. 部署Open-AutoGLM控制端
现在我们来部署本地的控制程序,也就是 Open-AutoGLM 的客户端。
4.1 克隆项目代码
打开终端或命令行工具,执行:
git clone https://github.com/zai-org/Open-AutoGLM cd Open-AutoGLM4.2 安装依赖库
运行以下命令安装所需 Python 包:
pip install -r requirements.txt pip install -e .提示:建议使用虚拟环境(venv)避免依赖冲突:
python -m venv venv source venv/bin/activate # Linux/macOS venv\Scripts\activate # Windows
安装完成后,你会看到phone_agent模块被成功注册到环境中。
5. 连接手机设备的两种方式
Open-AutoGLM 支持两种连接方式:USB 和 WiFi。推荐新手先用 USB,稳定且易排查问题。
5.1 使用USB连接(推荐初学者)
- 用数据线将手机连接电脑
- 手机弹出“允许USB调试?”对话框时,点击“允许”
- 在终端输入:
adb devices - 如果看到类似下面的输出,说明连接成功:
List of devices attached 1234567890abcde device
记下这个设备ID,后面会用到。
5.2 使用WiFi无线连接(适合远程控制)
如果你想摆脱数据线束缚,可以用WiFi连接。
第一步:先用USB连接启动TCP服务
adb tcpip 5555第二步:断开USB,用IP连接
确保手机和电脑在同一局域网内,查看手机IP地址(一般在【设置】→【WLAN】里),然后执行:
adb connect 192.168.x.x:5555替换192.168.x.x为你的手机真实IP。
再次运行adb devices,应该能看到设备以 IP 形式列出。
6. 让AI接管手机:执行第一条语音指令
一切准备就绪,现在我们可以让 AI 开始干活了!
6.1 命令行方式运行任务
在项目根目录下运行以下命令:
python main.py \ --device-id <你的设备ID或IP:5555> \ --base-url http://<云服务器IP>:<映射端口>/v1 \ --model "autoglm-phone-9b" \ "打开抖音搜索抖音号为:dycwo11nt61d 的博主并关注他!"参数说明:
--device-id:前面通过adb devices查到的设备ID或IP地址--base-url:指向运行 AutoGLM 模型的云服务器地址(需提前部署)--model:指定使用的模型名称- 最后的字符串:就是你要下达的自然语言指令
示例:
python main.py \ --device-id 1234567890abcde \ --base-url http://123.45.67.89:8800/v1 \ --model "autoglm-phone-9b" \ "打开小红书搜索‘咖啡探店’并点赞前三篇笔记"
执行后,你会看到终端不断打印日志,AI会逐步解析屏幕内容,做出决策,并自动完成点击、滑动、输入等操作。
6.2 实际效果演示
当你下达“打开小红书搜美食”这样的指令后,AI会自动:
- 解锁手机(若已解锁则跳过)
- 找到并点击“小红书”App图标
- 等待App加载完成
- 识别搜索框位置并点击
- 通过 ADB Keyboard 输入“美食”
- 点击“搜索”按钮
- 滑动浏览结果页
整个过程无需人工干预,就像有人在替你操作手机。
7. 更高级的用法:Python API集成
虽然命令行足够简单,但如果你想把这项能力嵌入自己的应用中,也可以使用 Python API。
7.1 初始化ADB连接
from phone_agent.adb import ADBConnection, list_devices # 创建连接管理器 conn = ADBConnection() # 连接远程设备 success, message = conn.connect("192.168.1.100:5555") print(f"连接状态: {message}") # 列出所有已连接设备 devices = list_devices() for device in devices: print(f"{device.device_id} - {device.connection_type.value}")7.2 获取设备IP并启用无线调试
# 在USB连接状态下开启TCP/IP模式 success, message = conn.enable_tcpip(5555) if success: ip = conn.get_device_ip() print(f"设备IP地址: {ip}") else: print("无法获取IP,请检查网络") # 断开连接 conn.disconnect("192.168.1.100:5555")这些API非常适合用于批量管理多台测试机、自动化测试脚本或远程运维场景。
8. 常见问题与解决方案
即使按照步骤操作,也可能会遇到一些问题。以下是高频故障及应对方法:
8.1 ADB连接失败
现象:adb devices显示unauthorized或无设备
解决办法:
- 检查手机是否弹出“允许USB调试?”提示,确认点击了“允许”
- 更换数据线或USB接口
- 重启 ADB 服务:
adb kill-server adb start-server
8.2 模型无响应或乱码
现象:AI一直卡住,或输出奇怪字符
可能原因:
- 云服务器未正确运行 vLLM 服务
- 显存不足导致推理失败
max-model-len参数设置不合理
建议:
- 确保云服务器已正确部署模型,且端口对外开放
- 检查防火墙是否放行对应端口(如8800)
- 使用
nvidia-smi查看GPU显存占用情况
8.3 输入中文失败
现象:搜索词无法正确输入
原因:未正确切换 ADB Keyboard 为默认输入法
解决方法:
- 进入手机【设置】→【语言与输入法】→【默认键盘】→ 选择 ADB Keyboard
- 可尝试手动切换一次输入法,触发激活
9. 安全机制与人工接管设计
尽管自动化很强大,但涉及敏感操作(如支付、删除账号)时,系统不会贸然行动。
Open-AutoGLM 内置了多重安全机制:
- 敏感操作拦截:当检测到“付款”、“删除”、“授权登录”等高风险行为时,AI会暂停执行,等待人工确认
- 验证码场景接管:遇到短信验证码、图形验证码等情况,系统会通知用户手动输入
- 远程调试支持:可通过网页界面实时查看手机屏幕,便于监控和干预
这种“AI为主、人为辅”的设计理念,既提升了效率,又保障了安全性。
10. 总结:未来已来,人人可用的AI助理
通过本文的完整实践,你应该已经成功让 Open-AutoGLM 替你操作了一部手机。整个过程不需要编写复杂的脚本,也不需要了解深度学习原理,只需要:
- 配置好 ADB 环境
- 安装必要的组件
- 下达一条自然语言指令
就能实现全自动手机操作。
这不仅是一个炫酷的技术demo,更是未来人机交互方式的一种预演。想象一下:
- 上班路上说一句“帮我订今天晚上的餐厅”,手机自动完成搜索、比价、预约
- 回家前喊一声“打开空调和热水器”,智能家居联动响应
- 工作中只需口述“整理上周客户沟通记录”,AI自动生成摘要并发送邮件
真正的智能,不是让我们学会操作机器,而是让机器学会理解我们。
而现在,这一切已经可以通过 Open-AutoGLM 变成现实。
获取更多AI镜像
想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。