手把手教你在Windows跑通Open-AutoGLM项目
1. 这不是科幻,是今天就能用上的手机AI助手
你有没有想过,让手机自己“看懂”屏幕、“想明白”你要做什么,再“动手”完成?不是靠预设脚本,而是像真人一样理解你的自然语言指令——比如“打开小红书搜美食攻略”,它就能自动截图分析界面、识别图标、点击搜索框、输入文字、点下搜索按钮,一气呵成。
Open-AutoGLM 就是这样一个真实存在的项目。它不是概念演示,而是智谱AI开源的、可本地部署的手机端AI Agent框架。核心能力很实在:看(视觉理解)+ 想(智能规划)+ 动(ADB操控)。整个过程不依赖云端处理敏感界面,所有推理和操作都在你自己的电脑上完成,隐私有保障。
这篇文章专为 Windows 用户设计,不假设你有Linux经验,不堆砌术语,不跳过任何一个可能卡住的细节。从下载第一个安装包开始,到手机自动打开设置应用,全程手把手。哪怕你只用过微信和浏览器,也能照着做下来。我们不讲“多模态架构”或“端到端强化学习”,只讲“点哪里”“输什么”“看到什么就说明成功了”。
2. 准备工作:三件套配齐,少一个都跑不起来
别急着敲代码。在Windows上跑通Open-AutoGLM,真正卡住人的往往不是模型,而是这三样基础环境:Python、ADB工具、手机调试权限。我们一项一项来,每一步都告诉你为什么需要它,以及怎么验证它真的装好了。
2.1 安装Python 3.10或更高版本
这是所有Python项目的地基。低于3.10版本,后续某些依赖会直接报错,所以请务必确认版本。
操作步骤:
- 打开浏览器,访问 https://www.python.org/downloads/
- 找到最新版的Windows installer (64-bit),点击下载
- 双击运行安装程序,在弹出的窗口里,最关键一步:勾选最下面的
Add Python to PATH(把Python加到系统路径),然后点击Install Now - 等待安装完成,点击
Close
验证是否成功:
- 按下
Win + R键,输入cmd,回车打开命令提示符 - 输入
python --version,回车 - 如果看到类似
Python 3.11.9的输出,说明安装成功 - 如果提示
'python' 不是内部或外部命令,说明PATH没加对,重新安装并确保勾选了那个选项
2.2 配置ADB工具:手机和电脑之间的“遥控器”
ADB(Android Debug Bridge)是安卓开发的基石,也是Open-AutoGLM控制手机的唯一通道。它就像一个万能遥控器,能让你的电脑向手机发送“点击这里”“滑动一下”“输入文字”的指令。
操作步骤:
- 访问 https://developer.android.com/tools/releases/platform-tools
- 找到
Windows版本的platform-tools-latest-windows.zip,下载解压 - 解压后,你会得到一个文件夹,里面全是
.exe文件。记住这个文件夹的完整路径,比如D:\tools\platform-tools - 配置系统环境变量(让CMD随时认得ADB):
- 按下
Win + R,输入sysdm.cpl,回车 - 点击
高级标签页,再点环境变量(N)... - 在下方
系统变量(S)区域,找到并双击Path - 点击
新建(N),把刚才记下的路径(如D:\tools\platform-tools)粘贴进去 - 点击
确定保存所有窗口
- 按下
验证是否成功:
- 关闭当前的CMD窗口,重新打开一个新的CMD窗口(这步很重要,否则PATH不生效)
- 输入
adb version,回车 - 如果看到类似
Android Debug Bridge version 1.0.41的输出,说明ADB已就位 - 如果提示
'adb' 不是内部或外部命令,请检查路径是否复制正确,以及是否重启了CMD
2.3 手机端设置:开启“被遥控”的权限
你的手机默认是“锁着门”的,必须手动打开几道门,电脑才能进来控制它。
操作步骤(按顺序,缺一不可):
开启开发者模式:
打开手机设置→关于手机→ 连续快速点击版本号(或软件信息里的版本号)7次,直到屏幕弹出“您现在处于开发者模式”的提示。开启USB调试:
返回设置→系统或更多设置→开发者选项→ 找到USB调试,把它打开。如果找不到“开发者选项”,请确认上一步是否真的开启了。安装ADB Keyboard(关键!):
Open-AutoGLM要帮你在手机上输入中文,但普通输入法无法被远程调用。ADB Keyboard是一个特殊的输入法,专为此设计。- 下载
ADBKeyboard.apk(可在GitHub搜索ADBKeyboard找到官方仓库,或直接搜索下载) - 将APK文件传到手机(用数据线或微信传输)
- 在手机上点击安装(如果提示“禁止安装未知来源应用”,请在
设置→安全中开启“未知来源”) - 安装完成后,进入
设置→系统→语言和输入法→虚拟键盘→ 找到ADB Keyboard并启用它 - 最后一步:在输入法列表中,将
ADB Keyboard设为默认输入法
- 下载
做完这三步,你的手机就准备好接受AI的指挥了。
3. 部署核心:下载代码、装好模型、启动服务
现在,硬件和基础软件都准备好了。接下来是真正的“大脑”部分:把AI模型和控制程序装到你的电脑上。
3.1 下载Open-AutoGLM控制端代码
这是你本地电脑上运行的“指挥中心”,它负责接收你的指令、调用云端模型、再把AI生成的操作命令发给手机。
操作步骤:
- 打开CMD(确保是新的,能识别
adb的那个) - 依次执行以下命令:
git clone https://github.com/zai-org/Open-AutoGLM cd Open-AutoGLM pip install -r requirements.txt pip install -e .- 第一行
git clone会从GitHub下载全部代码,需要几分钟,请耐心等待 pip install -r requirements.txt会自动安装所有Python依赖pip install -e .是以“开发模式”安装本项目,让它能被系统全局调用
常见问题:
如果提示git不是命令,请先下载安装Git for Windows:https://git-scm.com/download/win,安装时一路默认即可。
3.2 下载并启动AI模型服务
Open-AutoGLM本身不包含大模型,它需要连接一个运行着AutoGLM-Phone-9B模型的服务。这个模型约18GB,是理解屏幕和规划动作的核心。
国内用户推荐(速度快):
在CMD中执行:
git clone https://www.modelscope.cn/ZhipuAI/AutoGLM-Phone-9B.git启动模型服务(vLLM):
- 确保你已安装vLLM:
pip install vllm - 在CMD中,进入你刚下载的模型文件夹(如
AutoGLM-Phone-9B),然后执行:
python -m vllm.entrypoints.openai.api_server --served-model-name autoglm-phone-9b --port 8000 --model .- 看到屏幕上滚动出现
Uvicorn running on http://0.0.0.0:8000字样,说明模型服务已成功启动 - 此时,你的电脑上就有一个AI“大脑”在8000端口待命了
3.3 连接手机:USB线一插,即刻联通
这是最关键的一步,也是最容易出错的一步。请严格按顺序操作:
- 用数据线将手机连接到电脑
- 手机屏幕会立刻弹出一个提示:“允许USB调试吗?”,务必点击
允许 - 在CMD中执行
adb devices - 如果看到类似
ABC123456789 device的输出(一串字母数字+device),说明连接成功- 如果显示
unauthorized,请检查手机是否点了“允许” - 如果显示空列表,检查数据线是否支持数据传输(有些充电线不行),或换一个USB接口
- 如果显示
4. 第一次运行:让AI帮你打开“设置”应用
万事俱备,现在来执行第一个任务。我们选择最简单的指令:“打开设置”。它不涉及输入文字,不涉及网络请求,纯粹测试“看-想-动”的闭环是否通畅。
操作步骤:
- 确保模型服务(上一步的CMD窗口)仍在运行
- 在另一个CMD窗口中,进入
Open-AutoGLM文件夹 - 执行以下命令(请将
<你的设备ID>替换为你在adb devices命令中看到的那一串字母数字):
python main.py --device-id <你的设备ID> --base-url http://localhost:8000/v1 --model "autoglm-phone-9b" "打开设置"例如:
python main.py --device-id ABC123456789 --base-url http://localhost:8000/v1 --model "autoglm-phone-9b" "打开设置"你将看到什么?
程序会先打印出类似💭 思考过程: 当前在桌面,需要打开设置应用的文字,然后是执行动作: {"action": "Launch", "app": "设置"}。几乎同时,你的手机屏幕上,设置应用就会自动打开了。
如果一切顺利,恭喜你!你已经成功跑通了Open-AutoGLM的全链路。这不是Demo,而是真实的、可复用的能力。
5. 实用技巧与避坑指南:让AI更听话、更稳定
跑通只是开始。在实际使用中,你会发现一些小技巧能让体验大幅提升,而避开几个常见坑,能省下你半天的排查时间。
5.1 提升成功率的三个实操技巧
- 保持手机屏幕常亮且解锁:AI需要实时截图分析界面。如果屏幕熄灭或锁屏,它就“看不见”了。建议在
开发者选项中开启不锁定屏幕或保持唤醒状态。 - 用更具体的指令:“打开抖音”比“刷抖音”更明确;“搜索‘数码测评’”比“找点好玩的”更可靠。AI擅长执行清晰、无歧义的命令。
- 首次使用,从简单任务开始:先试“打开微信”“返回桌面”“打开相机”,再逐步尝试“搜索并关注某博主”这类多步骤任务。熟悉它的能力边界,比追求一步到位更重要。
5.2 Windows用户专属避坑清单
| 问题现象 | 根本原因 | 一招解决 |
|---|---|---|
main.py报错ModuleNotFoundError: No module named 'phone_agent' | pip install -e .没执行成功,或没在Open-AutoGLM目录下执行 | 重新进入项目根目录,再执行pip install -e . |
adb devices显示offline | ADB服务进程卡死 | 在CMD中执行adb kill-server然后adb start-server |
模型服务启动时报错CUDA out of memory | 显存不足(尤其显卡<12GB) | 启动命令末尾加上--device cpu,强制用CPU运行(速度慢但能跑) |
| AI能识别界面,但点击无效 | ADB Keyboard未设为默认输入法,或手机系统限制了辅助功能 | 进入手机设置→辅助功能→无障碍,确保Open-AutoGLM或相关服务已开启 |
6. 进阶玩法:不只是“打开APP”,还能批量自动化
当你熟悉了基础操作,Open-AutoGLM的潜力才真正展现出来。它不是一个单次任务工具,而是一个可以写脚本、做批量、甚至集成进你工作流的自动化引擎。
6.1 命令行进阶:用参数定制你的AI助手
main.py支持丰富的命令行参数,让你不用改代码就能调整行为:
--max-steps 50:限制AI最多执行50步操作,防止它陷入死循环--timeout 30:每个操作步骤最长等待30秒,超时自动放弃--list-apps:列出当前AI已知的所有APP名称,方便你精准调用--verbose:开启详细日志,看到每一步的截图分析和决策依据,适合调试
6.2 Python API:把AI变成你脚本里的一个函数
对于有编程基础的用户,直接调用Python API比命令行更灵活。你可以把它嵌入到任何Python项目中。
一个真实可用的示例:
from phone_agent import PhoneAgent from phone_agent.model import ModelConfig # 配置你的AI大脑 model_config = ModelConfig( base_url="http://localhost:8000/v1", model_name="autoglm-phone-9b", ) # 创建一个AI助手实例 agent = PhoneAgent(model_config=model_config) # 一句话,让它干活 result = agent.run("打开美团,搜索‘附近评分最高的火锅店’") print("任务完成!结果是:", result)把这个代码保存为my_task.py,在CMD中运行python my_task.py,效果和命令行完全一样,但你可以轻松把它改成循环执行10次,或者根据上一个任务的结果决定下一个任务。
7. 总结:你刚刚掌握了一项未来技能
回顾一下,你已经完成了:
- 在Windows上配置了Python和ADB两大基础环境
- 成功下载并启动了18GB的多模态AI模型服务
- 让手机通过USB线与电脑建立了稳定、可信任的连接
- 执行了第一条自然语言指令,并亲眼看到手机自动响应
- 掌握了提升成功率的技巧和解决常见问题的方法
这不仅仅是学会了一个工具。你亲手搭建了一个“AI手机助理”的最小可行系统。它的价值在于,它把过去需要写几十行自动化脚本、或者依赖特定APP API才能完成的任务,简化成了“一句话”。
下一步,你可以尝试让它帮你:
- 每天早上8点自动打开天气APP,截图发到微信家庭群
- 批量给通讯录里标记为“客户”的人,发送一条定制化的节日祝福
- 在淘宝上监控某款商品的价格,一旦降到目标价就自动下单
技术本身没有魔法,但当它能精准理解你的意图,并可靠地执行你的想法时,那种掌控感,就是最真实的未来。
获取更多AI镜像
想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。