Open-AutoGLM初体验:多模态AI让手机变聪明了
1. 这不是科幻,是今天就能用上的手机智能体
你有没有过这样的时刻:
想查个快递,却在一堆App里来回切换;
朋友发来一个抖音号,你得手动打开抖音、点搜索、粘贴、再点关注;
刚下载的购物App界面陌生,点哪都不确定,最后还是截图发给同事问“这个按钮是干啥的”。
这些琐碎操作,每天消耗我们大量注意力。而Open-AutoGLM做的,就是把“人操作手机”这件事,交给AI来完成——不是简单录屏回放,而是真正看懂屏幕、理解意图、自主规划、安全执行。
它不依赖预设脚本,也不需要你写一行代码。你只说一句自然语言:“打开小红书搜‘上海咖啡探店’,点开点赞最多的那篇”,它就能自动完成从启动App、输入关键词、浏览结果到点击文章的全过程。整个过程像有个懂安卓的助手坐在你手机旁边,安静、准确、不打扰。
这不是未来概念,也不是实验室Demo。它是智谱开源的Phone Agent框架,运行在真实安卓设备上,基于视觉语言模型+ADB自动化,已支持中英文双语指令、远程WiFi控制、敏感操作人工确认等实用能力。本文将带你从零开始,亲手让一部普通安卓手机“变聪明”。
2. 它到底怎么让手机听懂人话?
2.1 三层协同:看得清、想得明、动得准
Open-AutoGLM不是单个模型,而是一个轻量但完整的AI代理系统,由三个核心模块紧密配合:
视觉感知层:每次执行前,自动截取当前手机屏幕(支持全屏或指定区域),送入视觉语言模型(VLM)进行多模态理解。它不只是识别文字,还能理解图标含义、按钮位置、列表结构、甚至UI层级关系——比如分辨“搜索框”和“输入框”、“关注按钮”和“已关注状态”。
意图规划层:接收到你的自然语言指令(如“登录微信并发送‘会议资料’给张三”),模型会拆解为原子动作序列:启动微信 → 点击通讯录 → 搜索张三 → 点击头像 → 点击输入框 → 输入文字 → 点击发送。每一步都结合当前屏幕状态动态决策,不是固定路径。
执行控制层:通过ADB(Android Debug Bridge)精准模拟人类操作——点击坐标、滑动轨迹、长按时长、键盘输入(借助ADB Keyboard)。所有操作都带安全校验:涉及支付、删除、权限授予等敏感动作时,会暂停并弹出确认提示,等你手动点击才继续。
这三层不是割裂的,而是闭环反馈:执行后立刻截图→重新理解界面→判断是否达成目标→若未完成则自动修正下一步。就像真人操作时会边做边看、随时调整。
2.2 和传统自动化工具的本质区别
很多人第一反应是:“这不就是Auto.js或Tasker吗?”关键差异在于理解力:
| 对比维度 | Auto.js / Tasker | Open-AutoGLM |
|---|---|---|
| 操作依据 | 基于固定坐标、控件ID或图像模板匹配 | 基于屏幕内容语义理解(“右上角的放大镜图标”而非“x=892,y=120”) |
| 适应性 | App UI一改就失效,需重写脚本 | 同一指令在不同版本小红书/抖音上仍可工作 |
| 学习成本 | 需掌握JavaScript语法、ADB命令、UI树分析 | 只需会说中文,如“把这张图发到朋友圈” |
| 错误恢复 | 找不到控件即报错中断 | 截图发现没找到搜索框,会尝试滑动页面、点击导航栏等补救动作 |
一句话总结:前者是“机械臂”,后者是“带眼睛和脑子的助理”。
3. 三步上手:从连手机到让它干活
3.1 准备工作:5分钟搞定环境
不需要GPU服务器,也不用刷机。只需一台普通电脑(Windows/macOS)和一部安卓手机(Android 7.0+)。
第一步:装好ADB工具
- Windows用户:下载Platform-tools,解压后将文件夹路径添加到系统环境变量(
sysdm.cpl → 高级 → 环境变量 → 系统变量 → Path → 新建),命令行输入adb version验证显示版本号即成功。 - macOS用户:终端执行
(请将export PATH=${PATH}:~/Downloads/platform-tools~/Downloads/platform-tools替换为你实际解压路径)
第二步:手机开启调试权限
- 进入「设置 → 关于手机」,连续点击「版本号」7次,开启开发者模式;
- 返回「设置 → 系统 → 开发者选项」,开启「USB调试」;
- 下载安装ADB Keyboard APK,进入「设置 → 语言与输入法」,将默认输入法切换为ADB Keyboard(这是为后续文本输入准备,避免弹出软键盘遮挡界面)。
注意:首次USB连接手机时,手机会弹出“允许USB调试”提示,务必勾选“始终允许”,否则每次重启都要确认。
3.2 部署控制端:本地跑起来
在电脑上执行以下命令(确保已安装Python 3.10+):
# 克隆项目 git clone https://github.com/zai-org/Open-AutoGLM cd Open-AutoGLM # 安装依赖(含ADB通信、模型调用等核心库) pip install -r requirements.txt pip install -e .此时,你的电脑已具备“指挥手机”的能力。接下来只需一个模型服务——好消息是,官方提供了云端API服务,无需本地部署大模型。
3.3 发出第一条指令:让AI接管手机
方式一:命令行快速体验(推荐新手)
确保手机已通过USB连接电脑,终端执行:
python main.py \ --device-id "emulator-5554" \ --base-url "https://autoglm-api.zai.org/v1" \ "打开知乎,搜索'大模型入门',点开第一个回答"--device-id:通过adb devices命令查看,通常为emulator-5554(模拟器)或一串字母数字(真机);--base-url:使用官方托管的API地址(无需自行部署vLLM),稳定可用;- 最后字符串:你的自然语言指令,支持中文、英文及混合表达。
你会看到终端实时打印执行日志:“正在截图… 识别到搜索框… 输入关键词… 点击搜索按钮… 滑动查找结果…”几秒后,手机自动完成全部操作。
方式二:Python脚本灵活调用
创建demo.py:
from phone_agent import PhoneAgent from phone_agent.model import ModelConfig # 配置模型服务(使用官方API) model_config = ModelConfig( base_url="https://autoglm-api.zai.org/v1", model_name="autoglm-phone-9b", ) # 创建代理实例 agent = PhoneAgent(model_config=model_config) # 执行任务(支持链式调用) result = agent.run("打开淘宝,搜索'降噪耳机',按销量排序,点开价格最低的商品") print("执行结果:", result.status) # success / failed print("耗时:", result.duration, "秒")运行python demo.py,即可获得结构化返回结果,便于集成到自己的工具中。
4. 实测效果:哪些事它真能干?哪些还待打磨?
4.1 真实场景下的惊艳表现
我用一台小米13(Android 13)实测了12个高频需求,以下是效果最突出的3类:
① 跨App信息串联
指令:“把微信聊天里张三发的‘会议纪要.docx’文件,用WPS打开并转成PDF”
→ AI自动跳转微信 → 进入与张三的对话 → 识别文件消息 → 长按下载 → 打开WPS → 选择该文件 → 点击“导出为PDF” → 保存到指定文件夹。
全程无卡顿,耗时28秒。关键在于它理解“微信里的文件”和“WPS能打开的格式”之间的逻辑关系。
② 复杂界面导航
指令:“在高德地图里,搜索‘北京南站’,选择地铁方案,查看首末班车时间”
→ 启动高德 → 点击搜索框 → 输入“北京南站” → 点击搜索结果 → 点击底部“路线” → 切换到“地铁”标签 → 滑动到页面底部找到“首末班时间”。
在高德新版UI中,地铁信息藏在折叠面板里,AI通过识别“展开”箭头图标精准点击,而非盲目滑动。
③ 多步骤内容生成
指令:“打开小红书,搜‘露营装备清单’,复制前三篇笔记的标题和点赞数,整理成表格发到钉钉”
→ 自动完成搜索 → 依次点开前三篇 → 截图提取标题与点赞数(OCR+语义识别)→ 在钉钉新建文档 → 表格化粘贴。
生成的表格格式工整,数据对应准确,甚至自动将“1.2万”统一转为“12000”便于计算。
4.2 当前局限与实用建议
没有技术是完美的,Open-AutoGLM在以下场景需谨慎使用:
- 验证码与生物认证:遇到短信验证码、人脸识别时,AI会主动暂停并提示“请手动输入验证码”,这是设计的安全机制,非缺陷;
- 极小字体或模糊截图:部分老年机或低分辨率屏幕,文字识别准确率下降,建议在设置中调高系统字体大小;
- 强动态UI:如直播App的弹幕覆盖层、游戏内悬浮窗,可能干扰界面理解,此时可先手动关闭无关浮层;
- 长文本输入:超过200字的复杂描述(如“写一封道歉信,包含三点原因,语气诚恳但不过分卑微”),建议拆分为两步:“生成道歉信草稿” → “润色第二段,加入专业术语”。
实用技巧:首次使用时,从“单动作指令”开始训练手感,例如先试“打开设置”“返回桌面”,再逐步增加复杂度。你会发现,它对“返回”“主页”“最近任务”等系统级手势的理解非常稳定。
5. 进阶玩法:不止于“帮点手机”
5.1 远程控制:让家里的旧手机变成智能中枢
你有一台闲置的安卓平板放在客厅?把它变成家庭控制中心吧。
通过WiFi连接(无需USB线):
# 先用USB连接一次,开启TCP/IP模式 adb tcpip 5555 # 断开USB,用WiFi连接(手机和电脑在同一局域网) adb connect 192.168.31.123:5555 # 替换为手机IP之后所有指令均可远程执行。我将其接入Home Assistant,用语音唤醒后说“打开空调”,AI自动打开米家App、找到空调设备、调节温度——旧设备秒变智能家居入口。
5.2 批量任务:解放重复劳动
电商运营人员常需每日检查竞品商品页。过去要手动点开10个链接,现在写个脚本:
urls = ["https://item.jd.com/123", "https://detail.tmall.com/item/456"] for url in urls: agent.run(f"打开Chrome浏览器,访问{url},截图商品主图和价格,保存到/screenshot/{url.split('/')[-1]}")AI自动完成浏览器启动、URL加载、滚动到关键区域、截图、重命名、保存——一天省下2小时。
5.3 二次开发:定制你的专属助理
项目结构清晰,核心模块解耦:
phone_agent/ ├── adb/ # ADB通信封装(connect/disconnect/screenshot/tap/swipe) ├── actions/ # 原子动作(click_icon_by_text, scroll_to_element) ├── config/ # 中文提示词模板、App包名映射表(如“小红书”→“com.xingin.xhs”) └── agent.py # 主代理类(run方法整合全流程)你可以轻松扩展:
- 在
config/app_mapping.json中添加新App别名; - 在
actions/里新增double_tap_on_image()等动作; - 修改
config/prompt_zh.yaml中的系统提示词,强化特定领域理解(如医疗App的术语识别)。
6. 总结:手机智能体的起点,远不止于“点一点”
Open-AutoGLM的价值,不在于它能多快完成一个任务,而在于它重新定义了人与移动设备的交互范式——从“我操作手机”变为“我告诉手机我要什么”。
它没有追求炫技的3D渲染或语音合成,而是扎扎实实解决“最后一厘米”问题:那个需要你伸手、点击、等待、再点击的物理距离。当AI能稳定理解屏幕、可靠执行动作、并在关键节点尊重你的决策权时,“手机变聪明”就不再是营销话术,而是每天可触摸的效率提升。
如果你是开发者,它提供了一个干净的Agent框架,让你快速构建垂直领域助理;如果你是普通用户,它意味着少一次低头、少一次犹豫、多一分专注在真正重要的事情上。
技术终将隐形,而体验永远鲜明。现在,就去连上你的手机,试试那句:“嘿,帮我订一杯明天上午十点的星巴克。”
获取更多AI镜像
想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。