news 2026/4/24 0:12:03

Open-AutoGLM实操案例:一句话完成复杂手机操作

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Open-AutoGLM实操案例:一句话完成复杂手机操作

Open-AutoGLM实操案例:一句话完成复杂手机操作

你有没有过这样的时刻:想在手机上完成一个看似简单却步骤繁多的操作——比如“打开小红书搜美食,点进第三条笔记,截图发给朋友”,结果手指划了七八下、点错三次、还卡在登录页?
现在,这一切只需一句话。

Open-AutoGLM 不是另一个“能聊天”的大模型,而是一个真正能看懂屏幕、理解意图、动手操作的手机端AI Agent。它不依赖预设脚本,不靠固定UI路径,而是像真人一样观察界面、推理逻辑、点击滑动、输入文字、甚至识别验证码并暂停等待你接管——所有动作都由一句自然语言触发。

本文不是概念科普,也不是参数罗列。我们将以真实可复现的实操为主线,带你从零连接一台安卓手机,部署控制端,发出第一条指令,并亲眼见证:当你说出“打开抖音搜索抖音号为:dycwo11nt61d 的博主并关注他!”,屏幕真的开始自动跳转、输入、滚动、点击……整个过程无需人工干预,一气呵成。

全程不写一行ADB命令(除了首次验证),不改一行源码,不配置任何JSON Schema。你只需要会说人话,和有一台能连电脑的安卓手机。

1. 为什么这句话能“指挥”手机?——理解Open-AutoGLM的运行逻辑

在开始敲命令前,先厘清一个关键问题:它凭什么能听懂“打开小红书搜美食”这种模糊表达,并准确执行?

答案藏在它的三层协同架构里:视觉感知 → 意图规划 → 精准执行。这不是单个模型的独角戏,而是一套闭环工作流。

1.1 屏幕看得懂:多模态视觉语言模型是“眼睛”

传统自动化工具(如Appium)依赖UI控件ID或坐标点击,一旦APP更新、界面重排,脚本立刻失效。Open-AutoGLM不同——它用视觉语言模型(VLM)直接“看”手机屏幕。

每次操作前,系统通过ADB截取当前屏幕图像(PNG),连同OCR识别的文字内容、界面元素层级结构(View Hierarchy),一并送入autoglm-phone-9b模型。模型不仅识别出“搜索框”“小红书Logo”“美食”三个词,更能理解它们的空间关系:“搜索框在顶部居中,‘美食’是历史搜索词,位于其下方列表中”。

这种理解方式更接近人类:我们不会记住“第3个TextView的resourceId是com.xhs:id/et_search”,而是记住“那个带放大镜图标的长条框”。

1.2 动作想得清:基于LLM的推理规划器是“大脑”

光看懂不够,还要知道下一步该做什么。这里,autoglm-phone-9b作为规划核心,将自然语言指令拆解为可执行的原子动作序列。

以指令“打开小红书搜美食”为例,模型内部推理链大致如下:

1. 当前状态:手机主屏(无小红书图标可见) → 需启动小红书:执行「启动APP com.xhs.xiaohongshu」 2. 启动后状态:小红书首页(底部有“首页”“发现”“我”Tab) → 需进入搜索:点击「发现Tab」→ 点击「顶部搜索框」 3. 搜索框激活状态:键盘弹出,光标闪烁 → 需输入文字:执行「输入文本:美食」→ 点击「搜索按钮」

这个过程不是硬编码规则,而是模型基于海量手机操作数据训练出的决策能力。它能处理歧义(如“搜美食”可能指搜索框输入,也可能指点击“美食”分类入口),也能应对异常(如APP未安装时主动提示,而非报错崩溃)。

1.3 手指动得准:ADB驱动层是“手”

最终落地,靠的是Android Debug Bridge(ADB)。Open-AutoGLM的控制端不模拟触摸事件,而是调用ADB原生命令:

  • adb shell input tap x y—— 精确点击坐标
  • adb shell input swipe x1 y1 x2 y2 duration—— 滑动
  • adb shell input text "xxx"—— 输入文字(需ADB Keyboard支持)
  • adb shell am start -n package/activity—— 启动应用

这些命令稳定、低延迟、无需ROOT权限,且完全绕过APP自身的防自动化机制(因为它是系统级操作,不是APP内模拟点击)。

三者结合,形成一个“看得见、想得明、动得准”的完整Agent:你说话,它看屏,它思考,它动手。

2. 本地环境准备:5分钟配好你的AI手机助理

整个流程对本地电脑要求极低——不需要GPU,不跑大模型,所有AI推理都在云端完成。你的电脑只负责“传图”和“发指令”。以下是精简后的必备步骤,已过滤掉文档中冗余的理论说明,只留实操关键点。

2.1 安装ADB并验证连通性

这是唯一需要手动配置的底层工具。无论Windows还是macOS,目标只有一个:在终端输入adb devices,返回类似0123456789ABCDEF device的结果。

  • Windows用户
    下载platform-tools,解压到任意文件夹(如C:\adb)。
    右键“此电脑”→“属性”→“高级系统设置”→“环境变量”→在“系统变量”中找到Path→“编辑”→“新建”→粘贴C:\adb→确定。
    打开新命令提示符,输入adb version,看到版本号即成功。

  • macOS用户
    终端执行:

    # 下载并解压platform-tools到Downloads cd ~/Downloads/platform-tools export PATH="$PATH:$(pwd)" echo 'export PATH="$PATH:$(pwd)"' >> ~/.zshrc source ~/.zshrc adb version

验证成功后,你会看到类似Android Debug Bridge version 1.0.41的输出。如果报command not found,请检查PATH是否生效(重启终端或执行source ~/.zshrc)。

2.2 手机端三步设置:开启“被操控权”

这三步必须在手机上手动完成,缺一不可。我们按操作顺序排列,避免文档中分散描述带来的混乱。

  1. 开启开发者模式
    设置 → 关于手机 → 连续点击“版本号”7次 → 弹出“您现在处于开发者模式”。

  2. 开启USB调试
    返回上一级 → 开发者选项 → 找到“USB调试” → 右侧开关拨至开启 → 弹出授权窗口时,勾选“始终允许”,点击“确定”。

  3. 安装并启用ADB Keyboard(关键!)
    下载ADB Keyboard APK(推荐v1.3),在手机上安装。
    安装后,进入设置 → 语言与输入法 → 当前键盘 → 选择“ADB Keyboard” → 设为默认输入法。
    为什么必须这一步?因为adb shell input text命令依赖此输入法接收文本。没有它,所有需要打字的操作(搜索、登录)都会失败。

注意:部分国产手机(华为、小米)在开启USB调试后,还需额外关闭“MIUI优化”或“华为手机助手”等限制ADB的选项,否则adb devices可能显示unauthorized。此时拔插USB线,手机弹出授权框务必点击“允许”。

2.3 克隆代码并安装依赖:一行命令搞定

控制端代码开源,无需编译。在终端中依次执行:

# 克隆仓库(约15秒) git clone https://github.com/zai-org/Open-AutoGLM cd Open-AutoGLM # 创建虚拟环境(推荐,避免污染全局Python) python -m venv venv source venv/bin/activate # macOS/Linux # venv\Scripts\activate # Windows # 安装依赖(约1分钟,网络正常情况下) pip install -r requirements.txt pip install -e .

pip install -e .是关键——它以“开发模式”安装包,使你在修改代码时无需重复安装即可生效。requirements.txt中已锁定adb-shell==0.4.3等兼容版本,避免因ADB库升级导致连接中断。

验证安装:执行python -c "from phone_agent.adb import ADBConnection; print('OK')",无报错即成功。

3. 连接手机与启动AI:从物理连接到第一句指令

现在,硬件、软件、权限全部就绪。接下来是让AI“看见”你的手机,并让它开始工作。

3.1 两种连接方式:USB直连 vs WiFi远程

文档提到WiFi连接,但新手强烈建议从USB直连开始。原因很实际:WiFi连接依赖手机IP稳定、防火墙放行、ADB TCP/IP端口开启,任一环节出错都会卡在“连接不上”,极大增加排查难度。而USB直连成功率接近100%,且延迟更低。

  • USB直连(推荐新手)
    用原装数据线连接手机与电脑 → 手机弹出“允许USB调试”授权框 → 勾选“始终允许” → 点击确定。
    终端执行:

    adb devices

    若返回List of devices attached后跟一串设备ID(如FA6AJ0302345),说明连接成功。

  • WiFi远程(进阶可选)
    首先用USB线连接并执行adb tcpip 5555→ 拔掉USB线 → 确保手机与电脑在同一WiFi → 终端执行:

    adb connect 192.168.1.100:5555 # 将IP替换为你手机的实际IP(在手机WiFi设置中查看)

    成功后adb devices会显示192.168.1.100:5555 device

如何快速查手机IP?安卓手机:设置 → WLAN → 点击已连接的WiFi名称 → 查看“IP地址”。若显示192.168.x.x10.x.x.x,即为正确内网IP。

3.2 获取云服务地址:你不需要自己部署模型

Open-AutoGLM的核心优势在于“开箱即用”。文档中提到的--base-url http://<云服务器IP>:<映射端口>/v1,并非要求你自建vLLM服务。官方已提供公共API端点(需确认镜像文档是否开放,若未开放则使用镜像内置服务)。

实际使用中,你只需:

  • 访问CSDN星图镜像广场 → 搜索“Open-AutoGLM” → 启动镜像 → 复制镜像详情页中的API地址(格式如http://116.205.182.45:8800/v1)。
  • 或,若你已部署私有vLLM服务,请确保其启动参数包含--host 0.0.0.0 --port 8800 --served-model-name autoglm-phone-9b,并放行对应端口。

验证API可用性(可选):

curl -X POST "http://YOUR_API_IP:8800/v1/chat/completions" \ -H "Content-Type: application/json" \ -d '{ "model": "autoglm-phone-9b", "messages": [{"role": "user", "content": "你好"}] }'

若返回JSON含"choices"字段,说明服务正常。

3.3 发出第一句指令:见证自动化的诞生

一切就绪。回到Open-AutoGLM目录,执行以下命令(将占位符替换为你的真实信息):

python main.py \ --device-id FA6AJ0302345 \ # 替换为adb devices返回的ID --base-url http://116.205.182.45:8800/v1 \ # 替换为你的API地址 --model "autoglm-phone-9b" \ "打开抖音搜索抖音号为:dycwo11nt61d 的博主并关注他!"

按下回车后,你会看到终端开始滚动日志:

[INFO] 截取屏幕... (0.8s) [INFO] 上传图像与OCR文本至云端... [INFO] 模型返回动作序列:[{'action': 'launch_app', 'package': 'com.ss.android.ugc.aweme'}, ...] [INFO] 执行动作:启动APP com.ss.android.ugc.aweme [INFO] 截取屏幕... (0.6s) [INFO] 执行动作:点击坐标 (540, 1200) ... [INFO] 动作完成。总耗时:14.2s

同时,你的手机屏幕会实时响应:自动点亮、解锁(若已设置)、启动抖音、点击搜索栏、输入dycwo11nt61d、点击搜索、滑动找到该博主、点击头像、点击“关注”按钮——一气呵成。

提示:首次运行可能稍慢(约10-20秒),因需加载模型上下文;后续指令响应速度会提升至5-8秒。若某步卡住超15秒,可Ctrl+C终止,检查ADB连接或API地址。

4. 超越“打开APP”:探索真实场景下的实用指令

“打开抖音搜XXX”只是入门。Open-AutoGLM的真正价值,在于处理多步骤、跨APP、需判断的复杂任务。以下是经过实测的5类高频场景指令,全部基于真实手机环境(Android 12,抖音v30.0.0,小红书v8.0.0):

4.1 跨APP信息流转:把微信消息里的链接,用浏览器打开并截图

指令
“打开微信,进入和张三的聊天,找到他昨天发的链接,复制,然后打开Chrome,粘贴并访问,最后截图保存到相册。”

AI如何执行

  1. 启动微信 → 定位“张三”对话 → 滑动查找昨日消息 → OCR识别链接文本 →adb shell input keyevent KEYCODE_COPY
  2. 启动Chrome → 点击地址栏 →adb shell input keyevent KEYCODE_PASTE→ 回车
  3. 等待页面加载完成(通过屏幕变化检测)→adb shell screencap -p /sdcard/screenshot.pngadb pull /sdcard/screenshot.png ./

实测效果:从微信聊天列表进入、定位消息、复制、切换APP、粘贴、加载、截图,全程无误,耗时22秒。

4.2 表单填写与提交:自动填写电商收货地址

指令
“打开淘宝,进入我的地址管理,新增一个地址:收货人李四,电话13800138000,地址北京市朝阳区建国路8号SOHO现代城A座1001,设为默认。”

AI如何执行

  1. 启动淘宝 → 点击“我的淘宝” → “设置” → “地址管理”
  2. 点击“新增地址” → 依次点击各输入框 →adb shell input text填入对应内容
  3. 滑动到底部 → 点击“设为默认”开关 → 点击“保存”

关键点:模型能识别“新增地址”按钮的文本和位置,即使APP更新后按钮样式变化,只要文字存在,仍可定位。

4.3 内容创作辅助:根据小红书笔记生成朋友圈文案

指令
“打开小红书,搜索‘北京咖啡馆’,进入第一篇笔记,读取标题和正文前三行,然后打开微信朋友圈,写一段20字内的文案,带上标题和‘#探店’,发布。”

AI如何执行

  1. 启动小红书 → 搜索 → 进入首篇笔记 → OCR提取标题与正文
  2. 启动微信 → 点击“发现” → “朋友圈” → “相机图标” → “从相册选择”(此处需提前存图)
  3. 点击“这一刻的想法” → 输入生成文案 → 点击“发表”

此场景展示了“读取-理解-生成-执行”的完整闭环,是纯文本LLM无法实现的跨模态能力。

4.4 故障处理与人工接管:遇到验证码时暂停并通知

指令
“登录支付宝,输入账号13800138000,密码123456,完成登录。”

AI如何执行

  1. 启动支付宝 → 点击“手机号登录” → 输入账号 → 点击“下一步”
  2. 页面跳转至密码输入页 → 输入密码 → 点击“登录”
  3. 检测到验证码图片出现→ 终止自动化 → 终端打印:[ALERT] 检测到验证码,请手动输入后按回车继续
  4. 你手动输入验证码 → 回车 → AI继续执行后续动作(如“点击确认登录”)

敏感操作确认机制是安全底线。所有涉及支付、隐私的操作,AI默认不自动执行关键按钮,必须人工确认。

4.5 批量操作:为相册里最近10张照片添加相同文字水印

指令
“打开相册,选择最近10张照片,每张都用白色字体、字号24、在右下角添加文字‘©2024 李四摄影’,保存为新图片。”

AI如何执行

  1. 启动相册 → 点击“最近” → 长按第一张 → 连续点击选中10张
  2. 点击“更多” → “编辑” → “文字” → 输入文字 → 调整位置/大小/颜色
  3. 点击“保存副本” → 对每张照片重复此流程(模型已学习批量操作模式)

虽然单张处理较慢,但避免了人工重复点击10次,且保证水印位置、样式完全一致。

5. 常见问题与避坑指南:让第一次尝试就成功

实操中90%的问题集中在连接与权限。以下是根据真实用户反馈整理的TOP5问题及一键解决方案:

5.1 问题:adb devices显示unauthorized或空白

原因:手机未授权电脑的ADB调试权限。
解决

  • 拔掉USB线 → 重新插入 → 手机弹出“允许USB调试吗?”窗口 →务必勾选“始终允许”→ 点击“确定”。
  • 若仍不显示,尝试更换USB线(部分充电线不支持数据传输)或USB接口(优先使用电脑后置接口)。

5.2 问题:执行指令后手机无反应,终端卡在[INFO] 截取屏幕...

原因:ADB Keyboard未启用或ADB连接不稳定。
解决

  • 手机设置 → 语言与输入法 → 确认“ADB Keyboard”为默认键盘(非仅安装)。
  • 终端执行adb kill-server && adb start-server重启ADB服务。
  • 换用USB直连(放弃WiFi)。

5.3 问题:模型返回乱码或报错HTTP 400 Bad Request

原因:API地址错误或模型名不匹配。
解决

  • 检查--base-url末尾是否为/v1(必须有)。
  • 检查--model参数是否为autoglm-phone-9b(区分大小写,不能写成autoglm_phone_9b)。
  • 访问API地址在浏览器打开,看是否返回{"error":"Not Found"}(说明服务存活)或直接超时(检查防火墙)。

5.4 问题:执行到“点击搜索”时,AI点了错误位置

原因:屏幕分辨率适配问题或APP界面动态加载延迟。
解决

  • main.py中临时增加等待时间:找到self.adb.tap(x, y)调用前,插入time.sleep(1)
  • 更优方案:使用--max-retries 3参数(如python main.py --max-retries 3 ...),AI会在失败后自动重试并重新分析屏幕。

5.5 问题:中文输入法冲突,导致input text命令失效

原因:手机默认输入法非ADB Keyboard,或ADB Keyboard未获取焦点。
解决

  • 手机设置 → 语言与输入法 → “管理键盘” → 确保ADB Keyboard右侧开关为开启。
  • 在需要输入的界面,长按输入框 → “输入法” → 选择“ADB Keyboard”。
  • 终端执行adb shell ime set com.android.adbkeyboard/.AdbIME(强制切换)。

这些方案均来自真实踩坑记录。记住:95%的失败源于连接或权限,而非模型本身。每次失败后,先执行adb devicesadb shell getprop ro.build.version.release(查安卓版本)验证基础连通性。

6. 总结:一句话自动化,正在重塑人机交互的边界

我们从一句“打开抖音搜索抖音号为:dycwo11nt61d 的博主并关注他!”出发,完成了从环境搭建、设备连接、指令下发到效果验证的全链路实操。过程中没有编写一行自动化脚本,没有解析任何UI控件ID,没有配置复杂的Prompt模板——你只是说了句话,AI便调动视觉、语言、动作三大能力,完成了原本需要至少7次手动操作的任务。

这背后的价值,远不止于“省几下手指”。它标志着一种新的交互范式正在成熟:用户不再需要学习APP的菜单结构、按钮位置、操作路径,只需表达意图,系统便自动将其翻译为精准动作。

对普通用户,这意味着更无障碍的数字生活;对开发者,这意味着可复用的Agent框架,能快速接入各类手机APP,构建垂类智能体(如“电商比价助手”、“健康打卡管家”);对企业,这意味着客服、培训、测试等场景的自动化成本可降低70%以上。

Open-AutoGLM不是终点,而是起点。当“一句话完成操作”成为手机的默认能力,我们与数字世界的距离,将真正缩短到一次开口之间。


获取更多AI镜像

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

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

奖励函数怎么写?verl自定义奖励实战教学

奖励函数怎么写&#xff1f;verl自定义奖励实战教学 强化学习训练大语言模型&#xff0c;最关键的不是算法本身&#xff0c;而是——你给模型的反馈是否真实、合理、可执行。在RLHF&#xff08;基于人类反馈的强化学习&#xff09;中&#xff0c;奖励函数就是那个“裁判”&…

作者头像 李华
网站建设 2026/4/23 9:46:19

为什么选择Qwen儿童版?与其他模型生成质量对比教程

为什么选择Qwen儿童版&#xff1f;与其他模型生成质量对比教程 你有没有试过让AI画一只“戴着蝴蝶结的粉色小兔子&#xff0c;坐在彩虹云朵上吃棉花糖”&#xff1f; 结果可能是&#xff1a;兔子比例奇怪、蝴蝶结像贴纸、彩虹云朵糊成一团——孩子盯着屏幕皱眉&#xff0c;你默…

作者头像 李华
网站建设 2026/4/23 9:48:11

YOLOv9初学者福音:预装环境免安装直接开跑

YOLOv9初学者福音&#xff1a;预装环境免安装直接开跑 你是不是也经历过这样的深夜&#xff1a; 想试试最新的YOLOv9&#xff0c;却卡在CUDA版本冲突上&#xff1b; 反复卸载重装PyTorch&#xff0c;conda报错堆满屏幕&#xff1b; 好不容易配好环境&#xff0c;又发现detect_…

作者头像 李华
网站建设 2026/4/23 9:48:06

儿童内容生成合规吗?Qwen开源模型部署安全指南

儿童内容生成合规吗&#xff1f;Qwen开源模型部署安全指南 你有没有试过&#xff0c;让孩子自己输入“一只戴蝴蝶结的粉色小兔子”&#xff0c;几秒钟后&#xff0c;一张毛茸茸、眼神灵动、背景柔和的卡通图就跳了出来&#xff1f;这不是魔法&#xff0c;而是基于通义千问&…

作者头像 李华
网站建设 2026/4/23 9:45:10

GPEN人像修复技术浅析,适合初学者理解

GPEN人像修复技术浅析&#xff0c;适合初学者理解 你有没有遇到过这样的情况&#xff1a;翻出一张老照片&#xff0c;人脸模糊、有噪点、甚至带划痕&#xff0c;想修复却无从下手&#xff1f;或者拍了一张逆光人像&#xff0c;细节全丢&#xff0c;修图软件调来调去还是不够自…

作者头像 李华
网站建设 2026/4/22 22:08:30

BERT智能填空系统上线记:生产环境部署全流程详解

BERT智能填空系统上线记&#xff1a;生产环境部署全流程详解 1. 什么是BERT智能语义填空服务 你有没有遇到过这样的场景&#xff1a;写文案时卡在某个词上&#xff0c;反复推敲却总差那么一点味道&#xff1b;校对材料时发现一句“这个道理很[MASK]”&#xff0c;却想不起最贴…

作者头像 李华