news 2026/4/17 16:03:29

Windows用户看过来,Open-AutoGLM环境变量配置教程

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Windows用户看过来,Open-AutoGLM环境变量配置教程

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:\adb
  • D:\tools\adb
  • E:\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

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线干扰。
前提:手机与电脑在同一局域网。
步骤:

  1. USB连接手机,执行:
    adb tcpip 5555
  2. 拔掉USB线,在CMD中执行:
    adb connect 192.168.1.102:5555
    192.168.1.102为你手机的IP,可在手机“设置→Wi-Fi→已连接网络→IP地址”中查看)
  3. 验证:adb devices应显示192.168.1.102:5555 device
  4. 运行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星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/16 9:06:21

SGLang服务启动命令详解,参数不再难懂

SGLang服务启动命令详解&#xff0c;参数不再难懂 你是否在启动SGLang服务时&#xff0c;面对python3 -m sglang.launch_server后面一长串参数感到困惑&#xff1f;——--model-path到底填什么路径&#xff1f;--host 0.0.0.0和127.0.0.1有什么区别&#xff1f;--log-level wa…

作者头像 李华
网站建设 2026/4/16 23:38:02

智能家居报警场景下proteus蜂鸣器仿真指南:操作指南

以下是对您提供的博文内容进行 深度润色与结构重构后的专业级技术文章 。全文严格遵循您的所有要求&#xff1a; ✅ 彻底去除AI痕迹&#xff0c;语言自然、老练、有“人味”&#xff1b; ✅ 摒弃模板化标题与刻板结构&#xff0c;以逻辑流驱动叙述节奏&#xff1b; ✅ 所有…

作者头像 李华
网站建设 2026/4/16 12:51:23

Vivado安装完整指南:Windows平台超详细版教程

以下是对您提供的博文《Vivado安装完整指南&#xff1a;Windows平台超详细技术分析》的 深度润色与专业重构版本 。本次优化严格遵循您的全部要求&#xff1a; ✅ 彻底去除AI痕迹&#xff0c;全文以资深FPGA工程师第一人称视角叙述&#xff0c;语言自然、有温度、有实战血肉…

作者头像 李华
网站建设 2026/4/16 20:20:07

wl_arm与CMSIS-RTOS API兼容性实践:新手教程必备知识

以下是对您提供的博文内容进行 深度润色与结构重构后的专业级技术文章 。我以一位深耕嵌入式系统多年、既写过百万行驱动代码也带过高校RTOS课程的工程师视角&#xff0c;彻底重写了全文—— 去除所有AI腔调、模板化表达和空泛总结&#xff0c;代之以真实开发现场的语言节奏…

作者头像 李华
网站建设 2026/4/16 12:47:34

MDK下载与安装步骤:零基础小白指南(附常见问题)

MDK部署不是点“下一步”&#xff1a;一位嵌入式老兵带你亲手搭起可信开发环境 你有没有过这样的经历&#xff1f; 刚买来一块STM32F407开发板&#xff0c;兴冲冲下载完Keil MDK&#xff0c;双击安装程序一路“Next”&#xff0c;结果新建工程后编译报错&#xff1a; error:…

作者头像 李华
网站建设 2026/4/13 11:33:41

文档扫描模糊怎么办?cv_resnet18_ocr-detection低质量图片实测

文档扫描模糊怎么办&#xff1f;cv_resnet18_ocr-detection低质量图片实测 你有没有遇到过这样的情况&#xff1a; 用手机随手拍的合同、发票、手写笔记&#xff0c;上传到OCR工具后—— 文字框歪歪扭扭&#xff0c;字只识别出一半&#xff0c;“”变成“Y”&#xff0c;“0”…

作者头像 李华