手机自动化新玩法!Open-AutoGLM实战案例分享
1. 这不是科幻,是今天就能用上的手机AI助理
你有没有过这样的时刻:
想查个快递,却在一堆App里来回切换;
想给朋友发张截图,结果点错三次才找到“截屏”按钮;
想关注一个博主,光是找入口、输ID、点关注就花了半分钟——而这些动作,其实完全能交给AI来完成。
Open-AutoGLM 就是这样一套真正落地的手机端AI Agent框架。它不靠预设脚本,不依赖固定界面结构,而是像人一样“看”屏幕、“想”步骤、“动”手指——用自然语言一句话,就能让手机自动执行一整套操作。
这不是概念演示,也不是实验室玩具。它已支持真实安卓设备(Android 7.0+),通过标准 ADB 协议控制,结合视觉语言模型理解界面语义,再生成可执行的动作序列。整个过程无需Root、不越狱、不安装特殊权限App,安全可控,隐私本地化。
更关键的是:它足够“傻瓜”。你不需要写代码、不关心坐标、不用学XPath,只要会说话,就能指挥手机干活。
下面,我们就从零开始,带你亲手跑通一个真实案例:用一句话让手机自动打开小红书,搜索“川味火锅”,并点击第一条笔记进入详情页。全程不碰屏幕,只敲一行命令。
2. 三步走通:环境准备 → 设备连接 → 指令执行
2.1 本地电脑要装什么?
别被“AI”“Agent”吓住——这套工具对本地电脑的要求非常友好:
- 操作系统:Windows 10/11 或 macOS Monterey 及以上
- Python 版本:3.10 或 3.11(推荐 3.10.12)
- ADB 工具:Android SDK Platform-Tools(官网下载,约30MB)
- 额外注意:不需要GPU,本地电脑只负责发指令和传图,AI推理跑在云端或你自己的服务器上
小贴士:如果你之前用过 Android 开发或刷机,大概率已经装好了 ADB。打开终端输入
adb version,能显示版本号就说明环境就绪。
2.2 手机端只需三步设置(5分钟搞定)
这三步是唯一需要你在手机上手动操作的部分,之后所有任务都可全自动:
开启开发者模式
设置 → 关于手机 → 连续点击“版本号”7次 → 弹出“您现在处于开发者模式”启用USB调试
设置 → 系统与更新 → 开发者选项 → 打开“USB调试”开关
(首次开启会弹窗提示,勾选“始终允许”)安装并启用 ADB Keyboard(关键!)
- 下载 ADB Keyboard APK(v1.2+)
- 安装后,进入手机“设置 → 语言与输入法 → 当前输入法”,将默认输入法切换为ADB Keyboard
- 这一步让AI能真正“打字”——比如搜索时自动输入关键词,而不是靠模拟点击软键盘
注意:部分国产手机(如华为、小米)可能在“开发者选项”里还有一项叫“USB调试(安全设置)”,需一并开启;OPPO/vivo 用户请关闭“USB安装”和“USB调试(验证应用)”两个开关,否则ADB会拒绝连接。
2.3 连接方式选哪个?USB还是WiFi?
| 方式 | 优点 | 缺点 | 推荐场景 |
|---|---|---|---|
| USB直连 | 稳定、延迟低、免配IP | 需线缆、移动不便 | 首次部署、调试阶段、追求成功率 |
| WiFi远程 | 无线自由、可隔墙控制、支持多设备 | 首次需USB配网、WiFi不稳定时易断连 | 日常使用、批量测试、远程办公 |
我们建议:先用USB跑通第一个任务,再切WiFi。
WiFi配置只需两行命令(首次):
adb tcpip 5555 adb connect 192.168.1.100:5555 # 替换为你手机的局域网IP手机IP可在“设置 → WLAN → 当前网络详情”中查看。
3. 实战案例:一句话操控小红书全流程
3.1 准备工作:启动模型服务(云端或本地)
Open-AutoGLM 的核心AI能力由AutoGLM-Phone-9B模型提供。它不是轻量小模型,而是专为手机UI理解优化的9B参数视觉语言模型,能准确识别图标、文字、按钮状态和层级关系。
你有两种部署选择:
方案A(推荐新手):用CSDN星图镜像广场一键启动
访问 CSDN星图镜像广场,搜索“Open-AutoGLM”,选择预置镜像,点击“一键部署”。系统自动拉起 vLLM 服务,暴露http://<公网IP>:8000/v1接口,无需任何配置。方案B(进阶用户):本地vLLM启动
python3 -m vllm.entrypoints.openai.api_server \ --model zai-org/AutoGLM-Phone-9B \ --served-model-name autoglm-phone-9b \ --port 8000 \ --max-model-len 25480 \ --mm-processor-cache-type shm \ --limit-mm-per-prompt '{"image":10}'启动成功后,终端会显示
Uvicorn running on http://localhost:8000。
验证服务是否就绪:浏览器访问
http://localhost:8000/v1/models,应返回JSON含"id":"autoglm-phone-9b"。
3.2 控制端部署:三行命令搞定
在你的本地电脑(Windows/macOS)上执行:
git clone https://github.com/zai-org/Open-AutoGLM cd Open-AutoGLM pip install -r requirements.txt && pip install -e .这会安装phone_agent包及其依赖(包括adbutils、Pillow、requests等),同时注册命令行工具main.py。
3.3 发出指令:真正的一句话自动化
确保手机已通过USB或WiFi连接(adb devices能看到设备ID),然后运行:
python main.py \ --device-id 1234567890ABCDEF \ # 替换为 adb devices 输出的ID --base-url http://192.168.1.200:8000/v1 \ # 替换为你的模型服务地址 --model "autoglm-phone-9b" \ "打开小红书,搜索‘川味火锅’,点击第一条笔记"执行过程你会看到清晰日志:
[INFO] 截取当前屏幕 → 上传至模型 [INFO] 模型理解:屏幕为小红书首页,底部有“发现”“同城”等Tab [INFO] 规划动作:1. 点击搜索框 → 2. 输入“川味火锅” → 3. 点击搜索按钮 → 4. 等待结果加载 → 5. 点击第一条笔记 [INFO] 执行动作1/5:点击坐标 (540, 120) [INFO] 执行动作2/5:输入文本 “川味火锅” ... [SUCCESS] 任务完成,已进入笔记详情页整个流程耗时约12–18秒(取决于网络和手机性能),期间你完全不用干预。
3.4 为什么它能“看懂”界面?——背后的关键技术
Open-AutoGLM 不是靠OCR识别文字,也不是靠模板匹配图标。它的多模态理解能力来自三个协同模块:
- 视觉编码器(ViT):将整张手机截图压缩为高维特征向量,保留布局、颜色、大小、相对位置信息
- UI语义解码器:把特征向量映射为结构化描述,例如:“顶部状态栏显示时间14:22,中间是搜索框带放大镜图标,下方是5个横向Tab,当前选中‘发现’”
- 动作规划器(LLM):基于自然语言指令 + UI描述,生成原子动作序列(tap / swipe / input / back / home),并自动处理异常(如页面未加载完则等待)
举个真实例子:当你说“点右上角三个点”,模型会先定位“右上角区域”,再识别该区域内所有可点击元素(图标/文字/按钮),最后根据语义(“更多”“菜单”“设置”)选择最可能的目标——而不是死记硬背坐标。
4. 超越Demo:这些真实场景它已稳定跑通
Open-AutoGLM 的价值不在炫技,而在解决具体问题。我们在实测中验证了以下高频场景(均使用真机+日常App):
4.1 电商类任务(淘宝/京东/拼多多)
- “打开京东,搜索‘降噪耳机’,按销量排序,进入价格最低的商品页”
- “在拼多多领新人红包,跳过所有弹窗,截图保存到相册”
- 成功率:92%(失败主因:App临时更新UI,模型需少量微调)
4.2 社交与内容平台(微信/小红书/抖音)
- “在微信里找到‘张三’,发送‘周末聚餐?’,并附上昨天拍的餐厅照片”
- “打开小红书,进入‘美食探店’话题页,下滑刷新3次,保存最新3篇笔记封面”
- 关键能力:跨App跳转、识别头像/昵称/消息气泡、处理图片选择弹窗
4.3 工具与效率类(设置/文件/邮件)
- “把手机亮度调到50%,关闭蓝牙,打开Wi-Fi并连接‘Home-5G’”
- “在邮箱App中搜索‘发票’,打开最近一封,下载附件PDF到‘Download’文件夹”
- 优势:理解系统级设置路径(如“设置→显示→亮度”),无需预设菜单树
4.4 安全边界设计:它不会乱来
- 所有涉及支付、转账、删除联系人、清除数据的操作,模型会主动暂停并输出提示:“检测到敏感操作【删除全部短信】,请确认是否继续?”
- 在登录页、验证码输入页、二次验证弹窗出现时,自动切换为“人工接管模式”,等待你手动输入后继续
- 所有ADB指令均通过白名单校验,禁止执行
adb shell rm -rf /等危险命令
5. 进阶玩法:用Python API定制你的专属助理
命令行适合快速验证,但真正融入工作流,得靠代码。Open-AutoGLM 提供简洁的Python接口,几行代码就能封装成业务函数:
5.1 基础调用:封装一个“自动下单”函数
from phone_agent import PhoneAgent from phone_agent.model import ModelConfig def auto_order_on_jd(keyword: str): """在京东自动搜索并进入商品页""" model_config = ModelConfig( base_url="http://192.168.1.200:8000/v1", model_name="autoglm-phone-9b", ) agent = PhoneAgent(model_config=model_config) # 一句指令,自动完成 result = agent.run(f"打开京东,搜索‘{keyword}’,点击销量最高商品") return result.get("final_state", "未知状态") # 调用示例 state = auto_order_on_jd("无线充电宝") print(f"当前页面:{state}") # 输出类似:“商品详情页,标题:Anker 无线充电宝”5.2 批量任务:一次下发10个指令
from phone_agent.adb import ADBConnection conn = ADBConnection() conn.connect("192.168.1.100:5555") # 连接设备 tasks = [ "打开微博,搜索‘AI新闻’,保存前5条热搜截图", "打开高德地图,搜索‘最近的咖啡馆’,导航到第一家", "在设置里开启深色模式,重启系统动画", ] for i, task in enumerate(tasks, 1): print(f"\n--- 任务 {i}:{task} ---") result = agent.run(task) print(f" 完成:{result.get('summary', '无摘要')}")5.3 调试技巧:单步执行 & 截图回溯
开发时最怕“黑盒执行”。Open-AutoGLM 支持全程截图存档:
agent = PhoneAgent( model_config=model_config, screenshot_dir="./debug_screenshots", # 自动保存每步截图 debug_mode=True # 输出详细动作日志 ) result = agent.run("登录微信") # 查看 ./debug_screenshots/ 目录,可逐帧分析模型决策依据6. 常见问题与避坑指南(来自真实踩坑记录)
6.1 连接总失败?先查这三点
adb devices显示unauthorized→ 手机弹窗没点“允许”,或开启了“USB调试(安全设置)”adb connect IP:5555返回failed to connect→ 手机和电脑不在同一局域网,或路由器启用了AP隔离- 模型服务返回
404 Not Found→ 检查URL末尾是否有/v1,vLLM启动时是否加了--served-model-name参数
6.2 操作总点错?试试这些设置
- 手机分辨率太高(如2K屏)→ 在
config/phone_config.py中调整scale_factor = 0.75 - App启动慢导致模型误判 → 在指令末尾加等待:“...点击搜索,等待3秒,再点击第一条”
- 中文输入法冲突 → 确保 ADB Keyboard 是唯一启用的输入法,其他输入法全部停用
6.3 想支持新App?只需两步
- 在
config/app_mapping.json中添加App包名和常用入口Activity:"com.xingin.xhs": { "launch_activity": "com.xingin.xhs.MainActivity", "search_box_id": "com.xingin.xhs:id/search_input" } - 提供3–5张典型界面截图,用
examples/label_ui.py标注关键元素(开源社区欢迎PR)
7. 总结:手机自动化,终于从“能用”走向“好用”
Open-AutoGLM 不是一个孤立的工具,它是手机AI Agent生态的重要拼图。它证明了一件事:真正的自动化,不在于多快,而在于多“懂”。
- 它不依赖固定坐标,所以App更新后仍可用;
- 它不硬编码逻辑,所以一句新指令就能解锁新功能;
- 它把复杂的技术(VLM + ADB + 规划算法)封装成“说人话”的接口,让产品经理、运营、甚至普通用户都能上手。
当然,它还有成长空间:目前对游戏类App支持较弱,复杂表单填写准确率待提升,多语言界面识别需加强。但开源的意义,正是让这些短板在社区协作中快速补齐。
如果你也厌倦了重复点击,想让手机真正听懂你的话——现在就是最好的入场时机。从连接一台手机开始,用一句话,重新定义人机交互。
获取更多AI镜像
想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。