从0开始学AI手机控制:Open-AutoGLM新手实操全记录
你有没有想过,用一句话就能让手机自动完成一连串操作?比如“打开小红书搜最近爆火的咖啡店,截图发到微信文件传输助手”——不用点开App、不用输关键词、不用手动截图转发,AI自己看、自己想、自己点。这不是科幻,是Open-AutoGLM正在做的事。
它不是另一个“语音助手”,而是一个真正能“看见”手机屏幕、“理解”界面结构、“动手”点击滑动的AI代理。没有预设脚本,不依赖UI控件ID,哪怕App更新了图标位置,它也能靠视觉+语义重新找到路。
这篇文章不讲原理推导,不堆参数配置,只记录一个真实新手从零开始的全过程:怎么连上手机、怎么跑通第一条指令、哪里会卡住、为什么卡住、怎么绕过去。所有步骤都来自我亲手试错十几次后的结果,包括USB连不上时的冷知识、WiFi调试失败的真实原因、第一次成功执行“打开抖音关注博主”时的完整命令和返回日志。
如果你用过ADB但没写过自动化脚本,如果你会跑Python但没碰过多模态模型,如果你只是好奇“AI到底能不能真的操控我的手机”——这篇就是为你写的。
1. 先搞懂它到底是什么:不是APP,不是插件,是“手机界的AI司机”
Open-AutoGLM(准确说是其中的AutoGLM-Phone模块)不是一个装在手机里的App,也不是浏览器插件。它由两部分组成:运行在电脑上的控制端+部署在服务器或本地的AI大脑。
- 控制端:负责连接你的安卓手机(通过ADB),截屏、读取UI结构、执行点击/输入/滑动等动作;
- AI大脑:接收截图+UI信息+你的自然语言指令,输出下一步该做什么(比如“点击坐标(320,680)”或“输入文字‘健身’”),再由控制端执行。
关键区别在于:传统自动化工具(如Appium)靠“找控件ID”工作,一旦App改版ID变了就全崩;而Open-AutoGLM靠“看图说话”——它把屏幕截图和UI树一起喂给视觉语言模型,像人一样理解“这个蓝色按钮写着‘搜索’,应该点它”。
所以它不怕改版,但需要你先让手机“听话”:开启开发者选项、允许USB调试、装好ADB键盘。这些不是门槛,而是让手机从“封闭设备”变成“可被AI驾驶的终端”的必要授权。
2. 硬件与环境准备:三步搞定“手机-电脑”信任链
别急着敲代码。90%的新手卡在这一步:电脑认不出手机,或者手机不让ADB操作。我们按真实顺序来,不跳步。
2.1 你的设备清单(缺一不可)
- 一台安卓手机:Android 7.0及以上(建议Android 10+,兼容性更好),不是模拟器(模拟器虽能跑,但截图延迟高、UI结构不全,新手体验差);
- 一台电脑:Windows 10/11 或 macOS Monterey及以上;
- 一根数据线:USB-C to USB-C 或 USB-C to USB-A(确保支持数据传输,有些充电线只能充不能传);
- 网络环境:如果想用WiFi远程控制,手机和电脑必须在同一局域网(比如连同一个路由器)。
小贴士:别用Type-C转接头连MacBook!很多转接头不支持ADB数据通道,直接换原装线最省心。
2.2 电脑端:装好ADB,让它“认识”手机
Windows用户(最常见问题在这里)
- 下载Platform-tools(选zip包);
- 解压到一个简单路径,比如
C:\adb(不要放在中文路径或桌面); - 按
Win+R输入sysdm.cpl→ “高级” → “环境变量” → 在“系统变量”里双击“Path” → “新建” → 粘贴C:\adb; - 打开新命令提示符(CMD或PowerShell),输入:
如果显示版本号(如adb versionAndroid Debug Bridge version 1.0.41),说明成功。
macOS用户
- 终端里执行:
# 假设你把platform-tools解压到了 ~/Downloads/platform-tools echo 'export PATH=$PATH:~/Downloads/platform-tools' >> ~/.zshrc source ~/.zshrc - 输入
adb version验证。
常见失败原因:
- 电脑提示“adb不是内部或外部命令” → 环境变量没生效,重启终端或执行
source ~/.zshrc;adb version显示旧版本(如1.0.32)→ 卸载旧版ADB(可能来自Android Studio),只留刚下载的最新版。
2.3 手机端:打开三把“锁”
这三步必须手动操作,没有捷径:
- 开启开发者模式:
设置 → 关于手机 → 连续点击“版本号”7次 → 弹出“您现在处于开发者模式”; - 开启USB调试:
设置 → 系统 → 开发者选项 → 打开“USB调试”(首次开启会弹窗,点“确定”); - 安装并启用ADB Keyboard:
- 去GitHub下载 ADBKeyboard.apk(选最新版);
- 手机安装后,设置 → 语言与输入法 → 虚拟键盘 → 勾选“ADB Keyboard” → 设为默认输入法。
验证是否成功:
手机连上电脑后,在电脑终端运行:adb devices如果看到一串字母数字(如
AERFUT4B08000806 device),且状态是device(不是unauthorized),说明信任链已建立。
如果是unauthorized,请检查手机是否弹出了“允许USB调试?”的提示框——必须手动点“允许”并勾选“始终允许”。
3. 部署控制端:5分钟克隆、安装、跑通
现在电脑能“看见”手机了,下一步是让控制程序跑起来。
3.1 下载并安装Open-AutoGLM控制端
打开终端(Windows用CMD/PowerShell,macOS用Terminal),依次执行:
# 克隆仓库(国内用户建议加 --depth 1 加速) git clone --depth 1 https://github.com/zai-org/Open-AutoGLM.git cd Open-AutoGLM # 创建虚拟环境(推荐,避免依赖冲突) python -m venv venv source venv/bin/activate # macOS/Linux # venv\Scripts\activate # Windows # 安装依赖(注意:requirements.txt里含torch,国内建议加清华源) pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple/ pip install -e .重点提醒:
- 如果
pip install报错torch not found,说明PyTorch没装好。请先访问 pytorch.org,根据你的系统和CUDA版本复制对应命令安装;- 不要跳过
pip install -e .,这是让Python识别phone_agent模块的关键。
3.2 连接你的手机(USB方式,新手首选)
确保手机已用数据线连电脑,且adb devices显示device状态。
获取你的设备ID(就是adb devices输出的第一列):
adb devices # 输出示例: # List of devices attached # AERFUT4B08000806 device你的设备ID就是AERFUT4B08000806(别抄示例,用自己的)。
3.3 启动AI代理:跑通第一条指令
Open-AutoGLM本身不带AI模型,它需要连接一个已部署好的模型服务。官方提供两种选择:
- 远程服务(推荐新手):用智谱提供的云API(免费额度够试玩);
- 本地运行(进阶):需GPU或Mac M2,本文暂不展开(后续可单开一篇)。
我们用远程服务快速验证:
python main.py \ --device-id AERFUT4B08000806 \ --base-url https://api.zhipu.ai/v1 \ --model "autoglm-phone-9b" \ "打开微信,进入文件传输助手,发送文字'Hello from AutoGLM'"参数说明:
--device-id:你自己的设备ID;--base-url:智谱API地址(无需申请密钥,用默认即可);- 最后字符串:你的自然语言指令,越具体越好(避免“打开微信”这种模糊指令,明确说“发给谁、发什么”)。
如果一切顺利,你会看到终端滚动输出:
Checking system requirements... All system checks passed! Checking model API... OK 💭 思考过程: 正在分析微信主界面... 执行动作: {"action": "Launch", "package": "com.tencent.mm"} ... 任务完成:已向文件传输助手发送文字。恭喜!你完成了AI手机控制的第一公里。
4. 实操避坑指南:那些文档没写,但你一定会遇到的问题
真实场景远比教程复杂。以下是我在测试中踩过的坑,附解决方案:
4.1 问题:WiFi连接失败,“adb connect 192.168.x.x:5555”一直超时
原因:手机和电脑不在同一局域网,或手机防火墙拦截了ADB端口。
解决:
- 用手机开热点,电脑连该热点(确保IP段一致,如都是192.168.43.x);
- 在手机“开发者选项”里关闭“Wi-Fi ADB”开关,再重新开启;
- 终端执行:
adb tcpip 5555 adb kill-server adb start-server adb connect 192.168.43.1:5555 # 替换为手机实际IP
4.2 问题:输入文字失败,界面上啥也没出现
原因:ADB Keyboard未设为默认输入法,或App禁止第三方输入法(如银行类App)。
解决:
- 再次确认手机“语言与输入法”中,默认输入法是ADB Keyboard(不是“仅启用”);
- 测试时避开银行、支付类App,先用微信、小红书等开放App验证;
- 终端手动触发输入测试:
如果手机没反应,说明ADB Keyboard根本没生效。adb shell input text "test"
4.3 问题:截图是黑屏,或UI结构为空( ... 里没内容)
原因:手机开启了“隐私屏保”或“防截屏”策略(常见于华为、小米部分机型)。
解决:
- 设置 → 安全 → 隐私保护 → 关闭“截屏保护”或“应用锁屏”;
- 或换一台非国产定制ROM的手机(如Pixel、一加原生系统);
- 临时方案:用
adb shell screencap -p /sdcard/screen.png && adb pull /sdcard/screen.png手动截图验证。
4.4 问题:模型返回乱码、卡在“思考中”、或直接报错404
原因:--base-url地址错误,或模型名拼写不对。
解决:
- 智谱API当前稳定地址是
https://api.zhipu.ai/v1(不是文档里写的其他地址); - 模型名必须是
"autoglm-phone-9b"(全小写,带短横线,不能写成AutoGLM-Phone-9B); - 终端先测试API连通性:
curl -X POST "https://api.zhipu.ai/v1/chat/completions" \ -H "Content-Type: application/json" \ -d '{"model":"autoglm-phone-9b","messages":[{"role":"user","content":"你好"}]}'
5. 进阶玩法:从“能跑”到“好用”的三个实用技巧
跑通第一条指令只是开始。让Open-AutoGLM真正融入你的工作流,试试这些:
5.1 把常用指令做成快捷命令
每次输长命令太麻烦?写个shell脚本(macOS/Linux)或bat文件(Windows):
# save as run_wechat.sh #!/bin/bash python main.py \ --device-id $(adb devices | grep -v "List" | awk '{print $1}') \ --base-url https://api.zhipu.ai/v1 \ --model "autoglm-phone-9b" \ "打开微信,进入张三的聊天窗口,发送今天会议纪要"然后终端执行chmod +x run_wechat.sh && ./run_wechat.sh。
5.2 用Python API封装成函数,嵌入你的项目
不想总开终端?直接调用控制端API:
from phone_agent.main import run_agent # 一行代码启动任务 result = run_agent( device_id="AERFUT4B08000806", base_url="https://api.zhipu.ai/v1", model="autoglm-phone-9b", instruction="截图当前屏幕,保存为/home/user/screen.png" ) print(result["status"]) # success or failed5.3 敏感操作人工接管:让AI在关键时刻“举手”
遇到验证码、支付密码框等场景,Open-AutoGLM会自动输出:
{"action": "Take_over", "reason": "检测到登录页面,需人工输入验证码"}此时它会暂停,等你手动操作完,再输入continue继续执行。这是安全设计,不是bug——真正的智能,是知道什么时候该停手。
6. 总结:你刚刚解锁了一种新的手机交互范式
回顾这趟实操之旅,你已经:
- 让电脑和手机建立了稳定ADB连接;
- 成功调用远程AI模型,用自然语言驱动手机完成多步操作;
- 掌握了USB/WiFi双连接方式及典型故障排除方法;
- 学会了将指令封装为脚本、集成进Python项目的实用技巧;
- 理解了“AI代理”与传统自动化工具的本质区别:它不依赖代码,而依赖对界面的理解。
Open-AutoGLM的意义,不在于替代你点手机,而在于把重复、机械、易出错的操作交给AI——比如每天固定时间截图日报、批量给客户发模板消息、测试App新版本的核心路径。它不是魔法,是工具;不是终点,是你构建个人自动化工作流的第一块乐高。
下一步,你可以尝试:
- 用本地Mac M2部署量化模型,实现离线运行;
- 把它接入Home Assistant,用语音控制手机执行家庭任务;
- 结合OCR,让AI读取手机截图中的文字并决策(比如“看到‘订单已发货’就发邮件通知我”)。
技术永远服务于人。而你,已经站在了人机协作的新起点。
获取更多AI镜像
想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。