Windows用户看过来,Open-AutoGLM环境变量配置教程
你是不是也试过在Windows电脑上配ADB,结果卡在“adb不是内部或外部命令”这一步?明明下载了Android SDK平台工具,解压完双击adb.exe能运行,可一打开命令行就报错——别急,这不是你的问题,而是环境变量没走对路。今天这篇教程不讲大道理,不堆术语,就用最直白的方式,带你把Open-AutoGLM的控制端真正跑起来。重点只有一件事:让adb devices在任意文件夹下都能敲出来、有反应、能连上手机。
这不是一个“理论上可行”的配置指南,而是一份从Windows 10/11真实桌面出发、避开90%常见坑的实操清单。所有步骤都经过反复验证,包括路径含中文、用户目录带空格、杀毒软件拦截、USB调试弹窗被拦截等真实场景。我们不假设你懂PATH,也不默认你装过Java或Android Studio——就从你刚下载完platform-tools-latest-windows.zip那一刻开始。
1. 为什么必须配环境变量?不配行不行?
先说结论:不配,Open-AutoGLM根本启动不了。
Open-AutoGLM的main.py在执行时,会自动调用adb devices检查设备、用adb shell screencap截图、用adb input tap点击屏幕。它不会去猜你的ADB藏在哪,而是直接调系统命令。如果你没把ADB加进环境变量,Python一执行就抛出FileNotFoundError: [WinError 2] 系统找不到指定的文件——连第一步都迈不出去。
有人会说:“我直接进ADB文件夹里运行命令不就行了?”
可以,但Open-AutoGLM的代码不是这么设计的。它的逻辑是:
- 启动时自动检测设备
- 截图后传给视觉模型分析
- 根据分析结果生成tap/swipe命令再执行
这一整条链路,全部依赖全局可调用的adb命令。手动切路径?等于把整个自动化流程砍掉一半。
所以,配环境变量不是“锦上添花”,而是启动Open-AutoGLM的硬性门槛。
2. 下载与解压:选对包,少走三小时弯路
别去Android官网翻半天找“SDK Platform-Tools”。那个页面更新慢、链接深、还容易下错成“Command line tools only”。
推荐直达链接(2025年最新稳定版):
https://dl.google.com/android/repository/platform-tools-latest-windows.zip
下载完成后,请注意这三点:
2.1 解压路径必须满足两个条件
- 不能含中文(如
D:\我的工具\adb❌) - 不能含空格(如
C:\Program Files\platform-tools❌)
正确示范:
C:\adbD:\tools\adbE:\p-tools
小贴士:Windows对空格和中文路径的兼容性极差。哪怕你只是把文件夹命名为“ADB工具”,中间那个空格就足以让
adb version在CMD里失效。
2.2 解压后确认三个关键文件存在
进入你解压的文件夹(比如C:\adb),应该能看到:
adb.exe(核心命令)AdbWinApi.dll(Windows专用接口库)AdbWinUsbApi.dll(USB通信支持)
如果只有adb.exe,缺少另外两个DLL——说明你下的是精简版或损坏包,立刻重下。缺DLL会导致“ADB已连接但无法识别设备”这类玄学问题。
2.3 验证本地ADB是否可用
双击打开cmd.exe(不是PowerShell,不是Git Bash),输入:
cd /d C:\adb adb version如果看到类似Android Debug Bridge version 34.0.5的输出,说明ADB本体没问题。
如果提示“不是内部或外部命令”,说明你还没配环境变量——别慌,下一步就解决。
3. Windows环境变量配置:手把手,一步一截图(文字版)
这一步最容易出错,也是网上教程写得最模糊的地方。我们拆成四步精准操作,不跳步、不省略、不依赖图形界面记忆。
3.1 打开系统属性窗口
按键盘组合键:Win + R→ 弹出“运行”框 → 输入:
sysdm.cpl→ 按回车。
注意:不是control,不是systempropertiesadvanced,就是sysdm.cpl。这是Windows最稳定的入口。
3.2 进入“环境变量”设置页
在弹出的“系统属性”窗口中:
- 点击顶部标签页“高级”
- 点击底部按钮“环境变量…”
→ 此时出现新窗口,分上下两部分:“用户变量”和“系统变量”。
3.3 添加ADB路径到“系统变量”(关键!)
重点:一定要改系统变量(System Variables),而不是用户变量。
原因:Open-AutoGLM通常以管理员或普通用户身份运行,系统变量对所有用户生效;用户变量只对当前登录账户有效,且某些IDE或终端可能读不到。
操作:
- 在“系统变量”列表中,找到并双击“Path”(注意大小写,是Path,不是PATH)
- 点击右下角“新建”
- 在空白行中,完整粘贴你ADB的解压路径(结尾不加反斜杠)
正确:C:\adb
❌ 错误:C:\adb\或C:\adb\adb.exe
示例:如果你解压到
D:\tools\adb,就填D:\tools\adb;如果解压到E:\p-tools,就填E:\p-tools。
3.4 保存并验证
- 点击“确定”关闭所有窗口(共3次“确定”)
- 重启你的命令行工具:关掉所有已打开的CMD/PowerShell/Git Bash,重新打开一个
- 输入:
adb version如果显示版本号,恭喜,环境变量配成功了。
❌ 如果仍报错,请检查:
- 是否重启了命令行(环境变量不会热加载)
- 路径是否多打了
\或.exe - 是否误点了“用户变量”里的Path
4. 连接手机前的三道安检:90%失败源于这里
ADB能运行 ≠ 能连上手机。很多用户卡在adb devices返回空列表,其实是手机端没设对。我们用“三道安检”快速定位:
4.1 安检一:USB线与物理连接
- 换一根数据传输线(很多充电线只通电不通数据)
- 插到电脑主板原生USB口(避开USB扩展坞、显示器USB口)
- 手机插上后,下拉通知栏,确认出现“正在通过USB充电” → 点击 → 选择“文件传输”或“MTP”模式(不是“仅充电”)
4.2 安检二:开发者选项与USB调试
- 设置 → 关于手机 → 连续点击“版本号”7次 → 输入锁屏密码 → 提示“您现在处于开发者模式”
- 返回设置 → 系统 → 开发者选项 → 找到“USB调试”→ 开启
- 关键一步:开启后,手机会弹出“允许USB调试吗?”对话框 → 勾选“始终允许来自这台计算机”→ 点“确定”
如果没弹窗?说明电脑首次连接,或之前点过“拒绝”。此时拔掉USB线,关闭“USB调试”,再打开,重新插线。
4.3 安检三:ADB Keyboard安装与启用
Open-AutoGLM需要向手机发送文本(比如搜索关键词),必须通过ADB Keyboard实现。
- 下载地址(官方推荐):https://github.com/senzhk/ADBKeyBoard/releases
- 下载
ADBKeyboard.apk(最新版即可) - 用USB线传到手机,或扫码安装
- 安装后:设置 → 语言与输入法 → 当前输入法 → 切换为“ADB Keyboard”
验证方法:在手机任意输入框长按,看是否弹出“选择输入法”菜单,并能选中ADB Keyboard。
完成这三道安检后,回到CMD,输入:
adb devices正常输出应为:
List of devices attached ZY322KDLF8 device其中ZY322KDLF8是你的设备ID,device表示连接成功。
5. 运行Open-AutoGLM:从命令行到真机操控
现在,ADB通了,手机连了,我们正式进入Open-AutoGLM环节。
5.1 克隆代码与安装依赖
打开CMD,执行:
git clone https://github.com/zai-org/Open-AutoGLM cd Open-AutoGLM python -m venv .venv .venv\Scripts\activate.bat pip install -r requirements.txt pip install -e .注意:Windows下激活虚拟环境用的是
.venv\Scripts\activate.bat,不是source。
5.2 获取设备ID与服务地址
- 设备ID:刚才
adb devices输出的第一列,如ZY322KDLF8 - 服务地址:指你部署的AutoGLM模型API地址,格式为
http://<服务器IP>:<端口>/v1- 如果模型部署在本地(比如用vLLM跑在本机),IP填
127.0.0.1,端口填你映射的(如8000) - 如果部署在云服务器,填公网IP(如
http://118.31.20.155:8800/v1)
- 如果模型部署在本地(比如用vLLM跑在本机),IP填
5.3 一条命令启动AI代理
在Open-AutoGLM目录下,执行:
python main.py ^ --device-id ZY322KDLF8 ^ --base-url http://127.0.0.1:8000/v1 ^ --model "autoglm-phone-9b" ^ "打开小红书搜索咖啡探店"Windows CMD中换行用
^(脱字符),Linux/macOS用\。不要复制多余空格。
成功表现:
- 控制台滚动日志,显示“Capturing screenshot…”、“Sending to VLM…”、“Planning action…”
- 手机屏幕自动亮起,APP逐个打开,搜索框自动弹出并输入文字
- 整个过程无需人工干预
❌ 常见报错及速查:
OSError: [WinError 193] %1 不是有效的 Win32 应用程序→ 你用了64位Python但下载了32位ADB,或反之。重下匹配版本。ConnectionRefusedError: [WinError 10061]→ 模型服务没启动,或IP/端口填错。用浏览器访问http://127.0.0.1:8000/v1/models看是否返回JSON。UnicodeEncodeError: 'gbk' codec can't encode...→ CMD编码问题。在CMD中执行chcp 65001切换UTF-8编码,再运行。
6. 进阶技巧:绕过ADB Keyboard检测、WiFi远程调试、批量指令
6.1 绕过ADB Keyboard强制检测(针对部分机型)
有些手机(尤其华为、小米)即使启用了ADB Keyboard,Open-AutoGLM仍报“ADB Keyboard not installed”。这时可临时注释检测逻辑:
- 用记事本打开
Open-AutoGLM\phone_agent\adb.py - 找到函数
def check_adb_keyboard_installed()(约第110行) - 将其内容改为:
def check_adb_keyboard_installed(): return True- 保存,重试。
注:这只是调试手段,正式使用建议排查ADB Keyboard安装状态。
6.2 WiFi远程调试:摆脱USB线束缚
适用场景:手机离电脑远、想用平板测试、避免USB线干扰。
前提:手机与电脑在同一局域网。
步骤:
- USB连接手机,执行:
adb tcpip 5555 - 拔掉USB线,在CMD中执行:
(adb connect 192.168.1.102:5555192.168.1.102为你手机的IP,可在手机“设置→Wi-Fi→已连接网络→IP地址”中查看) - 验证:
adb devices应显示192.168.1.102:5555 device - 运行Open-AutoGLM时,
--device-id改为192.168.1.102:5555
6.3 批量执行多条指令(脚本化)
把自然语言指令存成文本文件tasks.txt:
打开微信,给张三发消息“今天会议改到下午三点” 打开高德地图,导航到北京西站 截取当前屏幕并保存为report.png然后写个批处理run_tasks.bat:
@echo off for /f "delims=" %%i in (tasks.txt) do ( echo 正在执行:%%i python main.py --device-id ZY322KDLF8 --base-url http://127.0.0.1:8000/v1 --model "autoglm-phone-9b" "%%i" timeout /t 10 >nul ) echo 所有任务执行完毕双击运行,AI将逐条完成。
7. 总结:环境变量不是终点,而是起点
配好ADB环境变量,只是打开了Open-AutoGLM的大门。它本身不解决模型推理速度、截图识别精度、动作规划鲁棒性等问题——但没有这扇门,你连看一眼的机会都没有。
回顾整个过程,真正卡住大多数Windows用户的,从来不是技术原理,而是三个具体细节:
- 解压路径含空格或中文 → 导致
adb命令全局不可用 - 忘记重启CMD → 环境变量修改不生效
- USB调试未勾选“始终允许” → ADB连接显示
unauthorized
这些问题没有高深概念,只需要一次准确的操作。希望这篇教程帮你把时间花在真正重要的地方:比如测试“让AI帮你在闲鱼上架二手耳机”,或者“自动整理微信收藏里的技术文章”。那些让手机自己动起来的瞬间,才值得你按下回车键。
获取更多AI镜像
想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。