Open-AutoGLM+WiFi连接,摆脱数据线自由控制

1. 引言:从手动操作到AI代理的演进

随着大模型技术的发展,智能设备的交互方式正在经历一场深刻变革。传统手机操作依赖用户逐一手动点击,而基于视觉语言模型(VLM)的AI Agent框架则开启了“自然语言驱动”的新范式。Open-AutoGLM 是智谱开源的一款面向手机端的 AI 助理框架,它结合了多模态理解与自动化执行能力,让用户只需用一句话即可完成复杂操作流程。

例如,输入“打开小红书搜索美食”,系统将自动解析意图、识别当前界面元素、规划点击路径,并通过 ADB 完成整个任务链。更关键的是,Open-AutoGLM 支持远程 WiFi 连接设备,无需物理数据线即可实现对手机的全自动化控制,极大提升了开发调试和实际应用的灵活性。

本文将围绕 Open-AutoGLM 的部署实践,重点讲解如何配置本地控制端、建立稳定 WiFi 连接、调用 AI 模型执行指令,并提供可运行代码示例与常见问题解决方案,帮助开发者快速上手这一前沿技术。


2. 系统架构与核心技术原理

2.1 整体工作流程

Open-AutoGLM 的核心机制由三个模块协同完成:

  1. 屏幕感知层:通过 ADB 截图获取手机当前画面,送入视觉语言模型进行语义解析。
  2. 决策规划层:模型根据自然语言指令和图像信息,推理出下一步应执行的操作(如点击、滑动、输入文本)。
  3. 执行控制层:利用 ADB 命令在真实设备上模拟用户行为,完成自动化操作。

该过程形成一个闭环反馈系统,支持动态调整策略以应对界面变化或操作失败。

2.2 多模态理解的关键作用

不同于纯文本指令解析工具,Open-AutoGLM 使用 VLM 实现真正的“所见即所得”理解。模型不仅能识别“搜索框”“按钮”等 UI 元素,还能结合上下文判断其功能。例如,在抖音首页看到“关注”按钮时,能准确区分是“已关注”还是“未关注”状态,从而决定是否触发点击。

这种能力使得系统具备较强的泛化性,适用于不同 App 和界面布局。

2.3 ADB 的双重角色:控制与通信

ADB(Android Debug Bridge)不仅是调试工具,在本系统中承担两大职责:

  • 设备控制通道:发送 input tap/swipe、am start 等命令实现点击、滑动、启动应用。
  • 数据传输通道:拉取截图用于模型推理,获取设备 IP 地址用于远程连接。

正是由于 ADB 的标准化接口,才使得跨平台、跨设备的自动化成为可能。


3. 本地环境搭建与设备准备

3.1 硬件与软件要求

项目 要求
操作系统 Windows / macOS / Linux
Python 版本 3.10 或以上
手机系统 Android 7.0+
工具依赖 ADB、Git、pip

建议使用虚拟环境隔离依赖,避免版本冲突。

python -m venv autoglm-env
source autoglm-env/bin/activate  # Linux/macOS
# 或 autoglm-env\Scripts\activate  # Windows

3.2 ADB 环境配置

Windows 配置步骤:
  1. 下载 Android SDK Platform Tools 并解压。
  2. 将解压目录添加至系统 PATH:
    • Win + R → 输入 sysdm.cpl → 高级 → 环境变量
    • 在“系统变量”中找到 Path,点击编辑 → 新增 ADB 解压路径
  3. 验证安装:
adb version

输出类似 Android Debug Bridge version 1.0.41 表示成功。

macOS 配置方法:
export PATH=${PATH}:~/Downloads/platform-tools

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


4. 手机端设置与安全机制

4.1 开启开发者选项与USB调试

  1. 进入手机“设置” → “关于手机” → 连续点击“版本号”7次,启用开发者模式。
  2. 返回设置主菜单 → “开发者选项” → 启用“USB调试”。

注意:部分厂商(如小米、华为)还需额外开启“USB调试(安全设置)”或授权电脑连接。

4.2 安装并启用 ADB Keyboard

为解决远程输入问题,需安装专用输入法:

  1. 下载 ADB Keyboard APK 并安装。
  2. 进入“语言与输入法”设置 → 默认键盘 → 切换为“ADB Keyboard”。

启用后,可通过 ADB 命令直接向手机输入文字:

adb shell am broadcast -a ADB_INPUT_TEXT --es msg "Hello World"

4.3 敏感操作防护机制

为防止误操作造成风险,Open-AutoGLM 内置以下保护措施:

  • 人工确认机制:涉及支付、登录、删除等高危操作时暂停执行,等待用户确认。
  • 操作回滚提示:记录每一步动作,支持查看历史轨迹。
  • 权限最小化原则:仅请求必要权限,不读取敏感数据。

这些设计保障了自动化过程的安全可控。


5. 控制端部署与远程连接配置

5.1 克隆项目并安装依赖

git clone https://github.com/zai-org/Open-AutoGLM
cd Open-AutoGLM

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 and responsive. 则表示服务正常。

5.2 设备连接方式对比

方式 优点 缺点 适用场景
USB 连接 稳定、低延迟 需要物理连线 初次调试
WiFi 连接 无线自由、远程控制 受网络影响 生产/演示环境

5.3 使用 WiFi 实现无线控制

第一步:通过 USB 启动 TCP/IP 模式
adb tcpip 5555

此命令让设备监听 5555 端口,准备接受网络连接。

第二步:断开 USB,使用 IP 连接
adb connect 192.168.x.x:5555

确保电脑与手机处于同一局域网下。连接成功后,adb devices 将显示设备状态为 device

第三步:获取设备 IP(Python API 示例)
from phone_agent.adb import ADBConnection, list_devices

conn = ADBConnection()
success, msg = conn.connect("192.168.1.100:5555")
print(f"连接状态: {msg}")

devices = list_devices()
for dev in devices:
    print(f"{dev.device_id} - {dev.connection_type.value}")

ip = conn.get_device_ip()
print(f"设备 IP: {ip}")

该脚本可用于自动化连接管理,适合集成到 CI/CD 流程中。


6. 启动 AI 代理并执行指令

6.1 命令行方式运行任务

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

参数说明:

  • --device-id:可通过 adb devices 查看,支持 IP:port 格式。
  • --base-url:指向运行 vLLM 或其他推理服务的公网地址。
  • 最后的字符串:自然语言指令,支持中文复杂句式。

6.2 Python API 调用示例

对于需要嵌入现有系统的场景,推荐使用 API 模式:

from phone_agent.agent import AutoGLMPHONE

agent = AutoGLMPHONE(
    device_id="192.168.1.100:5555",
    base_url="http://10.1.21.133:8000/v1",
    model_name="autoglm-phone-9b"
)

result = agent.run("帮我查一下明天北京到上海的高铁票")
print(result.action_trace)

输出包含完整的操作日志,便于分析与优化。

6.3 实际测试案例展示

案例一:启动 Bilibili 应用
python main.py --device-id ... "打开bilibili"

首次运行可能出现 ADB Keyboard 检测异常,可临时修改 main.py 中相关检查逻辑跳过验证。

案例二:美团下单巨无霸汉堡
python main.py --device-id ... "在美团上点个麦当劳巨无霸"

系统会自动完成:打开美团 → 搜索麦当劳 → 进入门店 → 找到巨无霸 → 加购 → 结算(非支付),全过程无需人工干预。

视频演示地址:https://www.bilibili.com/video/BV1mBm2BfEWJ


7. 常见问题与排查建议

7.1 连接类问题

问题现象 可能原因 解决方案
adb connect 失败 网络不通或端口未开放 检查防火墙、路由器设置
unauthorized 设备 未授权调试 重新插拔 USB,确认弹窗授权
device offline ADB 守护进程异常 执行 adb kill-server && adb start-server

7.2 模型服务问题

问题现象 排查方向
模型响应慢或超时 检查 GPU 显存是否充足,vLLM 的 max-model-len 是否设置合理
输出乱码或无效动作 确认模型加载正确,Tokenizer 匹配
API 返回 404/500 检查 /v1 路由是否映射正确,CORS 配置

7.3 性能优化建议

  1. 提升截图频率:减少 screencap 间隔时间,提高响应速度。
  2. 缓存界面状态:避免重复截图导致延迟。
  3. 预加载常用应用:提前启动目标 App 减少冷启动耗时。
  4. 使用高性能网络:优先选择 5GHz WiFi 或有线网络桥接。

8. 总结

Open-AutoGLM 作为一款开源的手机端 AI Agent 框架,展示了多模态大模型在终端自动化领域的巨大潜力。通过结合视觉理解与 ADB 控制,实现了从“人操作手机”到“语言驱动手机”的跃迁。

本文详细介绍了其本地部署流程,重点阐述了如何通过 WiFi 连接摆脱数据线束缚,实现真正的无线自由控制。无论是用于自动化测试、辅助操作,还是构建个性化数字助理,Open-AutoGLM 都提供了强大且灵活的技术基础。

未来,随着模型轻量化和边缘计算的发展,这类 AI Agent 有望在更多场景落地,真正实现“让手机自己做事”。


获取更多AI镜像

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

Logo

欢迎加入 MCP 技术社区!与志同道合者携手前行,一同解锁 MCP 技术的无限可能!

更多推荐