小白必看:Open-AutoGLM连接真机避坑全记录
Open-AutoGLM 不是遥控器,也不是脚本录制工具——它是一双能“看见”屏幕、听懂人话、还能自己动手操作手机的AI之手。本文不讲原理,不堆参数,只说你第一次连上真机时,哪些地方会卡住、为什么卡、怎么三分钟解决。
1. 先搞清它到底能干什么
1.1 它不是另一个语音助手
Siri 和小爱同学说“打开微信”,系统能响应;但你说“帮我把上周五聊天里那张带二维码的截图发到工作群”,它们就彻底沉默。Open-AutoGLM 的不同在于:它先看截图,再理解界面元素,再规划点击路径,最后用 ADB 真实点击——整个过程像一个坐在你旁边、眼睛盯着你手机、手指悬在屏幕上的人。
1.2 它依赖两个关键能力
- 视觉理解力:不是OCR识别文字,而是理解“这个蓝色按钮在右下角,它写着‘立即下单’,当前页面是商品详情页”;
- 动作执行力:不靠坐标硬编码,而是动态生成
adb shell input tap 520 1840这类指令,且能处理弹窗、加载等待、输入法切换等真实交互断点。
1.3 你不需要显卡,但需要一台“听话”的安卓机
镜像本身(Open-AutoGLM)只是控制端,真正干活的是云端模型(如智谱的autoglm-phone-9b)。你本地只需:
一台 Windows/macOS 电脑(Python 3.10+)
一部 Android 7.0+ 手机(实测 vivo S20、小米13、Pixel 6 均可)
一根靠谱的 USB 数据线(别用充电线!很多线只通电不通数据)
❌ 不需要 GPU、不部署大模型、不编译 C++ 代码
2. 环境准备:90% 的失败发生在这一步
2.1 ADB 工具必须“认得”你的手机
很多人卡在adb devices返回空列表,却反复检查开发者选项——其实问题常出在更底层。
Windows 用户注意:
下载 Android Platform Tools 后,解压路径不能含中文或空格(例如C:\adb\可以,C:\我的工具\adb\会失败)。
添加环境变量后,务必重启命令行窗口(不是关掉再开,是彻底关闭 CMD/PowerShell 再重新启动),否则adb version仍会报“不是内部或外部命令”。macOS 用户注意:
如果用 Homebrew 安装过旧版 adb,先运行brew uninstall android-platform-tools,再用官网包覆盖安装。Homebrew 版本常与新手机协议不兼容。验证是否真通了:
连接手机后,在终端执行:adb devices -l正确输出应类似:
List of devices attached 1234567890abcdef device product:PD2301F model:vivo_S20 device:PD2301F transport_id:1若显示
unauthorized,请解锁手机,查看是否弹出“允许 USB 调试?”提示——必须手动点“允许”并勾选“始终允许”,否则每次重连都要确认。
2.2 ADB Keyboard 不是可选项,是必装项
很多教程轻描淡写一句“安装 ADB Keyboard”,但没说清楚:没有它,AI 无法向任何输入框发送文字。
- 下载地址:ADBKeyboard.apk(直接下载,别用浏览器预览)
- 安装命令(替换为你本地 apk 路径):
adb install -r "C:\Downloads\ADBKeyboard.apk" - 安装成功后,去手机「设置 → 系统 → 语言与输入法 → 虚拟键盘」,将 ADB Keyboard 设为默认输入法。
关键细节:部分国产机(如华为、OPPO)需额外开启「允许其他应用绘制在顶层」权限,否则键盘无法弹出。
2.3 开发者选项里的三个隐藏开关
除了常规的“USB调试”,以下三项必须开启(位置因机型而异,但基本都在「开发者选项」内):
| 设置项 | 为什么必须开 | 常见位置 |
|---|---|---|
| USB调试(安全设置) | 允许 ADB 在锁屏状态下执行命令 | 开发者选项底部 |
| 网络ADB调试 | WiFi 连接时必需 | 开发者选项中段,名称可能叫“无线调试” |
| 模拟位置 | 防止某些 App 检测到“非真实GPS”而拒绝服务 | 开发者选项中段,名称可能叫“选择模拟位置信息应用” |
小技巧:在 vivo/Samsung 手机上,若找不到“网络ADB调试”,可尝试先开启“无线调试”,再点进其子菜单开启“无线调试(无认证)”。
3. 控制端部署:跳过所有“git clone 失败”的坑
3.1 克隆仓库前,先换源(国内用户必做)
GitHub 在国内直连极不稳定,git clone经常卡在 10%,甚至报错fatal: unable to access 'https://github.com/...'。
临时换源方案(推荐):
在克隆前执行:git config --global url."https://ghproxy.com/https://github.com/".insteadOf "https://github.com/"然后正常克隆:
git clone https://github.com/zai-org/Open-AutoGLM如果已克隆失败:删掉整个文件夹,再执行上述命令重试。
3.2 安装依赖时,避开 Windows 编码雷区
pip install -r requirements.txt在 Windows 上大概率报错:
UnicodeDecodeError: 'gbk' codec can't decode byte 0xa6 in position 123这是因为requirements.txt是 UTF-8 编码,而 Windows 默认用 GBK 读取。
- 一劳永逸解法:
用记事本打开requirements.txt→ 「另存为」→ 编码选UTF-8(无BOM)→ 覆盖保存。
再运行pip install -r requirements.txt即可。
3.3 不要急着pip install -e .
文档里这行命令本质是安装本地包,但对新手极易失败(尤其 Windows)。首次运行,直接跳过它。只要main.py能启动,功能完全不受影响。
4. 真机连接实战:USB 与 WiFi 两种方式对比
4.1 USB 连接:最稳,适合第一次跑通
这是零延迟、零配置冲突的首选方式。
步骤精简版:
- 手机用原装数据线连电脑(确保是“传输文件”模式,不是“仅充电”);
- 终端执行
adb devices,确认设备 ID 显示为device(非offline或unauthorized); - 运行命令(替换成你的真实设备 ID 和 API Key):
python main.py \ --device-id 1234567890abcdef \ --base-url https://open.bigmodel.cn/api/paas/v4 \ --model "autoglm-phone" \ --apikey "your_api_key_here" \ "打开高德地图,搜索‘南京博物院’,导航到那里"
常见失败反馈与对策:
ERROR: Device not found→ 检查adb devices输出,ID 是否复制错误(注意末尾空格);Permission denied→ 手机是否弹出 ADB 授权?是否勾选“始终允许”?- 指令执行一半卡住 → 手机屏幕是否被自动息屏?进入「设置 → 显示 → 屏幕超时」调至 5 分钟以上。
4.2 WiFi 连接:方便,但需多两步预热
适合手机离电脑较远,或想摆脱线缆束缚的场景。
正确流程(很多人漏掉第一步):
- 先用 USB 连接手机,执行:
(此时手机会重启 ADB 服务,屏幕可能短暂黑屏,属正常)adb tcpip 5555 - 拔掉 USB 线,确保手机和电脑在同一 WiFi 下;
- 查手机 IP:在手机「设置 → 关于手机 → 状态信息」里找“IP 地址”,或执行:
adb shell ip addr show wlan0 | grep "inet " - 电脑端连接:
成功后adb connect 192.168.1.100:5555adb devices应显示192.168.1.100:5555 device。
- 先用 USB 连接手机,执行:
WiFi 连接失败三大主因:
- 手机未开启「网络ADB调试」(见 2.3 节);
- 路由器开启了“AP 隔离”(关闭它,否则手机和电脑无法互通);
- 电脑防火墙拦截了 5555 端口(临时关闭防火墙测试)。
5. 第一次指令:从“打开抖音”到“关注博主”的完整链路
5.1 指令写法决定成功率
别写“点开抖音,输dycwo11nt61d,点关注”——这是给人看的,不是给 AI Agent 看的。AI 需要完整、无歧义、带意图的目标描述。
❌ 低效写法:
“抖音号 dycwo11nt61d,关注他”
→ AI 不知道你要在哪个 App 里操作,也不知道“他”指代谁。高效写法:
“打开抖音 App,搜索用户‘dycwo11nt61d’,进入他的主页,点击‘关注’按钮”
→ 明确 App 名、动作动词(打开/搜索/进入/点击)、目标对象(用户ID、按钮文字)。
5.2 实测一次完整流程(附关键截图逻辑)
我们以“打开小红书搜美食”为例,拆解背后发生了什么:
- 截图阶段:脚本自动截取手机当前屏幕(
adb shell screencap -p /sdcard/screen.png); - 上传分析:将 PNG 发送给智谱 API,附带 prompt:“请分析这张安卓手机截图,识别所有可点击控件的坐标(x,y)和文字标签”;
- 模型返回:JSON 格式结果,包含类似:
{"elements": [ {"text": "搜索", "x": 520, "y": 120, "width": 200, "height": 80}, {"text": "小红书", "x": 180, "y": 200, "width": 150, "height": 60} ]} - 动作生成:AI 判断“搜索”按钮在顶部,于是生成
adb shell input tap 520 120; - 输入执行:调用 ADB Keyboard 输入“美食”,再模拟回车键。
注意:整个过程耗时约 3–8 秒(取决于网络和模型响应),期间手机屏幕会明显闪烁——这是正常现象,代表正在实时截图-分析-操作。
6. 常见报错与秒级解决方案
6.1UnicodeDecodeError在 check_deployment_cn.py 中
这是 Windows 用户最高频报错,根源是 Python 默认用系统编码(GBK)读取 UTF-8 文件。
- 定位文件:
Open-AutoGLM/scripts/check_deployment_cn.py - 修改第 28 行左右(
with open(...)那行):# 原始代码(会报错) with open(args.messages_file) as f: # 修改后(加 encoding 参数) with open(args.messages_file, encoding='utf-8') as f: - 保存后重试,即可看到清晰的思维链输出。
6.2Connection refused或timeout
表面是网络问题,实际 80% 是端口未放行。
- 若用智谱 API:无需配置端口,忽略此错误;
- 若自建 vLLM 服务:检查云服务器安全组,必须开放你映射的端口(如 8800)的 TCP 入方向;
- 本地测试时:确认
vllm serve命令中--host 0.0.0.0已设置(而非127.0.0.1)。
6.3 模型返回乱码或空响应
典型表现:终端打印一堆 `` 符号,或直接卡住无输出。
- 首要检查:
--model参数是否拼写正确?
智谱官方模型名是"autoglm-phone"(不是autoglm-phone-9b,后者是私有部署名); - 次要检查:API Key 是否复制完整?是否误粘贴了前后空格或换行符?
建议在命令中用单引号包裹 Key:--apikey 'sk-xxx',避免双引号引发 Shell 解析异常。
7. 进阶提醒:这些细节决定你能走多远
7.1 敏感操作必须人工接管
当 AI 需要输入密码、验证码、或进行支付类操作时,它会主动暂停,并在终端输出:
检测到登录弹窗,请手动输入验证码后按回车继续...这不是 Bug,是设计的安全机制。你只需在手机上完成验证,回到终端按回车,AI 自动续跑。
7.2 指令越具体,成功率越高
实测对比:
- “订一张去上海的高铁票” → AI 在 12306 App 里反复点击“查询”,但无法判断日期/车次 → 失败;
- “打开12306,选择今天出发、上海为到达站、二等座,查询所有车次” → 成功进入车次列表。
7.3 别迷信“全自动”,善用“半自动”
遇到复杂任务(如跨 App 操作),可分步下达指令:
“打开淘宝,搜索‘机械键盘’”“点击第一个商品,滑动到详情页底部,截图并告诉我保修期多久”
比一句“帮我买个好键盘”更可靠。
8. 总结:你已经拥有了一个手机上的“数字分身”
8.1 回顾你亲手打通的关键节点
- ADB 让电脑“看见”手机(
adb devices有响应); - ADB Keyboard 让 AI “能打字”(输入法设为默认);
- 智谱 API 让 AI “看得懂”(截图→分析→坐标);
- 自然语言指令让 AI “听得懂”(动词+目标+上下文);
- 人工接管机制让 AI “守得住底线”(敏感操作不越界)。
8.2 下一步你可以尝试
- 把常用指令写成
.bat或.sh脚本,一键执行; - 用
--interactive参数进入对话模式,连续下达多个指令; - 尝试更复杂的组合任务:“打开微博,找到‘科技日报’账号,转发最新一条带图片的微博,并配上文字‘很有启发’”。
8.3 最后一句真心话
Open-AutoGLM 的惊艳不在技术多前沿,而在它把“多模态理解 + 自动化执行”这件事,压缩到了一行命令、一根数据线、一个 API Key 的尺度。你不需要成为 ADB 专家,也不必读懂 VLM 论文——只要手机能亮、电脑能连网、你会说人话,它就能开始帮你干活。
获取更多AI镜像
想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。