手把手教你部署Open-AutoGLM,轻松实现AI操控安卓
你有没有想过,让AI替你点外卖、刷短视频、填验证码、甚至帮你关注抖音博主?不是调用某个App的API,而是像真人一样——看得到屏幕、认得出按钮、点得准位置、输得对文字。这不是科幻,是智谱开源的Open-AutoGLM正在做的事。
它不依赖App内嵌SDK,不强制你换手机,也不要求开发者改代码。只要一部Android真机(或模拟器)+ 一台能联网的电脑,再加一段自然语言指令,比如“打开小红书搜‘咖啡探店’,保存前三条笔记”,AI就能自动完成整套操作:解锁→启动App→输入关键词→滑动浏览→长按保存。
本文不讲大模型原理,不堆参数指标,只聚焦一件事:从零开始,把Open-AutoGLM跑起来,让你的电脑真正“看见”并“操控”手机。全程实测验证,步骤可复制,问题有解法,小白也能一次成功。
1. 先搞懂它到底能做什么
Open-AutoGLM不是另一个聊天机器人,而是一个视觉+语言+动作闭环的手机端AI Agent框架。它的核心能力,可以用三个关键词概括:
- 看得懂:不是OCR式识别文字,而是理解整个手机界面——哪是搜索框、哪是返回键、哪是点赞图标、哪是弹窗确认按钮。它能区分微信聊天窗口里的“发送”和淘宝商品页里的“加入购物车”,哪怕它们长得一模一样。
- 想得清:接到“打开抖音搜dycwo11nt61d并关注”这种指令,它会自动拆解成:启动抖音→点击搜索栏→输入ID→点击头像→找到“关注”按钮→点击。每一步都基于当前屏幕状态动态决策,不是固定脚本。
- 动得准:通过ADB(Android Debug Bridge)直接向设备发送触摸、滑动、输入指令,精度到像素级。它能模拟手指点击,也能长按、双击、拖拽,还能用ADB Keyboard精准输入中文,不靠语音转文字“猜”。
更重要的是,它不碰你的隐私数据:所有屏幕截图只在本地处理,指令解析和动作规划在你指定的云服务上运行(也可本地部署),手机本身不装任何可疑App,不越权获取通讯录、短信等敏感权限。
简单说,Open-AutoGLM = 一个能看、能想、能动手的数字分身,专为安卓手机设计。
2. 硬件与环境准备:三步到位
部署成败,70%取决于前期准备是否扎实。别跳过这一步——很多卡在“adb devices没反应”的问题,其实就差一个USB调试开关。
2.1 你的装备清单
| 类别 | 要求 | 备注 |
|---|---|---|
| 控制端(你的电脑) | Windows 10+/macOS 12+,Python 3.10+ | 推荐用conda或pyenv管理Python环境,避免系统Python冲突 |
| 被控端(安卓设备) | Android 7.0+ 真机或模拟器(如MuMu、雷电) | 模拟器需开启“启用ADB调试”选项,真机更稳定 |
| 连接方式 | USB线(首选)或同一WiFi网络 | WiFi远程需先用USB初始化,后续才可无线连接 |
2.2 ADB工具:必须配好环境变量
ADB是电脑和安卓设备通信的“翻译官”。没配好,后面所有命令都会报错“command not found”。
Windows用户:
- 下载Platform-tools(选zip包)
- 解压到一个无中文、无空格的路径,例如
C:\adb Win + R→ 输入sysdm.cpl→ “高级” → “环境变量” → 在“系统变量”中找到Path→ “编辑” → “新建” → 粘贴C:\adb- 打开新命令行窗口,输入
adb version,看到版本号即成功
macOS用户:
- 下载Platform-tools,解压到
~/Downloads/platform-tools - 打开终端,执行:
echo 'export PATH=$PATH:~/Downloads/platform-tools' >> ~/.zshrc source ~/.zshrc - 输入
adb version验证
- 下载Platform-tools,解压到
关键提示:如果
adb version报错,请勿继续!反复检查路径拼写、是否重启了终端/命令行。这是最常卡住的第一关。
2.3 手机端设置:三步开启“被操控权”
开启开发者模式:
进入「设置」→「关于手机」→ 连续点击「版本号」7次,直到提示“您已处于开发者模式”。开启USB调试:
返回「设置」→「系统」→「开发者选项」→ 找到并勾选「USB调试」。如果找不到“开发者选项”,请确认上一步已成功开启。安装ADB Keyboard(必做!):
- 下载 ADB Keyboard APK(推荐v1.3+)
- 在手机上安装(需允许“未知来源”安装)
- 进入「设置」→「系统」→「语言与输入法」→「虚拟键盘」→ 将「ADB Keyboard」设为默认输入法
为什么必须装?Open-AutoGLM需要输入中文、数字、符号。ADB Keyboard是唯一能通过ADB命令精准输入任意字符的方案,比模拟点击软键盘稳定百倍。
3. 部署控制端:5分钟跑通代码
现在,你的电脑和手机已建立信任关系,接下来是让AI“大脑”上线。
3.1 克隆代码并安装依赖
打开终端(Windows用CMD/PowerShell,macOS用Terminal),依次执行:
# 1. 克隆官方仓库(国内用户建议加 --depth 1 加速) git clone https://github.com/zai-org/Open-AutoGLM cd Open-AutoGLM # 2. 创建并激活虚拟环境(强烈推荐,避免依赖冲突) python -m venv venv source venv/bin/activate # macOS/Linux # venv\Scripts\activate # Windows # 3. 安装核心依赖(注意:requirements.txt里含torch-cu121,若无NVIDIA显卡请先卸载torch再重装cpu版) pip install -r requirements.txt pip install -e .常见坑提醒:
- 如果
pip install -r requirements.txt卡在torch,说明你机器没有CUDA或版本不匹配。执行pip uninstall torch torchvision torchaudio,然后去 PyTorch官网 选“CPU only”版本重新安装。pip install -e .是为了将phone_agent模块注册为可导入包,否则后续代码会报ModuleNotFoundError。
3.2 连接你的安卓设备
插入USB线,确保手机弹出“允许USB调试吗?”提示,务必勾选“始终允许”并点确定。
在终端执行:
adb devices正常输出应类似:
List of devices attached ZY225XXXXX device如果显示unauthorized,说明手机没授权,拔插USB重试;如果为空,检查USB线(换根线)、手机USB模式(设为“文件传输”或“MTP”)、驱动(Windows可能需装ADB驱动)。
3.3 启动AI代理:一条命令搞定
此时,你已拥有一个云端或本地的AutoGLM推理服务(如vLLM部署的autoglm-phone-9b模型)。假设服务地址是http://192.168.1.100:8800/v1,设备ID是ZY225XXXXX,执行:
python main.py \ --device-id ZY225XXXXX \ --base-url http://192.168.1.100:8800/v1 \ --model "autoglm-phone-9b" \ "打开小红书搜索‘AI手机助手’,进入第一个笔记,保存图片"你会看到终端实时打印:
- 截图上传、分析过程
- AI生成的操作步骤(如:“点击搜索框”、“输入‘AI手机助手’”、“点击搜索图标”...)
- ADB执行日志(如:“tap 520 180”、“input text ‘AI手机助手’”)
- 最终成功提示:“任务完成 ”
首次运行耐心等待:模型加载、截图分析、动作规划需要10-30秒,不要中途Ctrl+C。成功后,手机屏幕上会真实发生你描述的所有操作。
4. 实战技巧:让AI更听话、更可靠
刚跑通只是起点。以下技巧来自实测经验,能显著提升成功率和体验。
4.1 指令怎么写?3个原则胜过100个参数
Open-AutoGLM不是搜索引擎,它需要明确、具体、可操作的指令。避免模糊词:
- 不好:“帮我看看小红书有什么好玩的”
→ AI无法判断“好玩”标准,也无法决定刷多少页 - 好:“打开小红书,刷新首页,截取前3个视频封面并保存到相册”
黄金公式:【App名】+【具体动作】+【目标对象】+【结果要求】
例:“打开抖音,搜索用户‘科技老男孩’,进入其主页,点击‘关注’按钮”
4.2 敏感操作安全机制:人工接管很关键
当AI遇到登录、支付、验证码等高风险场景,它会主动暂停并等待你确认:
- 终端会打印:“检测到登录页面,请手动输入验证码,完成后输入‘continue’继续”
- 你只需在手机上手动输入验证码,回到终端敲
continue,AI即恢复执行
这不是缺陷,而是设计——把最终决策权交还给人,既保障安全,又避免误操作。
4.3 WiFi远程控制:摆脱USB线束缚
USB虽稳定,但长距离、多设备时不便。WiFi方案更灵活:
- 先用USB连接手机,执行:
adb tcpip 5555 - 拔掉USB线,确保手机和电脑在同一WiFi下
- 查看手机IP(设置→关于手机→状态→IP地址),假设为
192.168.1.105 - 电脑执行:
adb connect 192.168.1.105:5555 adb devices # 应显示 192.168.1.105:5555 device - 后续所有命令中,
--device-id改为192.168.1.105:5555
注意:WiFi连接稳定性受路由器影响。若频繁断连,可在路由器QoS设置中为该设备分配更高优先级。
5. 常见问题排查:快速定位,不抓瞎
部署中最耗时的不是配置,而是排查。以下是高频问题及解法:
| 问题现象 | 可能原因 | 解决方案 |
|---|---|---|
adb devices无设备 | USB调试未开启/未授权/驱动异常 | 重走2.3节手机设置;Windows换ADB驱动;macOS重启adb server(adb kill-server && adb start-server) |
运行main.py报ConnectionRefusedError | 云服务未启动/端口未映射/防火墙拦截 | 检查云服务器是否运行vLLM;确认--base-url中的IP和端口可被电脑访问(浏览器打开http://IP:PORT/health);关闭云服务器防火墙或放行端口 |
| AI识别错按钮,点到无关区域 | 屏幕分辨率适配问题/截图模糊 | 在main.py中添加--scale-factor 1.0(默认1.25,高分屏可调低);确保手机屏幕清洁、无反光 |
| 中文输入乱码或不出现 | ADB Keyboard未设为默认/未安装 | 严格按2.3.3节重装并设置;检查手机输入法列表中ADB Keyboard是否在首位 |
| 任务执行一半卡住 | 网络延迟高/模型响应慢/界面加载未完成 | 增加超时参数:--timeout 120;在指令末尾加“等待页面加载完成”;换用更稳定的WiFi或USB |
6. 进阶玩法:不止于“点一点”
Open-AutoGLM的潜力远超单次指令。掌握这些,你就能构建真正有用的自动化工作流。
6.1 Python API:集成到你自己的项目中
不想总敲命令行?用几行Python把它变成你程序的“手”:
from phone_agent.agent import PhoneAgent # 初始化AI代理(复用你的服务地址和设备) agent = PhoneAgent( device_id="ZY225XXXXX", base_url="http://192.168.1.100:8800/v1", model_name="autoglm-phone-9b" ) # 一行代码触发操作 result = agent.execute("打开微信,给‘张三’发消息‘今天会议改到3点’") print(result.status) # success / failed print(result.steps) # 执行的详细步骤列表你可以把它嵌入:
- 自动化测试脚本:批量验证App UI流程
- 个人效率工具:每天早上自动汇总邮件+日程+天气
- 数据采集工具:自动翻页、截图、OCR提取信息
6.2 批量任务:让AI同时管多台手机
只需启动多个main.py进程,每个指定不同--device-id:
# 终端1:控制手机A python main.py --device-id ZY225XXXXX --base-url ... "任务A" # 终端2:控制手机B python main.py --device-id 3456789ABC --base-url ... "任务B"配合Shell脚本或Python多进程,即可实现“一脑多手”,适合批量运营、灰度测试等场景。
7. 总结:你已经拥有了一个数字分身
回顾整个过程,我们只做了三件事:
- 让电脑认识手机(ADB配置),
- 让手机信任电脑(开发者模式+ADB Keyboard),
- 让AI听懂人话(部署Open-AutoGLM并下发指令)。
没有复杂的模型训练,没有晦涩的API文档,没有厂商绑定。你拿到的,是一个开箱即用、可定制、可扩展的安卓操作引擎。
它不会取代你,但会放大你的能力:
- 运营人员,用它一天批量发布100条小红书笔记;
- 测试工程师,用它每小时回归10轮App核心路径;
- 普通用户,用它自动抢演唱会门票、比价下单、整理手机相册。
技术的价值,从来不在参数多高,而在是否真正降低了使用门槛。Open-AutoGLM做到了——它把曾经属于实验室的“GUI Agent”能力,塞进了一台普通电脑和一部旧安卓手机里。
下一步,试试让它帮你做一件你每天重复3次的事。你会发现,那个“把操作权交给AI”的未来,已经站在你家门口。
获取更多AI镜像
想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。