白山市网站建设_网站建设公司_SEO优化_seo优化
2026/1/22 5:36:54 网站建设 项目流程

AutoGLM-Phone验证码场景处理:人工接管流程实战演示

1. Open-AutoGLM:智谱开源的手机端AI Agent框架

你有没有想过,有一天只要说一句话,手机就能自动帮你完成一连串操作?比如:“打开小红书搜美食”、“查一下明天北京的天气”、“给上周聊天的那个朋友发条消息”。听起来像科幻片?其实它已经来了。

Open-AutoGLM 是由智谱推出的开源项目,基于 AutoGLM-Phone 构建的手机端 AI Agent 框架。它不是简单的语音助手,而是一个真正能“看懂屏幕、理解意图、动手操作”的智能体。通过结合视觉语言模型(VLM)和 ADB 自动化控制,它实现了从“感知”到“决策”再到“执行”的完整闭环。

这个系统最厉害的地方在于:它不需要修改手机系统,也不依赖特定应用接口,而是像人一样“看屏幕、点按钮”来完成任务。无论是打开 App、滑动页面,还是输入文字、点击确认,它都能自主完成。更关键的是,当遇到敏感操作或验证码这类 AI 不该越权的场景时,系统支持“人工接管”,确保安全与可控。

本文将带你深入实战,重点演示在登录和验证码场景下如何实现人工接管,并完整走通一次从指令下发到任务结束的全流程。


2. AutoGLM-Phone 核心机制解析

2.1 多模态理解 + 自动化执行 = 真正的手机助理

AutoGLM-Phone 的工作流程可以拆解为四个核心环节:

  1. 屏幕感知:通过 ADB 截图获取当前手机界面,送入视觉语言模型进行分析。
  2. 意图理解:用户用自然语言下达指令,模型将其与屏幕内容结合,理解当前上下文。
  3. 动作规划:基于理解结果,生成下一步操作序列(如点击坐标、输入文本、滑动等)。
  4. 执行反馈:通过 ADB 发送操作指令,观察执行结果,循环迭代直到任务完成。

整个过程是动态推理的,不是预设脚本。也就是说,哪怕你中途切换了页面、弹出了新窗口,它也能重新“看一眼”,调整策略继续执行。

2.2 安全设计:敏感操作不越界,人工接管保底线

虽然自动化很强大,但涉及隐私和安全的操作必须谨慎。例如:

  • 输入银行卡密码
  • 接收短信验证码
  • 点击“同意并继续”类授权按钮

这些场景,AutoGLM-Phone 默认不会自动处理。相反,它会主动暂停流程,提示用户介入。这种机制叫做“人工接管(Human-in-the-loop)”。

系统会在检测到以下情况时触发接管:

  • 出现包含“验证码”、“短信”、“身份验证”等关键词的弹窗
  • 需要输入非明文可预测的内容(如动态码)
  • 检测到金融类 App 或高风险操作界面

一旦触发,AI 会停止执行,并通过日志或通知告知用户:“需要你输入验证码,请完成后按回车继续。” 这样既保证了效率,又守住了安全边界。


3. 本地环境搭建与设备连接

要让 AutoGLM-Phone 跑起来,我们需要三部分协同工作:

  1. 云端模型服务(已部署 vLLM + AutoGLM 模型)
  2. 本地控制端(运行 Open-AutoGLM 代码)
  3. 安卓设备(被控手机)

本节聚焦本地控制端与真机的连接配置。

3.1 硬件与环境准备

项目要求
操作系统Windows / macOS
Python 版本建议 3.10+
安卓设备Android 7.0 及以上
工具依赖ADB(Android Debug Bridge)
ADB 安装与配置

ADB 是连接电脑与安卓设备的核心工具。以下是不同系统的配置方式:

Windows 用户:

  1. 下载 Android SDK Platform Tools
  2. 解压后记下路径,例如C:\platform-tools
  3. 打开“系统属性” → “环境变量” → 在“系统变量”中找到Path→ 编辑 → 新增一行填入 ADB 路径
  4. 打开命令行输入adb version,若显示版本号则成功

macOS 用户:在终端执行以下命令(假设解压目录为~/Downloads/platform-tools):

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

你可以将这行加入.zshrc.bash_profile实现永久生效。

验证安装:

adb version # 应输出类似:Android Debug Bridge version 1.0.41

3.2 手机端设置

为了让电脑能控制手机,需开启开发者权限并安装专用输入法。

步骤如下:

  1. 开启开发者模式
    进入“设置” → “关于手机” → 连续点击“版本号”7次,直到提示“您已进入开发者模式”。

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

  3. 安装 ADB Keyboard(关键!)
    下载 ADB Keyboard APK 并安装。
    安装后进入“语言与输入法”设置 → 将默认输入法切换为ADB Keyboard

为什么需要 ADB Keyboard?
因为 ADB 本身无法直接输入中文或复杂字符。ADB Keyboard 提供了一个虚拟输入法通道,使得我们可以通过命令发送任意文本,实现真正的“自动打字”。

测试输入功能:

adb shell input text "Hello_AutoGLM"

如果手机输入框出现Hello_AutoGLM(下划线会被转为空格),说明配置成功。


4. 部署控制端代码并连接设备

4.1 克隆项目与安装依赖

在本地电脑上执行:

# 克隆仓库 git clone https://github.com/zai-org/Open-AutoGLM cd Open-AutoGLM # 安装依赖 pip install -r requirements.txt pip install -e .

该项目使用 Poetry 管理依赖,如果你遇到问题,也可以尝试:

poetry install poetry run python main.py --help

4.2 设备连接方式

确保手机通过 USB 连接到电脑,或处于同一局域网内。

方法一:USB 直连(推荐初学者)
adb devices

正常输出应类似:

List of devices attached ABCDEF1234567890 device

只要有设备 ID 和device状态,就表示连接成功。

方法二:WiFi 远程连接(适合无线调试)

先用 USB 连接,启用 TCP/IP 模式:

adb tcpip 5555

断开 USB 后,通过 IP 连接:

adb connect 192.168.1.100:5555

其中192.168.1.100是你的手机局域网 IP(可在 WiFi 设置中查看)。连接成功后,即可拔掉数据线。

提示:首次使用需 USB 授权一次,之后可长期免密连接。


5. 实战演示:关注抖音博主全过程

现在我们来模拟一个真实任务:打开抖音,搜索指定账号并关注

但由于涉及登录状态缺失,系统会跳转至验证码登录页——这正是人工接管的典型场景。

5.1 启动 AI 代理

在 Open-AutoGLM 目录下运行:

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

参数说明:

  • --device-id:从adb devices获取的设备 ID
  • --base-url:你的云服务器公网 IP 和映射端口(如 Nginx 或 Docker 映射的 8800)
  • --model:指定使用的模型名称
  • 最后的字符串:自然语言指令

5.2 执行流程分解

第一步:启动抖音 App

AI 通过解析桌面图标,识别“抖音”App 图标并点击打开。等待加载完成后,进入首页。

第二步:进入搜索界面

AI 在底部导航栏找到“放大镜”图标(或“发现”页),点击进入搜索框。

第三步:输入抖音号

调用 ADB Keyboard 输入指令:

adb shell am broadcast -a ADB_INPUT_TEXT --es msg "dycwo11nt61d"

文字准确出现在搜索框中。

第四步:执行搜索

AI 识别键盘上的“搜索”按钮(或回车键),模拟点击完成搜索。

第五步:进入用户主页

在搜索结果中定位目标账号,点击头像进入个人主页。


5.3 验证码场景触发人工接管

此时,系统判断当前未登录,尝试关注会弹出“登录以继续”提示。点击后跳转至手机号登录页。

AI 检测到“请输入验证码”字段,立即做出反应:

[INFO] 敏感操作检测:验证码输入界面 [WARNING] 自动化暂停,需人工介入 [INSTRUCTION] 请手动接收短信并输入验证码,完成后按 Enter 键继续...

AI 停止所有操作,等待用户输入。

你可以在手机上手动输入收到的验证码,点击“登录”。登录成功后,回到电脑终端按回车键。

AI 恢复运行,刷新页面,重新尝试“关注”按钮,最终完成任务。


5.4 人工接管的设计意义

这一机制看似打断了自动化流程,实则是智能化的重要体现

  • 避免越权风险:AI 不应掌握用户的短信验证码
  • 提升鲁棒性:面对不可预测的 UI 变化(如图形验证码),人类仍是最佳应对者
  • 构建信任:让用户始终掌握控制权,增强对 AI 助理的信任感

而且,接管过程非常轻量——只需输入一次验证码,后续操作仍可全自动完成。


6. 使用 Python API 实现远程设备管理

除了命令行,Open-AutoGLM 还提供了 Python API,便于集成到其他系统中。

以下是一个完整的远程连接与设备管理示例:

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}") # 在 USB 设备上启用 TCP/IP success, message = conn.enable_tcpip(5555) if success: ip = conn.get_device_ip() print(f"设备 IP: {ip}") # 断开连接 conn.disconnect("192.168.1.100:5555")

这个 API 可用于:

  • 批量管理多台测试机
  • 构建自动化测试平台
  • 开发远程运维工具

7. 常见问题与排查建议

7.1 连接类问题

问题可能原因解决方案
adb devices无输出驱动未安装 / USB 调试未开重装驱动,检查开发者选项
unauthorized状态未授权调试拔插 USB,手机端确认授权弹窗
connection refused防火墙拦截 / 端口未开放检查云服务器安全组规则,放行对应端口

7.2 执行类问题

问题原因建议
模型乱码或无响应vLLM 参数不匹配检查max_model_len是否 ≥ 8192,显存是否足够
输入中文失败ADB Keyboard 未设为默认进入输入法设置重新选择
点击位置偏移屏幕分辨率适配问题更新最新版 Open-AutoGLM,支持自适应坐标映射

7.3 性能优化建议

  • 使用 SSD 存储模型缓存,减少磁盘 IO 延迟
  • 保持手机屏幕常亮,避免休眠中断流程
  • 在安静环境中运行,避免误触或其他 App 弹窗干扰

8. 总结:让 AI 成为你手机的“左膀右臂”

通过本次实战,我们完整走通了 AutoGLM-Phone 从环境搭建、设备连接、任务执行到验证码场景人工接管的全流程。你会发现,这套系统不仅技术先进,而且设计人性化。

它的价值体现在三个层面:

  1. 效率层面:重复性操作交给 AI,节省大量手动时间;
  2. 安全层面:敏感操作保留人工干预入口,防止失控;
  3. 扩展层面:支持远程调试、API 调用,易于集成进企业流程或自动化测试体系。

未来,类似的 AI Agent 会越来越多地出现在我们的数字生活中——它们不是取代人类,而是作为“认知外脑”,帮我们处理繁琐事务,让我们专注于更有创造性的工作。

而现在,你已经掌握了如何部署和使用这样一位“手机助理”。


获取更多AI镜像

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

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询