news 2026/3/25 9:54:12

亲测Open-AutoGLM:用自然语言操控手机真机体验分享

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
亲测Open-AutoGLM:用自然语言操控手机真机体验分享

亲测Open-AutoGLM:用自然语言操控手机真机体验分享

1. 这不是模拟器,是真机——我让AI替我点开了抖音、搜了博主、还点了关注

上周五晚上十一点,我坐在书桌前,手机连着Mac,终端窗口里跑着一行命令。三秒后,我的安卓真机屏幕自动亮起,微信图标被点击、搜索框弹出、键盘自动输入“天气预报”,接着页面跳转——整个过程我没碰一下手机。

这不是录屏,不是脚本回放,也不是Appium写的自动化测试。这是Open-AutoGLM在真实设备上完成的一次完整操作闭环。

你可能已经见过太多“AI控制手机”的概念演示,但绝大多数停留在PPT或模拟器里。而Open-AutoGLM不一样:它不依赖预设UI路径,不硬编码坐标,不假设界面结构。它真正“看见”你的屏幕,“读懂”你的指令,再像真人一样一步步操作——哪怕App刚更新、按钮位置变了、甚至弹出了新广告。

这篇文章不讲原理推导,不堆参数对比,只说我在真实小米13(Android 14)、MacBook Pro M2、H800云服务器三端实测的全部细节:从第一次连接失败到最终让AI替我完成5个跨App任务;从ADB配置踩坑到敏感操作人工接管的实操逻辑;从“打开小红书搜美食”这种基础指令,到“在淘宝比价三款蓝牙耳机并截图发我”这种复合需求的真实响应效果。

如果你也厌倦了写XPath、维护UI快照、为每次App更新重录脚本——这篇亲测记录,就是你该认真读完的理由。

2. 真机连接:USB线一插,WiFi一连,手机就“听懂人话”了

2.1 手机端设置:三步搞定,比连蓝牙耳机还简单

别被“ADB”“开发者模式”吓到。我用我妈的旧华为P40实测,全程不到90秒:

  1. 开开发者模式:设置 → 关于手机 → 连续点击“版本号”7次 → 弹出“您现在处于开发者模式”
  2. 开USB调试:返回设置 → 系统和更新 → 开发者选项 → 打开“USB调试”(会弹窗确认,点确定)
  3. 装ADB Keyboard:去GitHub下载ADB Keyboard APK,安装后进手机“设置→系统管理→语言与输入法→当前输入法”,切换成“ADB Keyboard”

验证是否成功:用USB线连电脑,在终端输入adb devices,看到一串设备ID(如AERFUT4B08000806)且状态为device,就完成了。

2.2 本地控制端部署:克隆、装包、一键启动

我用的是Mac M2,Windows用户步骤完全一致,只是路径分隔符不同:

# 克隆官方仓库(别用fork,主仓已修复v0.3.2的截图黑屏bug) git clone https://github.com/zai-org/Open-AutoGLM cd Open-AutoGLM # 创建干净虚拟环境(推荐Python 3.10+) python -m venv venv && source venv/bin/activate # 安装依赖(requirements.txt已适配M2芯片) pip install -r requirements.txt pip install -e . # 启动前快速检查(这步能避开80%的连接问题) python -c "from phone_agent.adb import list_devices; print(list_devices())"

如果输出类似[Device(device_id='AERFUT4B08000806', connection_type=<ConnectionType.USB: 'usb'>)],说明ADB通了,手机已“在线”。

2.3 两种连接方式实测对比:USB稳如老狗,WiFi快如闪电

连接方式设置耗时稳定性适用场景我的实测延迟
USB直连10秒(断连率0%)调试、首次验证、网络差环境平均1.2秒/操作
WiFi远程45秒(需先USB开启tcpip)☆(WiFi干扰时偶发掉线)多设备批量控制、隔空操作平均0.8秒/操作

WiFi连接实操命令(抄作业版):

# 第一步:用USB线连一次,开启TCP/IP模式 adb tcpip 5555 # 第二步:拔掉USB,查手机IP(设置→关于手机→状态→IP地址) # 假设是192.168.3.102 adb connect 192.168.3.102:5555 # 第三步:验证 adb devices # 应显示 192.168.3.102:5555 device

小技巧:WiFi连接后,手机可以放口袋里,你用笔记本在客厅下指令,AI在卧室真机执行——这才是“手机助理”的正确打开方式。

3. 指令实战:从“打开抖音”到“关注指定博主”,自然语言全解析

3.1 最简指令:三秒启动一个App

在Open-AutoGLM目录下,直接运行:

python main.py --device-id AERFUT4B08000806 "打开抖音"

你会看到:

  • 终端实时打印思考过程:💭 正在识别桌面图标...找到抖音应用图标
  • 手机屏幕自动点亮 → 滑动到第一页 → 点击抖音图标 → 启动App
  • 整个过程无卡顿,平均耗时3.2秒(M2本地模型)

关键发现:它不依赖包名(com.ss.android.ugc.aweme),而是通过截图识别图标形状+文字标签。即使你把抖音图标拖到文件夹里,它也能准确点开。

3.2 复合指令:一条命令完成多步操作

试试这个真实需求:“打开抖音搜索抖音号为:dycwo11nt61d 的博主并关注他!”

python main.py --device-id AERFUT4B08000806 \ --base-url http://192.168.3.100:8000/v1 \ --model "autoglm-phone-9b" \ "打开抖音搜索抖音号为:dycwo11nt61d 的博主并关注他!"

执行日志节选:

================================================== 💭 思考过程: -------------------------------------------------- 用户想关注特定抖音号。首先需要打开抖音App,然后找到搜索入口。 当前界面是桌面,我将点击抖音图标启动App。 -------------------------------------------------- 执行动作: {"action": "Tap", "element": [520, 1840], "_metadata": "do"} ================================================== ... 💭 思考过程: -------------------------------------------------- 抖音已启动,首页有搜索栏。我将点击顶部搜索框。 -------------------------------------------------- 执行动作: {"action": "Tap", "element": [540, 142], "_metadata": "do"} ================================================== ... 💭 思考过程: -------------------------------------------------- 搜索框已激活,现在输入抖音号"dycwo11nt61d" -------------------------------------------------- 执行动作: {"action": "Type", "text": "dycwo11nt61d", "_metadata": "do"} ================================================== ... 💭 思考过程: -------------------------------------------------- 键盘已输入完成,点击搜索按钮(放大镜图标) -------------------------------------------------- 执行动作: {"action": "Tap", "element": [980, 142], "_metadata": "do"} ================================================== ... 💭 思考过程: -------------------------------------------------- 搜索结果页显示用户dycwo11nt61d,头像旁有"关注"按钮,点击它 -------------------------------------------------- 执行动作: {"action": "Tap", "element": [220, 480], "_metadata": "do"} ================================================== 任务完成:已关注抖音号 dycwo11nt61d

深度观察

  • 它没有死记硬背“搜索框坐标”,而是通过OCR识别出“搜索”文字区域,再定位其右侧放大镜图标
  • “关注”按钮的坐标是动态计算的:先识别头像位置,再根据UI布局规则向下偏移120px找到按钮
  • 全程未使用任何App内部API,纯靠视觉+结构化XML理解界面

3.3 中文指令容错:说错一个字,它也能猜对意图

我故意测试了几条“不规范”指令,结果令人惊讶:

我输入的指令AI实际执行动作是否成功
“抖音里找那个叫‘大杨哥’的”搜索“大杨哥”,进入主页,点击关注
“小红书帮我看看今天北京啥天气”打开小红书 → 搜索“北京天气” → 截图结果页
“微信发消息给张三说‘晚饭吃了吗’”打开微信 → 搜索“张三” → 点击聊天 → 输入文字 → 点击发送
“淘宝搜‘降噪耳机’,按销量排”打开淘宝 → 搜索“降噪耳机” → 点击“销量”排序 → 截图前三商品

为什么这么准?
因为它的输入不只是文字,而是文字+实时截图+UI树(XML)三模态融合。当你说“张三”,它会扫描微信联系人列表里的所有名字,匹配相似度最高的项;当你说“销量排”,它会识别淘宝排序栏里的“销量”“价格”“好评”等可点击标签。

4. 真机能力边界:哪些事它能做,哪些必须你来接管

4.1 它擅长的四类高频场景(实测成功率>95%)

场景类型典型指令示例实测效果关键能力
App启停与导航“打开设置,进入WLAN,打开热点”逐级点击,精准进入子菜单UI层级理解、路径规划
内容搜索与提取“在知乎搜‘LLM推理优化’,截取前三条回答”自动滚动、截图、保存到电脑文本定位、滚动控制、截图裁剪
表单填写与提交“在12306填身份证号110101199001011234,提交”自动输入、跳过校验位、点击提交键盘注入、字段识别、错误处理
跨App数据流转“把微信收到的订单号复制,去淘宝查物流”自动长按复制 → 切换淘宝 → 粘贴搜索剪贴板读写、App切换、上下文保持

4.2 它主动请求接管的两类安全场景(设计精妙)

Open-AutoGLM不是盲目执行,它内置了敏感操作熔断机制

  • 支付/金融类操作:当检测到支付宝付款码、银行App转账页、微信红包封面时,立即输出:

    {"action": "Take_over", "reason": "检测到支付界面,需人工确认"}

    终端会暂停并提示:“请手动完成支付,完成后按回车继续”。

  • 验证码/生物认证:当识别到短信验证码输入框、人脸识别提示、指纹图标时,同样触发接管,并高亮显示验证码区域截图。

这不是功能缺陷,而是安全设计。我测试了招商银行、支付宝、微信支付三个场景,100%准确触发接管,避免了自动化误操作风险。

4.3 当前限制(坦诚告知,不吹不黑)

  • 多指手势不支持:双指缩放地图、三指截屏等暂未实现(官方Roadmap已标注Q3支持)
  • 横竖屏自动适配待优化:部分App横屏时UI元素坐标偏移,需手动重启Agent
  • 小字体识别率下降:低于12px的灰色辅助文字,OCR识别准确率约78%(建议App内调大字体)
  • 无后台持续运行:任务结束即退出,暂不支持“监听微信新消息并自动回复”类常驻服务

5. 性能实测:M2本地 vs H800云端,速度差7倍但各有绝活

我把同一指令“打开小红书搜‘AI绘画教程’并截图”在两套环境跑满10次,结果如下:

环境模型精度单步平均耗时内存占用适合谁
Mac M2本地(4-bit量化)92%准确率14.3秒15.2GB RAM个人隐私敏感者、离线场景、轻量任务
H800云端(FP16全精度)98.6%准确率2.1秒19.8GB VRAM团队协作、批量测试、实时交互

关键结论

  • M2本地版不是“阉割版”,它能完成所有基础操作,只是慢一点。对于“每天执行3次打卡任务”的个人用户,14秒完全可以接受。
  • H800版快得惊人:从截图→理解→规划→执行,整个闭环压到2秒内,接近真人操作速度。我们团队用它做App兼容性测试,1小时跑完20台不同品牌手机的启动流程。
  • 二者模型权重完全一致,差异仅在于推理引擎(MLX vs vLLM)和精度(4-bit vs FP16)。这意味着你在本地调通的指令,上云后100%复现。

6. 避坑指南:那些让我折腾2小时的“小问题”,现在30秒解决

6.1 ADB Keyboard不生效?检查这三点

  1. 手机输入法必须设为默认:设置→语言与输入法→当前输入法→选“ADB Keyboard”(不是“添加”)
  2. MIUI/EMUI有隐藏开关:华为用户需进“设置→系统和更新→开发人员选项→关闭‘仅充电’模式”
  3. ADB权限未授权:首次连接时手机弹窗点“允许”,勾选“始终允许”

6.2 截图黑屏?大概率是SELinux拦截

小米/OPPO等厂商默认开启SELinux强制模式,会阻止ADB截图。临时解决:

adb shell su -c "setenforce 0" # 临时关闭(重启失效) # 或永久方案:刷Magisk模块Disable SELinux

6.3 指令执行一半卡住?试试加个“等待”

有些App启动慢(如微信),AI会因超时放弃。在指令末尾加显式等待:

python main.py --device-id XXX "打开微信;等待3秒;点击通讯录"

分号分隔多指令,Agent会自动插入Wait动作。

6.4 远程连接被拒绝?防火墙端口检查清单

端口用途检查命令(Linux)
5555ADB WiFi连接`sudo ufw status
8000vLLM API服务`sudo ss -tuln
22SSH远程登录(如需)sudo systemctl status ssh

终极排查法:在服务器上执行curl http://localhost:8000/v1/models,返回JSON即服务正常。

7. 总结:它不是另一个自动化工具,而是手机的“新感官”

用一句话总结我的体验:Open-AutoGLM让手机第一次拥有了“理解意图”的能力,而不只是“执行命令”。

过去我们教手机做事:

  • “点击坐标(520,1840)” → 它只认坐标,坐标一变就失效
  • “输入文本‘北京天气’” → 它只管输入,不管输错没输对

现在我们告诉手机要什么:

  • “帮我查北京今天天气” → 它自己决定打开哪个App、怎么搜索、如何提取关键信息
  • “把微信里张三发的发票截图发我邮箱” → 它自动翻聊天记录、定位图片、截图、调用邮件App

这不是技术升级,而是交互范式的迁移——从“人适应机器”到“机器理解人”。

如果你是:

  • 测试工程师:告别XPath维护,用自然语言写测试用例
  • 产品经理:快速验证竞品App流程,1小时跑完10个核心路径
  • 普通用户:让老人机自动回复微信、帮孩子定时关游戏、为视障人士朗读屏幕

那么,现在就是开始尝试Open-AutoGLM的最佳时机。它开源、免费、真机可用,且文档清晰到连我奶奶都能看懂第一步。

最后送你一句实测心得:别把它当工具,当成你手机里新来的、有点慢但特别认真的实习生。给他明确目标,给他足够耐心,他会给你远超预期的回报。


获取更多AI镜像

想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/14 9:41:41

Z-Image-Turbo多语言支持测试:除中英文外表现如何

Z-Image-Turbo多语言支持测试&#xff1a;除中英文外表现如何 Z-Image-Turbo作为阿里通义实验室开源的高效文生图模型&#xff0c;自发布以来就以“8步生成、照片级真实感、中英双语精准渲染”三大标签深入人心。但一个常被忽略的关键问题是&#xff1a;它的多语言能力&#x…

作者头像 李华
网站建设 2026/3/21 9:23:03

如何通过开源机械臂突破研究壁垒?OpenArm项目全维度技术解构

如何通过开源机械臂突破研究壁垒&#xff1f;OpenArm项目全维度技术解构 【免费下载链接】OpenArm OpenArm v0.1 项目地址: https://gitcode.com/GitHub_Trending/op/OpenArm 在机器人技术快速迭代的今天&#xff0c;传统工业机械臂动辄数十万的成本投入和封闭的控制系统…

作者头像 李华
网站建设 2026/3/24 2:37:53

解锁本地化部署:Gemma 3 12B It GGUF量化模型全攻略

解锁本地化部署&#xff1a;Gemma 3 12B It GGUF量化模型全攻略 【免费下载链接】gemma-3-12b-it-GGUF 项目地址: https://ai.gitcode.com/hf_mirrors/unsloth/gemma-3-12b-it-GGUF Gemma 3 12B It GGUF量化模型是Google推出的120亿参数大型语言模型的本地化部署版本&a…

作者头像 李华
网站建设 2026/3/9 11:04:27

3个步骤让零基础也能完成开源模拟器配置与性能优化

3个步骤让零基础也能完成开源模拟器配置与性能优化 【免费下载链接】rpcs3 PS3 emulator/debugger 项目地址: https://gitcode.com/GitHub_Trending/rp/rpcs3 你是否曾遇到下载模拟器后不知从何下手的困境&#xff1f;是否因配置不当导致游戏卡顿闪退&#xff1f;本文将…

作者头像 李华
网站建设 2026/3/12 21:42:01

3大模块掌握跨平台AI客户端:从技术原理到效能优化

3大模块掌握跨平台AI客户端&#xff1a;从技术原理到效能优化 【免费下载链接】chatmcp ChatMCP is an AI chat client implementing the Model Context Protocol (MCP). 项目地址: https://gitcode.com/gh_mirrors/ch/chatmcp 为什么你的AI客户端总是在不同设备间切换时…

作者头像 李华
网站建设 2026/3/18 16:08:21

Visual Studio Code全栈开发实战指南:从困境到高效

Visual Studio Code全栈开发实战指南&#xff1a;从困境到高效 【免费下载链接】vscode Visual Studio Code 项目地址: https://gitcode.com/GitHub_Trending/vscode6/vscode 引言&#xff1a;开发效率的隐形壁垒 你是否曾在多语言项目中频繁切换开发工具&#xff1f;是…

作者头像 李华