Open-AutoGLM入门必看:从克隆仓库到首次运行完整步骤
1. 这不是另一个手机自动化工具,而是一个真正能“看懂”屏幕的AI助手
你有没有试过让手机自己完成一连串操作?比如“打开小红书,搜‘北京胡同咖啡’,点开第三条笔记,截图发给微信好友”——过去这需要写脚本、反复调试坐标、处理弹窗,普通人根本无从下手。Open-AutoGLM 改变了这件事。
它不是简单的点击录制回放,也不是靠固定坐标硬编码的UI自动化。它是智谱开源的手机端AI Agent框架,核心能力在于:用眼睛看、用脑子想、用手执行。背后是 AutoGLM-Phone —— 一个基于视觉语言模型(VLM)构建的智能助理框架。它能实时理解你手机屏幕上显示的内容(文字、图标、按钮、布局),再结合自然语言指令,自主规划操作路径,并通过 ADB 精准控制设备完成任务。
更关键的是,它不只停留在“能跑”,而是考虑了真实使用场景:遇到登录页自动暂停、验证码弹窗主动交还给你、远程WiFi连接失败时无缝切回USB……这些细节,决定了它是不是一个能天天用起来的工具,而不是实验室里的Demo。
这篇文章不讲论文、不聊架构图,只带你从零开始,在本地电脑上配好控制端,连上真机,调通云端模型,亲手发出第一条自然语言指令。全程不需要改一行源码,也不需要GPU服务器——你只需要一台电脑、一部安卓手机,和20分钟专注时间。
2. 准备工作:三步确认,避免90%的连接失败
别急着敲命令。很多同学卡在第一步,不是代码问题,而是环境没理清。我们把“能连上”拆成三个独立验证环节,每一步都可单独测试,出问题立刻定位。
2.1 确认你的电脑已装好ADB并能识别设备
ADB(Android Debug Bridge)是控制安卓设备的“遥控器”。它必须先在你电脑上正常工作,后续所有操作才成立。
Windows用户:
下载官方platform-tools,解压后记下完整路径(例如C:\adb\platform-tools)。
按Win + R→ 输入sysdm.cpl→ “高级”选项卡 → “环境变量” → 在“系统变量”中找到Path→ “编辑” → “新建” → 粘贴刚才的路径。
打开新命令行窗口,输入:adb version如果看到类似
Android Debug Bridge version 1.0.41的输出,说明ADB已就绪。macOS用户:
将platform-tools解压到任意位置(如~/Downloads/platform-tools),然后在终端运行:echo 'export PATH=$PATH:~/Downloads/platform-tools' >> ~/.zshrc source ~/.zshrc adb version同样看到版本号即成功。
验证点:
adb version必须返回版本信息。如果报“command not found”,请回头检查环境变量是否生效(重启终端或运行source ~/.zshrc)。
2.2 确认手机已开启开发者模式并授权调试
这是最容易被忽略的一步。很多同学以为开了USB调试就行,其实漏掉了关键授权。
开启开发者模式:
进入手机「设置」→「关于手机」→ 连续点击「版本号」7次,直到提示“您现在处于开发者模式”。开启USB调试:
返回「设置」→「系统」→「开发者选项」→ 打开「USB调试」开关。
此时第一次连接电脑,手机会弹出“允许USB调试吗?”对话框,请勾选“始终允许”,再点确定。这个授权只做一次,但必须手动点。安装ADB Keyboard(重要!):
下载 ADB Keyboard APK 并安装。
进入「设置」→「语言与输入法」→「当前键盘」→ 切换为「ADB Keyboard」。
为什么需要它?因为AutoGLM要帮你在搜索框里打字,而普通输入法无法被ADB直接控制。ADB Keyboard是唯一能接收ADB命令输入文字的输入法。
验证点:用USB线连接手机和电脑后,在命令行运行
adb devices。如果看到一串字母数字组合(如ZY322XXXXX device),且状态是device(不是unauthorized或空),说明手机已成功授权并连接。
2.3 确认云服务端已部署并可访问(你自己的服务器)
Open-AutoGLM的“大脑”在云端——它需要调用一个已部署好的视觉语言模型API(如autoglm-phone-9b)。这个服务通常部署在你自己的服务器或云主机上。
你需要提前确认两件事:
- 服务已启动,且监听在某个端口(如
8800); - 该端口已在服务器防火墙中放行(如阿里云安全组需开放TCP 8800端口);
- 你能从本地电脑用浏览器访问
http://<你的服务器IP>:8800/docs,看到FastAPI文档页面(说明服务正常)。
如果你还没部署服务端,可以先跳过本节,用官方提供的临时API地址测试(注意:仅限学习,勿用于敏感操作)。本文默认你已有可用的base-url,格式为http://xxx.xxx.xxx.xxx:8800/v1。
3. 部署控制端:5行命令搞定本地环境
现在,你的电脑和手机已“握手成功”,接下来让它们和AI大脑连上线。
3.1 克隆代码并安装依赖
打开终端(Windows用CMD/PowerShell,macOS用Terminal),依次执行:
# 1. 克隆官方仓库 git clone https://github.com/zai-org/Open-AutoGLM cd Open-AutoGLM # 2. 创建虚拟环境(推荐,避免污染全局Python) python -m venv venv source venv/bin/activate # macOS/Linux # venv\Scripts\activate # Windows # 3. 安装基础依赖 pip install -r requirements.txt # 4. 安装Open-AutoGLM为可编辑包(关键!否则main.py找不到模块) pip install -e .注意:
pip install -e .这一步不能省略。它把当前目录注册为Python包,让python main.py能正确导入phone_agent模块。如果跳过,运行时会报ModuleNotFoundError。
3.2 获取设备ID:USB和WiFi两种方式实测
设备ID是你告诉AI“控制哪台手机”的钥匙。它有两种形式:
- USB直连:运行
adb devices,输出第一列就是ID(如ZY322XXXXX); - WiFi远程:需先用USB连一次,执行
adb tcpip 5555,断开USB,再连WiFi,运行adb connect 192.168.x.x:5555(x.x.x.x是手机在局域网的IP,可在手机「设置→关于手机→状态」里查看)。
验证方法:无论哪种方式,再次运行adb devices,输出应为:
List of devices attached ZY322XXXXX device或(WiFi方式):
List of devices attached 192.168.1.100:5555 device4. 第一次运行:用一句话让AI接管你的手机
万事俱备。现在,我们发出第一条指令:“打开抖音搜索抖音号为:dycwo11nt61d 的博主并关注他!”
4.1 命令行快速启动(推荐新手)
在Open-AutoGLM目录下,执行以下命令(请将<设备ID>和<base-url>替换为你的真实值):
python main.py \ --device-id ZY322XXXXX \ --base-url http://123.123.123.123:8800/v1 \ --model "autoglm-phone-9b" \ "打开抖音搜索抖音号为:dycwo11nt61d 的博主并关注他!"你会看到终端开始滚动日志:
[INFO] Connecting to device ZY322XXXXX...[INFO] Capturing screen...(AI正在截图)[INFO] Sending image + text to model...(图文理解中)[INFO] Model response: {"action": "tap", "x": 520, "y": 180}(规划出点击坐标)[INFO] Executing tap at (520, 180)...(真机执行)
整个过程约15-45秒,取决于网络和模型响应速度。你会亲眼看到手机自动解锁(如需)、打开抖音、点击搜索框、输入ID、进入主页、找到“关注”按钮并点击——全部由AI决策完成。
4.2 Python API方式(适合集成进自己的项目)
如果你希望把控制逻辑嵌入自己的脚本,可以用官方提供的Python SDK:
from phone_agent.adb import ADBConnection, list_devices from phone_agent.agent import PhoneAgent # 1. 连接设备 conn = ADBConnection() success, msg = conn.connect("ZY322XXXXX") # 或 "192.168.1.100:5555" print(f"连接结果: {msg}") # 2. 初始化AI代理(指向你的云服务) agent = PhoneAgent( base_url="http://123.123.123.123:8800/v1", model_name="autoglm-phone-9b" ) # 3. 发送指令(支持多轮对话) response = agent.run("打开小红书,搜‘上海早午餐’,保存前3篇笔记图片") print("AI执行摘要:", response.summary) print("详细步骤:", response.steps)这个API封装了截图、上传、调用、解析、执行的全流程,你只需关心“想做什么”,不用管“怎么做”。
5. 排查高频问题:比文档更实在的解决方案
即使按步骤操作,也可能遇到“看似正常却没反应”的情况。以下是真实用户踩坑后总结的三大高频问题及解法:
5.1 “连接被拒绝”或“timeout”:90%是网络链路断了
- 现象:运行
main.py报错ConnectionRefusedError或ReadTimeout; - 原因:不是ADB连不上手机,而是本地电脑连不上你的云服务器;
- 解法:
- 在本地电脑浏览器打开
http://<你的服务器IP>:8800/docs,看能否加载FastAPI文档; - 如果打不开,检查服务器防火墙(
sudo ufw status)和云厂商安全组; - 如果能打开,但Python报错,可能是Python请求库被代理拦截,临时关闭代理:
unset HTTP_PROXY HTTPS_PROXY
- 在本地电脑浏览器打开
5.2 “ADB devices 显示 device,但 main.py 无反应”:输入法没切对
- 现象:手机屏幕有变化(如亮屏、解锁),但搜索框不弹出键盘,文字输不进去;
- 原因:ADB Keyboard未设为默认输入法,或安装后未重启手机;
- 解法:
- 进入手机「设置→语言与输入法」,确认「当前键盘」是「ADB Keyboard」;
- 如果是模拟器(如MuMu),需额外在模拟器设置中开启“ADB调试模式”;
- 重启手机,重试。
5.3 “模型返回乱码/空操作”:服务端参数不匹配
- 现象:终端显示
Model response: {"action": "none"}或返回一堆符号; - 原因:云端vLLM服务启动时,
--max-model-len设置过小(低于16384),或显存不足导致KV Cache截断; - 解法:
- 登录服务器,检查vLLM启动命令,确保包含:
--max-model-len 16384 --gpu-memory-utilization 0.95 - 如果用Docker,检查
docker run命令是否挂载了正确的模型路径和端口映射; - 临时降级测试:用更短指令,如
"打开设置",排除长文本解析失败可能。
- 登录服务器,检查vLLM启动命令,确保包含:
6. 总结:你已经掌握了手机AI Agent的核心工作流
回顾这一路,你其实只做了四件事:
- 让电脑认识手机(ADB配置+设备授权);
- 让手机听懂电脑(ADB Keyboard安装+输入法切换);
- 让AI看懂屏幕(调用视觉语言模型API);
- 让AI指挥手机(自动生成tap/swipe/type等ADB命令)。
这四步环环相扣,缺一不可。但一旦打通,你就拥有了一个能理解界面、规划动作、执行操作的“数字分身”。它不替代你思考,而是把你脑海中的指令,变成屏幕上真实的点击与滑动。
下一步,你可以尝试更复杂的指令:“对比京东和淘宝上iPhone 15 Pro的价格,截图价格区域并保存到相册”;或者把它集成进你的自动化工作流,让重复性手机操作彻底退出你的日常。
技术的价值,从来不在炫技,而在于把“不可能”变成“点一下就完成”。你现在,已经站在了这条线的起点。
获取更多AI镜像
想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。