news 2026/2/12 16:10:17

Open-AutoGLM实战案例:自动登录验证码场景人工接管演示

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Open-AutoGLM实战案例:自动登录验证码场景人工接管演示

Open-AutoGLM实战案例:自动登录验证码场景人工接管演示

1. 什么是Open-AutoGLM?一个真正能“看懂手机”的AI助手

Open-AutoGLM 是智谱开源的、专为移动端设计的 AI Agent 框架。它不是简单地调用大模型 API,而是把视觉理解、意图解析、动作规划和设备控制完整串起来的一整套系统。你可以把它想象成一个能“睁眼”看屏幕、“动脑”想步骤、“动手”点按操作的数字分身。

它的核心能力在于——多模态感知 + 自动化执行。当它运行在你的手机上时,会持续截图分析当前界面:按钮在哪、文字说什么、输入框有没有弹出、验证码图片是否出现……然后根据你的一句自然语言指令,比如“登录小红书并关注‘美食探店君’”,自动拆解成“点击登录按钮→选择手机号登录→输入账号密码→识别并填写验证码→点击确认→搜索用户→点击关注”这一连串精准动作。

更关键的是,它不盲目执行。遇到涉及账户安全的敏感操作(如输入密码、提交验证码),系统会主动暂停,把控制权交还给你——这就是本文要重点演示的“人工接管”机制。它既保证了自动化效率,又守住了安全底线,不是“全自动”,而是“智能协同”。

2. Phone Agent:让AI真正走进日常手机操作

2.1 它不只是“会说话”,而是“看得清、想得明、做得准”

Phone Agent 是基于 AutoGLM 构建的落地实现,也是 Open-AutoGLM 项目中面向真实设备的核心代理模块。它有三个不可替代的支柱:

  • 视觉语言模型(VLM)作为“眼睛”和“大脑”:每秒截取屏幕画面,结合 OCR 文字识别与界面元素理解,准确判断当前 App 状态。它能区分“登录”按钮和“注册”按钮,也能识别弹窗中的“允许”与“拒绝”选项。
  • ADB 作为“手”和“脚”:通过 Android Debug Bridge 直接向设备发送点击、滑动、输入等底层指令,响应快、精度高,不依赖 AccessibilityService,兼容性更强。
  • 任务规划引擎作为“指挥官”:把一句模糊的自然语言(如“帮我订一杯瑞幸的生椰拿铁,外送地址选公司”)转化为可执行的动作序列,并动态应对界面变化——比如验证码弹出时自动停步,等待你输入;页面加载慢时自动重试,不卡死。

2.2 验证码场景的人工接管:安全与效率的平衡点

很多自动化工具一碰到验证码就“死机”,要么报错退出,要么胡乱填错。而 Phone Agent 的设计哲学是:AI 负责流程推进,人负责关键决策

当系统检测到以下任一信号时,会立即触发人工接管:

  • 屏幕中出现明显验证码区域(含数字/字母/滑块/点选等常见类型)
  • 输入框聚焦且周围有“验证码”“Verification Code”“图形验证”等文字提示
  • 当前页面 URL 或 Activity 名称匹配预设的登录/验证路径(如loginverifycaptcha

此时,AI 会:

  1. 在终端输出清晰提示:“ 检测到验证码页面,请手动输入后按回车继续”
  2. 暂停所有自动化操作,保持当前界面不变
  3. 等待你完成输入(支持键盘输入、复制粘贴、甚至语音转文字)
  4. 你按下回车键后,AI 立即恢复执行后续动作(如点击“登录”按钮)

这个过程不需要你关掉程序、切回命令行、再重新启动——它就在原地安静等待,像一位耐心的助手,只在最需要你的时候伸出手。

3. 本地电脑连接真机:从零开始搭建控制端

3.1 硬件与环境准备:四步到位,不踩坑

要让 Open-AutoGLM 控制你的手机,本地电脑就是“指挥中心”。我们推荐用最稳妥的 USB 连接方式起步,稳定、低延迟、免配网。

项目要求验证方法
操作系统Windows 10+/macOS 12+系统设置中查看版本号
Python3.10 或更高版本终端输入python --version
安卓设备Android 7.0+(真机优先)设置 → 关于手机 → 查看 Android 版本
ADB 工具最新版 platform-toolsadb version返回 40+ 版本号

ADB 环境变量配置小贴士
Windows 用户:解压 ADB 后,在“系统属性 → 高级 → 环境变量 → 系统变量 → Path”中添加 ADB 解压目录(如C:\adb)。配置完成后重启终端,再运行adb version
macOS 用户:将以下命令加入~/.zshrc~/.bash_profile,然后执行source ~/.zshrc

export PATH="$PATH:/Users/yourname/Downloads/platform-tools"

3.2 手机端设置:三步打开“控制通道”

别跳过这一步——90% 的连接失败都源于此。

  1. 开启开发者模式:进入「设置 → 关于手机」,连续点击「版本号」7 次,直到弹出“您已处于开发者模式”提示。
  2. 启用 USB 调试:返回设置主菜单,进入「开发者选项」,找到并开启「USB 调试」。首次开启时,手机会弹窗询问“允许 USB 调试吗?”,勾选“始终允许”,再点确定。
  3. 安装 ADB Keyboard(关键!):这是实现“无触控输入”的核心组件。
    • 前往 GitHub Releases 下载最新版ADBKeyboard.apk
    • 在手机上安装该 APK
    • 进入「设置 → 语言与输入法 → 虚拟键盘」,将默认输入法切换为ADB Keyboard

    验证成功:连接电脑后,在终端输入adb shell input text "test",手机输入框应自动出现 “test” 字样。

3.3 部署控制端代码:三行命令搞定

现在,你的本地电脑已经具备“发号施令”的能力,接下来部署 Open-AutoGLM 控制端:

# 1. 克隆官方仓库(推荐使用 HTTPS) git clone https://github.com/zai-org/Open-AutoGLM cd Open-AutoGLM # 2. 安装全部依赖(含 vLLM 客户端、ADB 封装、图像处理库) pip install -r requirements.txt # 3. 以开发模式安装本项目(使 phone_agent 模块全局可用) pip install -e .

注意:如果安装vllm报错(尤其在 Windows 上),请先确保已安装 Visual Studio Build Tools,并运行pip install wheel。Mac 用户若遇torch冲突,建议新建干净虚拟环境:python -m venv auto-glm-env && source auto-glm-env/bin/activate

4. 实战演示:抖音账号关注全流程 + 验证码人工接管

4.1 场景设定:一次真实的“关注博主”任务

我们模拟一个典型场景:你想关注抖音上一位新晋美食博主,ID 是dycwo11nt61d。整个流程包含:

  • 打开抖音 App(可能需冷启动)
  • 点击搜索栏
  • 输入博主 ID 并搜索
  • 进入其主页
  • 点击“关注”按钮
    但关键难点在于:首次登录抖音时,系统大概率会弹出短信验证码或图形验证码。这正是人工接管机制的用武之地。

4.2 启动代理,下达指令

确保手机已通过 USB 连接电脑,且adb devices显示设备状态为device

adb devices # 正常输出示例: # List of devices attached # 1234567890ABCDEF device

然后,在Open-AutoGLM根目录下,运行以下命令(替换<device-id>为你的实际设备 ID):

python main.py \ --device-id 1234567890ABCDEF \ --base-url http://192.168.1.100:8800/v1 \ "打开抖音搜索抖音号为:dycwo11nt61d 的博主并关注他!"

参数说明:
--device-idadb devices输出的第一列值,即设备唯一标识
--base-url:指向你部署好的云端 vLLM 服务(本文不展开部署细节,假设已就绪)
指令末尾的字符串:就是你对 AI 助手说的“人话”,无需任何格式或关键词

4.3 全程记录:从启动到接管,再到完成

以下是真实执行过程中的终端日志节选(已精简,保留关键节点):

[INFO] 设备已连接:1234567890ABCDEF (USB) [INFO] 正在启动抖音 App... [INFO] 截图分析中... 识别到「搜索」图标(右上角) [INFO] 执行点击:坐标 (920, 120) [INFO] 输入文本:dycwo11nt61d [INFO] 截图分析中... 识别到「搜索」按钮(底部) [INFO] 执行点击:坐标 (540, 2200) [INFO] 截图分析中... 识别到「用户」Tab 和头像列表 [INFO] 执行点击:第1个头像(匹配ID dycwo11nt61d) [INFO] 截图分析中... 检测到登录弹窗 + 验证码输入框 检测到验证码页面,请手动输入后按回车继续 >

此时,手机屏幕停留在抖音登录页,验证码图片清晰可见。你在终端光标处输入收到的 6 位短信验证码(例如837291),然后敲下回车:

> 837291 [INFO] 验证码已输入,继续执行... [INFO] 截图分析中... 识别到「登录」按钮 [INFO] 执行点击:坐标 (540, 1850) [INFO] 截图分析中... 识别到「关注」按钮(主页顶部) [INFO] 执行点击:坐标 (540, 420) 任务完成:已成功关注抖音号 dycwo11nt61d

整个过程耗时约 42 秒,其中人工介入仅 3 秒——你只需看一眼、输一串数字、按一次回车。其余所有点击、滑动、等待、重试,均由 AI 自动完成。

4.4 为什么人工接管比“自动识别验证码”更可靠?

有人会问:为什么不直接集成 OCR 或第三方打码平台?答案很实在:

  • 准确率陷阱:普通验证码 OCR 在复杂背景、扭曲字体、干扰线面前,准确率常低于 70%,一次填错就导致整个流程中断。
  • 成本与合规:调用商业打码 API 意味着额外费用、网络请求延迟、隐私数据上传风险。
  • 体验断层:AI 填错后弹出“验证码错误”,你仍需手动重输——反而多了一步。

而人工接管的设计,本质是把“不可靠环节”交给最可靠的执行者——你自己。它不追求 100% 全自动,而是追求 100% 可信赖。你掌控关键节点,AI 承担重复劳动,这才是人机协作的合理分工。

5. 远程 WiFi 控制与进阶技巧

5.1 摆脱 USB 线:用 WiFi 实现真·远程操控

USB 连接虽稳,但受限于线缆长度。WiFi 连接则让你在客厅沙发就能控制卧室里的手机。只需两步:

# 第一步:用 USB 连接时,开启设备 TCP/IP 模式 adb tcpip 5555 # 第二步:拔掉 USB,用 WiFi IP 连接(手机需与电脑同局域网) adb connect 192.168.1.105:5555

验证:adb devices应显示192.168.1.105:5555 device
提示:手机 IP 可在「设置 → WLAN → 当前网络详情」中查看;若 IP 变化频繁,建议在路由器中为该设备分配静态 IP。

5.2 Python API:嵌入你自己的工作流

如果你不想总在命令行里敲长命令,Open-AutoGLM 提供了简洁的 Python 接口,方便集成进脚本或 Web 后端:

from phone_agent.adb import ADBConnection from phone_agent.agent import PhoneAgent # 1. 初始化连接 conn = ADBConnection() conn.connect("192.168.1.105:5555") # WiFi 连接 # 2. 创建 AI 代理实例 agent = PhoneAgent( device_id="192.168.1.105:5555", base_url="http://192.168.1.100:8800/v1", model_name="autoglm-phone-9b" ) # 3. 发起任务(支持阻塞式调用) result = agent.run("给微信里‘张经理’发消息:会议改到下午3点") print(f"执行结果:{result.status},耗时 {result.duration:.1f}s")

这段代码可以轻松嵌入自动化日报生成、App 兼容性测试、批量账号运营等场景,让 Open-AutoGLM 成为你生产力工具链中的一环。

6. 常见问题与避坑指南

6.1 连接类问题:90% 都能三步解决

现象原因解决方案
adb devices不显示设备USB 调试未开启 / 驱动未安装 / 数据线故障重新开关“USB调试”;Windows 用户安装 Universal ADB Driver;换根线测试
adb connect失败手机与电脑不在同一 WiFi / TCP/IP 未启用 / 防火墙拦截确认 IP 正确;执行adb tcpip 5555后再拔线;关闭电脑防火墙临时测试
终端报错ConnectionRefused云服务器 vLLM 服务未启动 / 端口未映射 / 防火墙屏蔽curl http://<server-ip>:8800/health测试服务;检查 Docker 映射参数-p 8800:8000;云服务器安全组放行 8800 端口

6.2 执行类问题:界面理解不准怎么办?

  • 截图模糊?检查手机是否开启了“增强指针”或“动画缩放”,在「开发者选项」中将“窗口动画缩放”“过渡动画缩放”“Animator 时长缩放”全部设为 0.5x 或关闭。
  • 按钮点偏?ADB 坐标基于屏幕分辨率,确保adb shell wm size返回值与手机实际分辨率一致(如1080x2400)。若被修改过,执行adb shell wm size reset恢复。
  • 反复识别失败?main.py中增加--max-retries 5参数,允许 AI 在界面未及时刷新时自动重试。

7. 总结:AI 不是取代人,而是让人专注真正重要的事

Open-AutoGLM 的价值,从来不在“炫技式全自动”,而在于它精准识别了人机协作的黄金分割点:把机械的、重复的、易出错的操作交给 AI,把需要判断、信任和最终决策的关键环节留给人

在本次“抖音关注+验证码”实战中,我们看到:

  • AI 稳定完成了 12 个标准动作(启动、点击、输入、搜索、跳转、识别、再点击……)
  • 仅在 1 个高风险节点(验证码输入)主动暂停,把控制权交还给你
  • 全程无需你写一行代码、配置一个参数、切换一次窗口

这不再是“AI 能不能做”,而是“AI 怎么和你一起把事情做得更好”。当你每天要处理几十个账号登录、上百次信息录入、无数个重复点击时,Open-AutoGLM 不是替代你,而是解放你——让你从“操作员”回归“决策者”,把精力留给真正需要思考、创意和温度的地方。


获取更多AI镜像

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

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

RS485和RS232区别总结:传输距离与速率关系

以下是对您提供的技术博文进行 深度润色与结构重构后的优化版本 。本次优化严格遵循您的全部要求: ✅ 彻底去除AI痕迹,语言自然、专业、有“人味”,像一位资深嵌入式系统工程师在技术博客中娓娓道来; ✅ 打破刻板模块化标题(如“引言”“总结”),以逻辑流驱动全文,…

作者头像 李华
网站建设 2026/2/8 21:59:51

手把手教你部署Z-Image-Turbo,本地AI绘画就这么简单

手把手教你部署Z-Image-Turbo&#xff0c;本地AI绘画就这么简单 1. 为什么Z-Image-Turbo值得你立刻试试 你是不是也经历过这些时刻&#xff1a; 想用AI画张图&#xff0c;结果等了两分钟只出一张模糊的草稿&#xff1b; 输入“阳光下的咖啡馆”&#xff0c;生成的却是阴天加雨…

作者头像 李华
网站建设 2026/2/8 17:36:48

5个实用技巧:用Live2D虚拟角色提升网站交互体验

5个实用技巧&#xff1a;用Live2D虚拟角色提升网站交互体验 【免费下载链接】live2d-widget-models The model library for live2d-widget.js 项目地址: https://gitcode.com/gh_mirrors/li/live2d-widget-models 虚拟角色为网站带来的核心价值 在信息爆炸的时代&#…

作者头像 李华
网站建设 2026/2/11 12:04:43

电感的作用全面讲解:储能、滤波与抗干扰

以下是对您提供的博文《电感的作用全面讲解:储能、滤波与抗干扰——功率电子与EMC设计中的核心无源元件深度解析》进行的 专业级润色与重构优化版本 。本次优化严格遵循您的全部要求: ✅ 彻底去除AI痕迹,语言自然如资深工程师口吻 ✅ 打破模板化结构,取消所有“引言/概…

作者头像 李华
网站建设 2026/2/7 1:12:56

Qwen-Image-Edit-2511真实案例:品牌标识修改不漂移

Qwen-Image-Edit-2511真实案例&#xff1a;品牌标识修改不漂移 你有没有遇到过这样的问题&#xff1a;想把一张产品图上的旧Logo换成新品牌标识&#xff0c;结果生成的图片里&#xff0c;新Logo位置歪了、边缘模糊、颜色发灰&#xff0c;甚至整张图的构图都“跑偏”了&#xf…

作者头像 李华
网站建设 2026/2/8 20:22:34

硬件电路设计原理分析基础:全面讲解常用术语

以下是对您提供的博文内容进行 深度润色与重构后的技术文章 。我以一位资深硬件工程师兼嵌入式系统教学博主的身份,摒弃模板化结构、AI腔调和教科书式罗列,转而采用 真实工程语境下的逻辑流叙述方式 :从问题切入、层层拆解、穿插实战陷阱与调试心得,并将六大术语自然织…

作者头像 李华