南充市网站建设_网站建设公司_后端工程师_seo优化
2026/1/22 8:22:33 网站建设 项目流程

Open-AutoGLM部署实战:构建7x24小时监控提醒系统

Open-AutoGLM – 智谱开源的手机端AI Agent框架,正在重新定义我们与移动设备的交互方式。它不仅仅是一个自动化工具,更是一个能“看懂”屏幕、“理解”指令并“自主执行”的智能体。通过将视觉语言模型与安卓设备控制能力结合,Open-AutoGLM让手机真正拥有了“自我操作”的能力。

AutoGLM-Phone 是一个基于视觉语言模型的 AI 手机智能助理框架。它能以多模态方式理解屏幕内容,并通过 ADB 自动操控设备。用户只需用自然语言下指令,如“打开小红书搜美食”,模型即可解析意图、理解界面并自动规划、执行操作流程,无需手动点击。而 Phone Agent 则是基于 AutoGLM 构建的完整手机端智能助理系统,支持远程调试、敏感操作确认和人工接管机制,适用于验证码登录、支付确认等关键场景。这套组合为构建全天候运行的自动化任务系统提供了坚实基础——比如,你可以让它每天定时检查某个App的消息更新,发现特定关键词就自动通知你,实现真正的7x24小时监控提醒服务。

本文将带你从零开始,一步步部署 Open-AutoGLM 控制端,连接真实安卓设备,调用云端推理服务,最终实现一条完整的自动化指令链。无论你是想打造个人数字助手,还是为企业级自动化流程做技术预研,这套方案都具备极强的可扩展性和落地价值。

1. 系统架构概览

在深入部署前,先明确整个系统的组成结构和数据流向,有助于后续问题排查和功能拓展。

1.1 核心组件分工

整个 Open-AutoGLM 自动化系统由三大部分构成:

  • 本地控制端(Control Client)
    运行在你的本地电脑上,负责接收用户指令、管理 ADB 连接、截图上传、动作下发。它是整个系统的“指挥官”。

  • 云端推理服务(VLLM Server)
    部署在云服务器上的大模型推理接口,通常使用 vLLM 加速推理。它接收来自控制端的屏幕图像和文本指令,输出下一步操作建议,如“点击坐标 (x, y)”或“输入文字”。

  • 安卓设备(Android Device)
    被控手机或模拟器,通过 ADB 接收控制命令,执行点击、滑动、输入等操作,并返回当前界面状态供模型持续感知。

这三者通过标准 HTTP API 和 ADB 协议通信,形成闭环反馈系统:感知 → 决策 → 执行 → 再感知

1.2 工作流程图解

[用户输入] --> "打开抖音搜索某博主并关注" ↓ [控制端] 截图 + 指令打包 → 发送给 [云端模型] ↓ [模型] 分析图像 + 文本 → 输出动作:“启动抖音” / “点击搜索框” / “输入ID” ... ↓ [控制端] 解析动作 → 调用 ADB 执行(tap, input, swipe) ↓ [设备] 执行后刷新界面 → 控制端再次截图 → 循环直到任务完成

这种基于“视觉反馈+语言理解”的模式,不依赖 App 的内部逻辑,因此对任何应用都能通用处理,极大提升了自动化系统的泛化能力。

2. 硬件与环境准备

要成功运行 Open-AutoGLM,必须确保本地开发环境、安卓设备和网络配置全部到位。

2.1 本地电脑要求

  • 操作系统:Windows 10/11 或 macOS(推荐 Intel/M1 Mac)
  • Python 版本:3.10 或以上(避免使用 Python 3.12,部分依赖尚未兼容)
  • 内存:至少 8GB RAM(用于运行控制脚本和缓存截图)
  • ADB 工具:Android SDK Platform Tools,用于设备通信
安装 ADB(Windows 示例)
  1. 前往 Android 开发者官网 下载platform-tools
  2. 解压到任意目录,例如C:\platform-tools
  3. 打开“系统属性” → “高级” → “环境变量”,在“系统变量”中找到Path,添加该路径。
  4. 打开命令提示符,输入:
    adb version
    若显示版本号,则安装成功。
配置 ADB(macOS 示例)

在终端中执行以下命令(假设文件解压至 Downloads):

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

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

2.2 安卓设备准备

  • 系统版本:Android 7.0 及以上
  • 开发者选项:需手动开启
  • USB 调试:必须启用
  • 输入法设置:推荐安装 ADB Keyboard,便于自动输入文本

3. 手机端设置详解

这是最容易出错的一环,务必严格按照步骤操作。

3.1 开启开发者模式

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

3.2 启用 USB 调试

返回设置主菜单 → “系统” → “开发者选项” → 找到“USB 调试”,勾选开启。

注意:首次连接电脑时,手机会弹出“允许 USB 调试?”对话框,请点击“允许”。若未出现,请尝试更换数据线或重启 ADB 服务。

3.3 安装并配置 ADB Keyboard

ADB Keyboard 是一个无界面输入法,专为自动化设计,可通过 ADB 命令直接发送文本。

  1. 下载 ADB Keyboard APK 并安装。
  2. 进入“设置” → “语言与输入法” → “默认键盘” → 选择“ADB Keyboard”。
  3. 测试是否生效:
    adb shell am broadcast -a ADB_INPUT_TEXT --es msg "Hello AutoGLM"

如果状态栏显示“Text input success”,说明配置成功。

4. 部署 Open-AutoGLM 控制端

现在开始部署本地控制代码,这是驱动整个自动化流程的核心。

4.1 克隆项目仓库

打开终端或命令行工具,执行:

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

4.2 安装 Python 依赖

建议使用虚拟环境隔离依赖:

python -m venv venv source venv/bin/activate # Linux/macOS # 或 venv\Scripts\activate.bat (Windows)

安装所需包:

pip install -r requirements.txt pip install -e .

常见问题:若pydantic安装失败,请升级 pip:

pip install --upgrade pip

5. 设备连接方式详解

Open-AutoGLM 支持两种连接方式:USB 直连和 WiFi 远程连接。推荐初期使用 USB,稳定后再切换为无线。

5.1 USB 连接验证

  1. 使用原装数据线连接手机与电脑。
  2. 在终端运行:
    adb devices
  3. 正常输出应类似:
    List of devices attached 1234567890ABCDEF device

其中device状态表示连接正常。若显示unauthorized,请检查手机是否点了“允许”。

5.2 WiFi 远程连接(推荐用于长期运行)

对于需要长时间运行的监控任务,WiFi 连接更为灵活。

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

此命令将设备监听在 5555 端口。

第二步:断开 USB,使用 IP 连接

获取手机局域网 IP(可在“设置-关于手机-状态信息”中查看),然后执行:

adb connect 192.168.x.x:5555

再次运行adb devices,应能看到设备以 IP 形式列出。

提示:部分路由器可能限制设备间通信,请确保电脑与手机在同一子网。

6. 启动 AI 代理执行任务

一切准备就绪,现在可以下达第一条自然语言指令了。

6.1 命令行方式启动

确保你的云端 vLLM 服务已在公网 IP 上运行,并开放了指定端口(如 8800)。执行:

python main.py \ --device-id 192.168.x.x:5555 \ --base-url http://<your-server-ip>:8800/v1 \ --model "autoglm-phone-9b" \ "打开抖音搜索抖音号为:dycwo11nt61d 的博主并关注他!"

参数说明:

参数说明
--device-idADB 设备 ID,可用adb devices查看
--base-url云端模型服务地址,格式为http://ip:port/v1
--model模型名称,目前固定为autoglm-phone-9b
最后字符串用户自然语言指令

执行后,你会看到控制台不断输出:

  • 当前屏幕截图上传
  • 模型返回的操作建议
  • ADB 执行的具体动作(如 tap x=500 y=800)

整个过程无需人工干预,直到任务完成。

6.2 使用 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}") # 获取设备 IP(可用于动态连接) ip = conn.get_device_ip() print(f"当前设备 IP: {ip}") # 断开连接 conn.disconnect("192.168.1.100:5555")

这段代码可用于构建设备池管理系统,支持多台手机并行处理任务。

7. 构建7x24小时监控提醒系统

现在我们来实现文章标题中的核心目标:构建一个全天候运行的监控提醒系统

7.1 场景设想

假设你想监控某个电商平台的库存变化,一旦商品恢复有货,立即收到微信通知。

传统做法是手动刷新页面,费时费力。而现在,我们可以让 Open-AutoGLM 自动完成:

  1. 每隔10分钟打开App,进入商品详情页。
  2. 检查“立即购买”按钮是否存在或可点击。
  3. 如果可购,截屏保存,并通过 webhook 发送报警消息到企业微信或钉钉。
  4. 继续循环,直到任务被手动停止。

7.2 实现思路

编写一个守护脚本,循环执行以下逻辑:

import time from phone_agent.client import PhoneAgent agent = PhoneAgent( device_id="192.168.x.x:5555", base_url="http://<server-ip>:8800/v1", model="autoglm-phone-9b" ) while True: result = agent.run("打开京东App,进入商品ID为100034567890的页面,检查是否可购买") if "可购买" in result.final_action or "立即购买" in result.observation: # 触发告警 send_alert("商品已恢复库存!", screenshot=result.last_screenshot) break # 或继续监控 time.sleep(600) # 每10分钟检查一次

7.3 告警通知集成

你可以通过以下方式发送提醒:

  • 企业微信机器人

    import requests def send_alert(msg, screenshot=None): webhook = "YOUR_WEBHOOK_URL" data = {"text": {"content": msg}, "msgtype": "text"} requests.post(webhook, json=data)
  • 邮件通知:使用smtplib

  • 短信服务:接入阿里云 SMS 或腾讯云短信

这样,即使你在开会、睡觉或旅行,也能第一时间获知重要信息。

8. 常见问题与解决方案

自动化系统在实际运行中难免遇到各种异常,以下是高频问题及应对策略。

8.1 ADB 连接不稳定

  • 现象:设备频繁掉线,adb devices显示offline
  • 原因:WiFi 信号弱、手机休眠、USB 接口供电不足
  • 解决方法
    • 使用 USB 连接代替 WiFi
    • 设置手机“保持唤醒”或关闭自动锁屏
    • 更换高质量数据线或使用带电源的 USB 集线器

8.2 模型响应慢或乱码

  • 现象:返回操作指令混乱,如“点击 abcdef”而非坐标
  • 原因:vLLM 启动参数不匹配,max_model_len 过小导致上下文截断
  • 建议配置
    python -m vllm.entrypoints.openai.api_server \ --model zhipu/autoglm-phone-9b \ --tensor-parallel-size 1 \ --max-model-len 8192 \ --gpu-memory-utilization 0.9

8.3 图像识别不准

  • 现象:模型误判按钮位置,导致点击错误区域
  • 原因:屏幕分辨率过高、UI 元素过小、光线反光影响截图质量
  • 优化建议
    • main.py中调整截图缩放比例
    • 避免强光直射屏幕
    • 对关键页面进行“模板校准”,即预先标注期望操作区域

8.4 敏感操作安全机制

系统内置了风险防护机制,在检测到如下操作时会暂停执行:

  • 输入银行卡号
  • 点击“支付”、“确认付款”等按钮
  • 出现验证码弹窗

此时可通过远程 ADB 查看当前画面,并手动接管操作。完成后输入continue继续流程。


9. 总结

Open-AutoGLM 不只是一个技术玩具,它代表了一种全新的自动化范式:以视觉为中心、以语言为指令、以动作为反馈。通过本次部署实践,我们不仅完成了基础环境搭建,还实现了从单次任务执行到7x24小时监控系统的跃迁。

这套方案的价值在于其高度通用性——无论是电商抢购、社交运营、数据采集,还是客服自动化,只要能在手机上完成的操作,理论上都可以交给 AI 来代劳。更重要的是,它完全基于开源生态构建,没有 vendor lock-in,适合企业私有化部署。

未来,随着多模态模型能力的进一步提升,这类手机端 AI Agent 将变得更加智能、可靠和普及。而你现在掌握的,正是通往下一代人机交互方式的第一把钥匙。


获取更多AI镜像

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

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

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

立即咨询