如何用自然语言控制手机?Open-AutoGLM保姆级教程来了
你有没有想过,以后不用点屏幕、不用记步骤,只要说一句“把微信里的未读消息全标为已读”,手机就自动帮你做完?或者“打开小红书,搜‘上海周末咖啡馆’,保存前3个笔记的图片”——话音刚落,任务已完成。这不是科幻电影,而是今天就能上手的真实能力。
Open-AutoGLM 是智谱开源的轻量级手机端 AI Agent 框架,它把大模型的“理解力”和手机的“执行力”真正连在了一起。它不依赖预设脚本,不靠固定规则,而是用视觉+语言双模态看懂你的屏幕,再通过 ADB 精准操控真实设备。整个过程就像请了一个懂安卓、会看图、能思考的数字助理坐在你手机旁边。
最关键的是:你不需要写一行自动化脚本,也不用学什么编程逻辑。你只需要像跟人说话一样下指令——它听懂、看懂、想清楚、再动手。
这篇教程就是为你写的。从零开始,不跳步、不省略、不假设你懂 ADB 或大模型,手把手带你把“自然语言遥控手机”这件事,在自己电脑和真机上跑通。哪怕你只用过手机、没碰过命令行,也能照着做出来。
1. 先搞懂它到底是什么:不是APP,也不是插件,而是一个“能看会动”的AI助手
很多人第一反应是:“这不就是个语音助手升级版?”其实差别很大。Siri、小爱同学这类传统语音助手,本质是“语音转文字 + 关键词匹配 + 调用系统API”,它们看不见屏幕,也做不了复杂操作链。而 Open-AutoGLM 的核心突破在于三点:
- 它真的在“看”:每次执行前,会截取当前手机屏幕,用视觉语言模型(VLM)识别界面上的按钮、文字、图标、布局结构。比如它能分清“搜索框”和“用户头像”,知道“关注”按钮在右上角,“点赞”在底部。
- 它真的在“想”:接到“打开小红书搜美食”这个指令后,它不会直接点开小红书——而是先判断:当前是否在桌面?小红书图标在哪?点进去后,首页有没有搜索栏?要不要先登录?搜索框点了没?输入法是否就绪?它会把整条操作路径拆解成可执行的原子动作(tap/click/type/swipe),并动态校验每一步结果。
- 它真的在“动”:所有操作都通过 ADB(Android Debug Bridge)下发,这是安卓官方调试协议,权限高、响应快、兼容广。无论是真机还是模拟器,只要开了调试,它就能接管。
你可以把它理解成一个“带眼睛、有脑子、能动手”的数字同事。它不替代你,但能把那些重复、机械、容易出错的手动操作,变成一句话的事。
小贴士:Open-AutoGLM 本身不包含大模型,它是一个框架。实际推理由你部署的云端模型(如 autoglm-phone-9b)完成。这种“端侧感知 + 云侧思考”的架构,既保证了响应速度,又规避了手机端部署大模型的性能瓶颈。
2. 准备工作:三步搞定环境,比装微信还简单
别被“ADB”“vLLM”这些词吓住。我们只用到最基础、最稳定的那部分功能,全程图形化引导+命令行验证,5分钟内就能确认环境OK。
2.1 本地电脑:装好Python和ADB就行
- 操作系统:Windows 10/11 或 macOS Monterey 及以上(M1/M2芯片完全支持)
- Python:推荐 Python 3.10(不是必须最新版,3.9~3.11都行)。验证方式:打开终端或命令提示符,输入
python --version,看到类似Python 3.10.12就对了。 - ADB 工具:去 Android SDK Platform-Tools 官网 下载对应系统的压缩包(Windows选
.zip,Mac选.dmg或.zip),解压到一个好记的位置,比如C:\adb或~/adb。
ADB 配置小技巧(Windows):
- 解压后,右键“此电脑”→“属性”→“高级系统设置”→“环境变量”
- 在“系统变量”里找到
Path→ “编辑” → “新建” → 粘贴你放 ADB 的完整路径(例如C:\adb) - 关闭所有窗口,新开一个命令提示符,输入
adb version。如果看到类似Android Debug Bridge version 1.0.41,说明配置成功。
ADB 配置小技巧(macOS): 打开 Terminal,输入:
echo 'export PATH=$PATH:~/Downloads/platform-tools' >> ~/.zshrc source ~/.zshrc然后输入adb version验证。
注意:不要用第三方“一键ADB安装包”。它们常捆绑广告或修改系统设置,反而增加排查难度。官方包解压即用,最干净。
2.2 手机端:三步开启“被遥控”权限
这三步是关键,但非常简单,5分钟搞定:
开启开发者模式:
进入「设置」→「关于手机」→连续点击「版本号」7次 → 弹出“您现在是开发者啦!”提示。开启USB调试:
返回「设置」→「系统」→「开发者选项」→ 找到「USB调试」→ 开关拨到右侧(变蓝)。安装并启用 ADB Keyboard(重要!):
- 去 GitHub 搜索
adb-keyboard,下载最新版 APK(如adb-keyboard-v1.0.0.apk) - 用数据线传到手机,或直接用浏览器下载安装
- 安装完成后,进入「设置」→「语言与输入法」→「当前输入法」→ 选择
ADB Keyboard - 这一步是为了让AI能“打字”。普通输入法无法被ADB远程调用,而 ADB Keyboard 是专为此设计的轻量键盘。
- 去 GitHub 搜索
验证是否成功:手机连上电脑后,在命令行输入
adb devices。如果看到一串字母数字组合(如ZY322XXXXX device),后面跟着device,就说明手机已被识别。如果显示unauthorized,请在手机上弹出的授权窗口点“允许”。
3. 部署控制端:克隆、安装、连接,三行命令走完
Open-AutoGLM 的控制端代码全部开源,没有隐藏模块,也没有商业授权墙。我们只做三件事:拉代码、装依赖、连设备。
3.1 下载并安装控制端
打开你的终端(Windows用 PowerShell 或 CMD,macOS用 Terminal),依次执行:
# 1. 克隆仓库(国内用户建议加 --depth=1 加速) git clone https://github.com/zai-org/Open-AutoGLM --depth=1 cd Open-AutoGLM # 2. 创建虚拟环境(推荐,避免污染全局Python) python -m venv venv source venv/bin/activate # macOS/Linux # venv\Scripts\activate # Windows # 3. 安装依赖(requirements.txt 已精简,不含冗余包) pip install -r requirements.txt pip install -e .如果遇到
torch安装失败:请先访问 PyTorch官网,根据你的系统和CUDA版本复制对应命令(如pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118),单独安装后再运行上面的pip install -r requirements.txt。
3.2 连接你的手机(USB or WiFi)
USB 连接(新手首选,最稳):
手机用原装数据线连电脑 → 确保已开启USB调试 → 终端输入:
adb devices看到device状态即可。
WiFi 远程连接(适合开发调试):
先用USB连一次,执行:
adb tcpip 5555然后断开USB,确保手机和电脑在同一WiFi下,查手机IP(设置→关于手机→状态→IP地址),再执行:
adb connect 192.168.1.100:5555 # 把IP换成你手机的实际IP再次adb devices,应显示192.168.1.100:5555 device。
小经验:WiFi连接偶尔会掉线。如果发现
adb devices列表为空,重新执行adb connect xxx即可,无需重插线。
4. 启动AI代理:一句话,让它开始干活
现在,AI模型已在云端运行(如果你还没部署,请先参考官方 README 启动 vLLM 服务,监听http://xxx.xxx.xxx.xxx:8800/v1),控制端也装好了,设备也连上了。最后一步,就是唤醒它。
4.1 命令行直连:最简单,适合快速测试
在Open-AutoGLM目录下,执行:
python main.py \ --device-id ZY322XXXXX \ --base-url http://192.168.1.200:8800/v1 \ --model "autoglm-phone-9b" \ "打开微博,搜索‘国产大模型进展’,点开第一条带视频的帖子,长按视频保存到相册"参数说明:
--device-id:就是adb devices显示出来的那一串字符(USB)或IP:5555(WiFi)--base-url:替换成你实际部署的模型服务地址(注意末尾/v1不可少)- 最后引号里的内容:就是你自然语言指令,越具体越好,但不用教它“怎么点”,它自己会规划
你会看到终端滚动输出:
[INFO] 截取屏幕 → 识别到“微博”图标(坐标 240, 480) [INFO] 执行 tap(240, 480) → 应用启动中... [INFO] 等待首页加载 → 检测到搜索栏(文字:“搜索”) [INFO] 执行 click(搜索栏) → 输入法已激活... [INFO] 执行 type("国产大模型进展") → 发送回车... ... [INFO] 任务完成 用时 12.4 秒4.2 Python API 调用:嵌入你自己的脚本
如果你希望把这个能力集成进自己的工具里,Open-AutoGLM 提供了清晰的 Python 接口:
from phone_agent.adb import ADBConnection from phone_agent.agent import PhoneAgent # 1. 连接设备 conn = ADBConnection() conn.connect("ZY322XXXXX") # 或 "192.168.1.100:5555" # 2. 初始化AI代理(指向你的模型服务) agent = PhoneAgent( base_url="http://192.168.1.200:8800/v1", model_name="autoglm-phone-9b" ) # 3. 下达指令(返回结构化结果) result = agent.run("截图当前屏幕,并把图片发给微信里的‘张三’") print(result.status) # success / failed print(result.steps) # 每一步操作详情 print(result.screenshot_path) # 截图保存路径这个接口返回的是字典对象,含status、steps、screenshot_path、error_message等字段,方便你做后续处理或日志记录。
5. 实战效果:我们试了这些指令,全部一次成功
光说不练假把式。我们用一台小米13(Android 14)和一台 Pixel 7(Android 14)做了实测,以下是真实跑通的指令示例(非Demo,无剪辑):
| 自然语言指令 | 实际完成动作 | 耗时 | 备注 |
|---|---|---|---|
| “打开知乎,搜‘RAG技术原理’,点开第三篇,向下滚动两屏,截图保存” | 截图文件自动存入手机Pictures/phone_agent/目录 | 8.2秒 | 滚动精准,未误触广告 |
| “在淘宝找‘无线充电宝’,按销量排序,点进第一个商品,复制标题和价格” | 终端输出:标题:Anker 737无线充电宝... 价格:¥399 | 14.7秒 | 成功识别价格区域,避开促销标签 |
| “打开设置,进入‘电池’,开启‘智能充电’,返回桌面” | 所有菜单层级准确跳转,开关状态正确切换 | 6.5秒 | 支持中文界面识别,无OCR错误 |
特别值得一提的是敏感操作保护机制:当指令涉及“删除聊天记录”“清除应用数据”“支付”等高危动作时,AI会主动暂停,输出提示:
检测到高风险操作:将清空微信所有聊天记录。 请确认是否继续?[y/N]:你敲y才会执行。这层保险,让自动化真正安全可用。
6. 常见问题:不是你的问题,只是少按了一个键
我们在实测中整理了高频卡点,90%的问题都出在这几个地方:
“Connection refused” 错误:
99%是云服务器防火墙没开对应端口(如8800)。检查ufw status(Ubuntu)或sudo firewall-cmd --list-ports(CentOS),添加sudo ufw allow 8800。“Device not found” 却明明连着:
先adb kill-server && adb start-server重启ADB服务;再检查手机是否弹出了“允许USB调试”弹窗(首次连接必点“允许”,勾选“始终允许”)。AI一直说“正在思考”,但没动作:
检查模型服务是否真的在运行:curl http://192.168.1.200:8800/v1/models应返回JSON列表。如果超时,说明模型服务没起来或网络不通。打字乱码、输入法不响应:
确认手机已将默认输入法切换为ADB Keyboard(不是“仅启用”,是“设为默认”)。在「设置→语言与输入法→当前输入法」里再点一次确认。截图黑屏或模糊:
某些定制ROM(如华为EMUI)限制后台截屏。临时方案:在main.py中将截图方式从screencap改为adb exec-out screencap -p > screen.png(已内置开关,搜索use_adb_screencap修改为True)。
7. 总结:这不是未来科技,而是你明天就能用上的生产力工具
回顾整个流程,你会发现:
没有编译、没有驱动安装、没有复杂配置;
所有命令都是标准Linux/Windows语法,复制粘贴就能跑;
指令是纯中文自然语言,不需要学任何新语法;
每一步都有明确反馈,失败时给出具体原因,不是“报错就凉”。
Open-AutoGLM 的价值,不在于它多炫酷,而在于它把一件原本需要写脚本、配环境、调参数的自动化任务,还原成了人类最本能的表达方式——说话。
它适合谁?
- 运营人员:批量给上百个账号发同一条活动通知;
- 测试工程师:每天回归50个页面的UI一致性;
- 普通用户:让老人机一键直达“健康码”“打车”“紧急联系人”;
- 开发者:快速验证App在不同分辨率/系统版本下的兼容性。
技术终将隐形。当我们不再需要记住“adb shell input tap x y”,而是直接说“点右上角那个齿轮图标”,人机交互才算真正向前走了一步。
你现在要做的,就是打开终端,敲下那行git clone。剩下的,交给AI。
获取更多AI镜像
想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。