news 2026/4/19 18:59:11

支持验证码处理,Open-AutoGLM更贴近实际使用

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
支持验证码处理,Open-AutoGLM更贴近实际使用

支持验证码处理,Open-AutoGLM更贴近实际使用

1. 背景与技术演进

随着大模型能力的不断突破,AI Agent 正从理论探索走向真实场景落地。尤其是在移动端自动化领域,用户对“自然语言驱动手机操作”的需求日益增长。早期的自动化工具依赖脚本编写或固定规则,难以应对复杂多变的应用界面。而基于视觉语言模型(VLM)的智能代理框架,如 Open-AutoGLM,正在重新定义这一边界。

Open-AutoGLM 是智谱开源的一款面向手机端的 AI Agent 框架,其核心是 AutoGLM-Phone —— 一个能够通过多模态理解屏幕内容、结合 ADB 实现自动操控的系统。用户只需输入类似“打开小红书搜索美食”这样的自然语言指令,模型即可完成意图解析、界面识别、动作规划和执行全流程。

然而,在真实使用中,许多关键流程涉及登录验证、短信验证码、支付确认等敏感环节,传统自动化方案往往因无法处理这些动态交互而失败。最新版本的 Open-AutoGLM 引入了人工接管机制与敏感操作防护策略,显著提升了在复杂现实场景中的可用性,真正迈向“端到端可运行”的智能代理目标。

2. 核心架构与工作原理

2.1 系统整体架构

Open-AutoGLM 的运行依赖于三个核心组件协同工作:

  • 客户端控制模块:部署在本地电脑,负责与手机建立 ADB 连接、截屏、发送操作指令。
  • 云端推理服务:运行视觉语言模型(如autoglm-phone-9b),接收截图与用户指令,输出下一步操作建议。
  • 手机设备:作为执行终端,通过 ADB 接收点击、滑动、输入等命令,并配合 ADB Keyboard 实现文本输入。

整个流程遵循“感知 → 理解 → 规划 → 执行 → 反馈”的闭环逻辑。

2.2 多模态感知与动作生成机制

当用户下达指令后,系统按以下步骤运作:

  1. 截屏获取当前状态:通过adb shell screencap命令抓取手机当前画面。
  2. 图像+文本联合编码:将截图与自然语言指令一同送入视觉语言模型。
  3. UI 元素识别与坐标映射:模型分析界面上的按钮、输入框、标签等元素,并预测可交互区域的坐标。
  4. 动作序列规划:根据任务目标生成一系列原子操作(如 tap、swipe、type)。
  5. ADB 执行并循环反馈:每步操作完成后重新截屏,进入下一轮决策,直到任务完成。

该机制使得模型具备跨应用泛化能力,无需针对每个 App 单独训练。

2.3 敏感操作与验证码处理机制

这是 Open-AutoGLM 区别于早期自动化工具的关键升级点。

验证码场景挑战

在涉及账号登录、支付、权限申请等场景时,系统常遇到:

  • 图形验证码 / 短信验证码输入
  • 人脸识别提示
  • 第三方授权弹窗
  • 安全风险警告

这类界面具有高度不确定性,且通常不允许自动化绕过,否则存在安全风险。

解决方案:人机协同模式

Open-AutoGLM 在设计上引入了人工接管机制(Human-in-the-loop)

  • 当模型检测到疑似验证码页面或高风险操作时,会暂停自动执行。
  • 向用户发出提示:“检测到登录验证,请手动输入验证码。”
  • 用户完成关键步骤后,恢复自动化流程。

这种方式既保障了安全性,又保留了大部分流程的自动化效率。

此外,系统还支持设置白名单应用和操作级别,避免误触隐私功能。

3. 本地部署与连接配置

3.1 环境准备

为确保 Open-AutoGLM 正常运行,需完成以下准备工作:

  • 操作系统:Windows 或 macOS
  • Python 版本:建议 3.10+
  • 安卓设备:Android 7.0 及以上版本(真机或模拟器)
  • ADB 工具包:用于设备通信
ADB 安装与环境变量配置

Windows 用户

  1. 下载 Android SDK Platform Tools
  2. 解压至本地目录(如C:\platform-tools
  3. 添加路径到系统环境变量:
    • Win + R输入sysdm.cpl
    • 进入“高级”→“环境变量”
    • 在“系统变量”中找到Path,添加平台工具路径
  4. 验证安装:
adb version

macOS 用户: 在终端执行:

export PATH=${PATH}:~/Downloads/platform-tools

可将其写入.zshrc.bash_profile实现永久生效。

3.2 手机端设置

  1. 开启开发者选项
    进入“设置” → “关于手机” → 连续点击“版本号”7次。

  2. 启用 USB 调试
    返回“设置”主菜单 → “开发者选项” → 开启“USB 调试”。

  3. 安装并切换输入法

    • 下载并安装 ADB Keyboard APK
    • 进入“语言与输入法”设置 → 将默认键盘切换为 ADB Keyboard
      (确保自动化过程中可接收文本输入指令)

3.3 控制端代码部署

克隆项目仓库并安装依赖:

git clone https://github.com/zai-org/Open-AutoGLM cd Open-AutoGLM # 创建虚拟环境(推荐) python -m venv .venv source .venv/bin/activate # Windows: .venv\Scripts\activate # 安装依赖 pip install -r requirements.txt pip install -e .

安装完成后可通过内置脚本验证部署状态:

python scripts/check_deployment_cn.py \ --base-url http://<your-server-ip>:8000/v1 \ --model autoglm-phone-9b

若返回Model is ready.则表示连接正常。

4. 设备连接与远程调试

4.1 USB 连接方式

最稳定的方式是通过 USB 数据线连接手机与电脑。

  1. 使用数据线连接设备
  2. 手机弹出“允许调试?”提示时点击“确定”
  3. 查看设备是否识别:
adb devices

输出示例:

List of devices attached 10.42.0.85:46581 device

4.2 WiFi 远程连接(无线调试)

适用于远程开发或无物理连接场景。

  1. 先通过 USB 连接设备
  2. 启用 TCP/IP 模式:
adb tcpip 5555
  1. 断开 USB,使用 IP 地址连接:
adb connect 192.168.x.x:5555
  1. 再次执行adb devices确认连接成功

注意:设备与电脑需处于同一局域网内。

4.3 Python API 编程控制

对于集成开发或批量管理设备,Open-AutoGLM 提供了完整的 Python 接口。

from phone_agent.adb import ADBConnection, list_devices # 初始化连接管理器 conn = ADBConnection() # 连接指定设备 success, message = conn.connect("192.168.1.100:5555") print(f"连接状态: {message}") # 获取所有已连接设备 devices = list_devices() for device in devices: print(f"{device.device_id} - {device.connection_type.value}") # 获取设备 IP 地址(用于无线连接) ip = conn.get_device_ip() print(f"设备 IP: {ip}") # 断开连接 conn.disconnect("192.168.1.100:5555")

此接口可用于构建自动化测试平台或远程运维系统。

5. 实际任务执行与效果验证

5.1 基础功能测试

启动 AI 代理并下发简单指令:

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

模型将依次执行:

  1. 解锁手机(如有锁屏)
  2. 打开抖音 App
  3. 寻找搜索入口并点击
  4. 输入指定抖音号
  5. 进入主页并触发“关注”按钮

整个过程无需人工干预,耗时约 30–60 秒,具体取决于网络延迟和设备响应速度。

5.2 复杂任务测试:外卖下单

尝试更复杂的多跳任务:

python main.py \ --device-id 10.42.0.85:5555 \ --base-url http://10.1.21.133:8000/v1 \ --model "autoglm-phone-9b" \ "在美团上点一份麦当劳巨无霸套餐,不加冰饮料"

该任务包含多个子步骤:

  • 应用启动与定位
  • 商家搜索与筛选
  • 商品选择与规格定制
  • 加购并进入结算页
  • 提交订单(若无需支付密码则自动完成)

在实测中,模型能准确识别“巨无霸套餐”选项,并正确排除“加冰”偏好。但在提交前若出现验证码或支付验证,则会主动暂停并提示用户介入。

5.3 验证码场景下的行为表现

我们模拟微信登录场景进行测试:

指令:

"登录微信账号 138****1234"

执行过程:

  1. 模型打开微信,进入登录页
  2. 输入手机号并点击“下一步”
  3. 检测到“获取验证码”按钮被禁用(等待倒计时)
  4. 出现短信验证码输入框后,模型停止执行
  5. 输出提示:“请手动输入收到的验证码”

待用户输入后,模型继续后续操作,如同意协议、进入主页等。

这表明系统已具备良好的上下文感知能力安全边界意识,不会强行绕过关键验证环节。

6. 常见问题与优化建议

6.1 常见问题排查

问题现象可能原因解决方案
ADB 无法识别设备未开启 USB 调试检查开发者选项
连接频繁断开WiFi 信号不稳定改用 USB 连接
模型无响应或乱码vLLM 参数不匹配检查max_model_len和显存配置
文本无法输入ADB Keyboard 未设为默认进入输入法设置切换
动作执行错位分辨率适配问题确保模型训练数据覆盖目标设备

6.2 性能优化建议

  1. 提升推理速度

    • 使用更高性能 GPU 部署模型
    • 启用 Tensor Parallelism 多卡加速
    • 调整--max-model-len至合理值(建议 8192)
  2. 增强稳定性

    • 固定设备方向(关闭自动旋转)
    • 关闭省电模式,防止后台中断
    • 设置超时重试机制(可在main.py中扩展)
  3. 提高成功率

    • 在复杂任务前增加“预热”指令(如“确保已登录美团”)
    • 对关键节点添加显式等待条件
    • 记录执行日志用于回溯分析

7. 总结

Open-AutoGLM 作为一款开源的手机端 AI Agent 框架,凭借其基于视觉语言模型的多模态理解能力和 ADB 自动化执行机制,实现了“用自然语言操控手机”的愿景。相比早期自动化工具,它最大的进步在于:

  • 通用性强:无需针对特定 App 编写脚本,具备跨应用泛化能力;
  • 交互智能:能理解 UI 结构、文字语义和用户意图;
  • 安全可控:通过人工接管机制处理验证码等敏感场景,避免越界操作;
  • 易于部署:提供清晰的本地控制端与云端分离架构,便于二次开发。

尽管目前仍存在响应延迟、误操作等问题,但其展现出的技术路径极具前瞻性。未来随着模型轻量化、推理加速和反馈机制的完善,这类 AI Agent 有望成为个人数字助理的核心基础设施。

对于开发者而言,Open-AutoGLM 不仅是一个实用工具,更是探索“具身智能”在移动终端落地的重要实验平台。


获取更多AI镜像

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

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

基于SpringBoot的车辆违章信息管理系统的设计与实现

车辆违章信息管理系统的背景与意义 随着城市化进程加快和机动车保有量激增&#xff0c;交通违章现象日益频发&#xff0c;传统人工管理模式在数据处理效率、信息共享和执法透明度等方面面临严峻挑战。据公安部统计&#xff0c;2022年全国机动车保有量达4.17亿辆&#xff0c;同比…

作者头像 李华
网站建设 2026/4/18 3:27:42

提示工程架构师领域:高效提示团队打造的策略探讨

打造高效提示团队&#xff1a;提示工程架构师领域的策略指南 关键词&#xff1a;提示工程架构师、高效提示团队、策略、沟通协作、人才培养、工具选择 摘要&#xff1a;本文深入探讨了在提示工程架构师领域打造高效提示团队的策略。首先介绍了提示工程领域的背景&#xff0c;阐…

作者头像 李华
网站建设 2026/4/18 3:36:51

ssm499在线心理评测与咨询系统--论文

目录具体实现截图摘要系统所用技术介绍写作提纲源码文档获取/同行可拿货,招校园代理 &#xff1a;文章底部获取博主联系方式&#xff01;具体实现截图 摘要 随着社会压力增加&#xff0c;心理健康问题日益受到关注&#xff0c;传统心理咨询受限于时间和空间&#xff0c;难以满…

作者头像 李华
网站建设 2026/4/18 3:31:26

【课程设计/毕业设计】基于springboot宠物医院智能管理系统基于springboot的宠物医院管理系统的设计与实现【附源码、数据库、万字文档】

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

作者头像 李华
网站建设 2026/4/18 3:27:28

Flutter for OpenHarmony 电子合同签署App实战 - 编辑资料实现

编辑资料功能是电子合同应用的重要组成部分。这个功能提供了完整的用户界面、数据管理和业务逻辑。通过编辑资料功能&#xff0c;用户可以更加高效地完成相关操作。在这篇文章中&#xff0c;我们将详细讲解如何实现一个功能完整、用户友好的编辑资料功能。通过学习本文&#xf…

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

QtOpenGL多线程渲染方案深度解析

QtOpenGL多线程渲染方案深度解析1. 引言&#xff1a;为什么需要多线程渲染&#xff1f;2. QtOpenGL多线程架构设计2.1 基本线程模型2.2 关键组件3. 实现细节与性能优化3.1 线程间同步机制3.2 性能关键点4. 实战案例&#xff1a;3D场景编辑器4.1 架构设计4.2 性能对比5. 常见问题…

作者头像 李华