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 名称匹配预设的登录/验证路径(如
login、verify、captcha)
此时,AI 会:
- 在终端输出清晰提示:“ 检测到验证码页面,请手动输入后按回车继续”
- 暂停所有自动化操作,保持当前界面不变
- 等待你完成输入(支持键盘输入、复制粘贴、甚至语音转文字)
- 你按下回车键后,AI 立即恢复执行后续动作(如点击“登录”按钮)
这个过程不需要你关掉程序、切回命令行、再重新启动——它就在原地安静等待,像一位耐心的助手,只在最需要你的时候伸出手。
3. 本地电脑连接真机:从零开始搭建控制端
3.1 硬件与环境准备:四步到位,不踩坑
要让 Open-AutoGLM 控制你的手机,本地电脑就是“指挥中心”。我们推荐用最稳妥的 USB 连接方式起步,稳定、低延迟、免配网。
| 项目 | 要求 | 验证方法 |
|---|---|---|
| 操作系统 | Windows 10+/macOS 12+ | 系统设置中查看版本号 |
| Python | 3.10 或更高版本 | 终端输入python --version |
| 安卓设备 | Android 7.0+(真机优先) | 设置 → 关于手机 → 查看 Android 版本 |
| ADB 工具 | 最新版 platform-tools | adb 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% 的连接失败都源于此。
- 开启开发者模式:进入「设置 → 关于手机」,连续点击「版本号」7 次,直到弹出“您已处于开发者模式”提示。
- 启用 USB 调试:返回设置主菜单,进入「开发者选项」,找到并开启「USB 调试」。首次开启时,手机会弹窗询问“允许 USB 调试吗?”,勾选“始终允许”,再点确定。
- 安装 ADB Keyboard(关键!):这是实现“无触控输入”的核心组件。
- 前往 GitHub Releases 下载最新版
ADBKeyboard.apk - 在手机上安装该 APK
- 进入「设置 → 语言与输入法 → 虚拟键盘」,将默认输入法切换为ADB Keyboard
验证成功:连接电脑后,在终端输入
adb shell input text "test",手机输入框应自动出现 “test” 字样。 - 前往 GitHub Releases 下载最新版
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-id:adb 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星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。