news 2026/2/9 2:55:44

Open-AutoGLM天气播报代理:每日预报推送执行部署

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Open-AutoGLM天气播报代理:每日预报推送执行部署

Open-AutoGLM天气播报代理:每日预报推送执行部署

你是否想过,让手机自己每天早上7点准时打开天气App、截图当前预报、生成一段口语化播报文案,再发到你的微信家庭群?这不是科幻场景——Open-AutoGLM 正在把这类“自然语言驱动的自动化任务”变成现实。它不是传统意义上的App或脚本,而是一个真正理解屏幕、能“看见”界面、会“思考”步骤、还能“动手”操作的AI代理框架。

本文不讲抽象概念,不堆技术参数,而是带你从零完成一个真实可用的每日天气播报代理:用一句中文指令启动,它就能自动唤醒手机、打开天气应用、识别当前城市与温度、生成带温度和穿衣建议的语音文案,并完成截图与分享动作。整个过程无需人工干预,连验证码和登录页都支持安全接管。下面,我们就以这个具体任务为线索,完整走通部署、连接、调试到稳定运行的每一步。

1. 理解核心角色:Open-AutoGLM 不是模型,而是“AI手脚”

Open-AutoGLM 是智谱开源的一套面向移动端的 AI Agent 框架,它的特别之处在于——它不只负责“想”,更负责“做”。

你可能熟悉大语言模型(LLM)能写诗、能答题,但让它控制手机?传统方案需要写大量ADB命令、解析UI树、处理弹窗逻辑,开发成本极高。而 Open-AutoGLM 把这一整套能力封装成了可复用的“代理层”:它内置视觉语言模型(VLM)实时理解手机屏幕画面,结合任务规划模块生成可执行动作序列(如“点击坐标(320,650)”、“滑动屏幕”、“长按3秒”),再通过 ADB 精准下发指令。用户只需说:“打开墨迹天气,查北京今天最高温和穿衣建议,截图发到‘家人’微信群”,系统就能自主完成全部操作。

它有两个关键身份:

  • Phone Agent:运行在本地控制端的调度中枢,负责接收指令、调用云端模型、解析视觉反馈、生成动作、下发ADB命令;
  • AutoGLM-Phone 模型:部署在云服务器上的9B级多模态模型,专为手机界面理解与操作规划优化,支持高精度OCR、控件识别、意图拆解与容错重试。

二者分离设计,既保障了模型推理所需的算力,又确保了设备控制的低延迟与安全性。你不需要在手机上装任何APK,也不用越狱/root,只要一部普通安卓机+一台能联网的电脑,就能跑起来。

2. 环境准备:三步搞定硬件与基础工具链

部署前,请确认以下四类资源已就位。我们不追求一步到位,而是聚焦“最小可行路径”——先让手机亮屏、被识别、能响应一条指令,再逐步叠加天气任务逻辑。

2.1 硬件与系统要求

类别明确要求说明
控制端(你的电脑)Windows 10+/macOS 12+,Python 3.10+推荐使用虚拟环境隔离依赖,避免冲突
执行端(安卓设备)Android 7.0+,已开启开发者选项建议使用真机(模拟器对ADB键盘和截图支持不稳定)
网络连接USB线 或 同一局域网WiFiWiFi方式更灵活,但首次需USB初始化
ADB工具platform-tools 最新版官方下载地址:https://developer.android.com/tools/releases/platform-tools

小贴士:为什么必须用ADB Keyboard?
默认安卓输入法无法通过ADB直接触发文字输入。ADB Keyboard是一个轻量级APK,它将ADB的input text命令映射为系统级输入事件。安装后,在“设置→语言与输入法”中设为默认,才能让AI代理准确输入城市名、搜索关键词等文本内容。

2.2 ADB环境快速验证(5分钟)

请跳过冗长教程,用最简方式验证ADB是否就绪:

  • Windows用户
    下载platform-tools后,解压到C:\adb,右键“此电脑”→属性→高级系统设置→环境变量→系统变量→Path→新建→填入C:\adb。打开CMD,输入:

    adb version

    若显示类似Android Debug Bridge version 1.0.41,即成功。

  • macOS用户
    终端执行:

    brew install android-platform-tools # 推荐用Homebrew # 或手动配置 echo 'export PATH=$PATH:~/Downloads/platform-tools' >> ~/.zshrc source ~/.zshrc adb version

验证通过后,你会获得两个关键能力:adb devices查设备、adb shell screencap截图。

3. 手机端设置:三步开通“远程操控权限”

这三步看似简单,却是后续所有自动化操作的前提。漏掉任一环节,AI代理都会卡在“找不到按钮”或“无法输入文字”。

3.1 开启开发者模式

进入手机设置 → 关于手机 → 软件信息,连续点击“版本号”7次,直到弹出提示“您现在处于开发者模式”。

3.2 启用USB调试

返回设置主菜单,进入系统 → 开发者选项(部分机型在“更多设置”下),找到并开启:

  • USB调试
  • USB调试(安全设置)(部分新机型需额外开启)
  • 停用MIUI优化 / 关闭华为/OPPO的“USB调试安全警告”(若连接时提示授权失败)

3.3 安装并启用ADB Keyboard

  • 下载最新版 ADB Keyboard APK(推荐v1.1以上)
  • 通过文件管理器安装(需允许“未知来源应用”)
  • 进入设置 → 语言与输入法 → 当前输入法 → 选择 ADB Keyboard
  • 返回桌面,长按任意输入框,确认弹出软键盘即生效

注意:部分品牌手机(如小米)需在“开发者选项”中额外开启“USB安装”和“USB调试(安全设置)”,否则ADB无法向应用发送输入事件。

4. 控制端部署:从克隆代码到首次运行

现在,你的电脑已具备“看见”和“指挥”手机的能力。接下来,我们要装上AI大脑——Open-AutoGLM控制端。

4.1 克隆与安装

打开终端(Windows用CMD/PowerShell,macOS用Terminal),执行:

git clone https://github.com/zai-org/Open-AutoGLM cd Open-AutoGLM pip install -r requirements.txt pip install -e .

该仓库结构清晰:

  • phone_agent/:核心代理逻辑,含ADB封装、视觉反馈处理、动作规划器
  • examples/:包含天气播报、社交App操作等开箱即用示例
  • main.py:命令行入口,支持自然语言指令直传

4.2 连接你的手机

确保手机已通过USB接入电脑,并在手机上点击“允许USB调试”弹窗(勾选“始终允许”)。

在终端运行:

adb devices

正常输出应类似:

List of devices attached 8A2Y0XXXXXXX device

其中8A2Y0XXXXXXX即你的device-id,后续命令中需替换此处。

🔁 WiFi连接备选方案(适合长期运行):
先用USB执行adb tcpip 5555,拔掉USB线,再执行adb connect 192.168.1.100:5555(将IP替换为你手机实际局域网IP)。成功后,adb devices会显示192.168.1.100:5555 device

4.3 启动天气播报代理(第一行有效指令)

假设你已在云服务器部署好 AutoGLM-Phone 模型服务(监听在http://192.168.3.10:8800/v1),现在执行:

python main.py \ --device-id 8A2Y0XXXXXXX \ --base-url http://192.168.3.10:8800/v1 \ --model "autoglm-phone-9b" \ "打开墨迹天气App,查看北京今日天气,截图并保存到相册"

你会看到终端逐行打印:

[INFO] 已连接设备:8A2Y0XXXXXXX [INFO] 正在截取当前屏幕... [INFO] 已上传截图至云端模型... [INFO] 模型返回动作:点击坐标(240,180) → 等待2s → 输入"北京" → 点击搜索图标... [INFO] 动作执行成功,截图已保存至 ./screenshots/weather_20240520_0823.png

成功标志:手机自动亮屏、打开墨迹天气、定位北京、显示今日预报,同时本地生成一张截图。

5. 构建完整天气播报流:从截图到微信推送

上面只是单步操作。真正的“每日播报代理”,需要串联多个动作并加入逻辑判断。我们以examples/weather_agent.py为基础,构建一个鲁棒的流程:

5.1 核心任务拆解(人话版)

步骤AI需完成的动作关键难点
1. 唤醒与启动解锁手机(若锁屏)、打开墨迹天气需识别锁屏界面与App图标位置
2. 定位城市点击城市栏 → 输入“北京” → 确认输入法切换、键盘收起时机
3. 提取数据截图 → 识别“今日最高温”、“体感温度”、“紫外线等级”OCR精度、数字单位识别
4. 生成文案将数值转为口语化播报:“北京今天最高温28℃,紫外线强,建议戴帽防晒”需模型理解温度与健康建议的关联
5. 分享到微信切换到微信 → 进入“家人”群 → 粘贴文案 + 发送截图群聊名称匹配、图片选择控件识别

5.2 关键代码片段(精简可运行版)

Open-AutoGLM/examples/下新建daily_weather.py,填入:

# -*- coding: utf-8 -*- from phone_agent.agent import PhoneAgent from phone_agent.adb import ADBConnection def run_daily_weather(): # 初始化代理(复用已有连接) agent = PhoneAgent( device_id="8A2Y0XXXXXXX", base_url="http://192.168.3.10:8800/v1", model_name="autoglm-phone-9b" ) # 1. 启动天气App(自动处理锁屏) agent.execute("打开墨迹天气") # 2. 确保定位北京(若城市非北京,则重设) agent.execute("将城市切换为北京") # 3. 截图并提取关键字段(模型自动OCR+结构化) result = agent.execute("截图并提取今日最高温、体感温度、穿衣建议") # result 示例:{"最高温": "28℃", "体感温度": "31℃", "建议": "短袖+遮阳帽"} # 4. 生成播报文案 script = f"【早安天气】{result['最高温']},{result['体感温度']},{result['建议']}。祝您一天愉快!" # 5. 发送到微信家庭群 agent.execute(f"在微信中找到‘家人’群,发送文字:{script},并附上刚才的截图") if __name__ == "__main__": run_daily_weather()

运行它:

python examples/daily_weather.py

5.3 加入定时与容错(生产就绪)

  • 定时触发:Linux/macOS用crontab -e添加0 7 * * * cd /path/to/Open-AutoGLM && python examples/daily_weather.py;Windows用任务计划程序。
  • 失败重试:在agent.execute()外层加try/except,捕获ActionFailedError后自动重启App或截图重试。
  • 人工接管开关:当检测到验证码弹窗或登录页时,代理会暂停并打印[PAUSE] 请手动完成登录,完成后输入 'continue',输入后继续执行。

6. 故障排查:90%的问题都出在这三个地方

部署过程中,你大概率会遇到以下典型问题。我们按发生频率排序,并给出一句话解决方案

6.1 ADB设备不显示(adb devices为空)

  • 原因:USB驱动未安装或调试未授权
  • 解决:Windows用户安装 Universal ADB Driver,手机重新插拔并点击授权弹窗;macOS检查USB线是否支持数据传输(部分充电线仅供电)。

6.2 模型返回乱码或无动作([]空列表)

  • 原因:云服务端vLLM启动参数与客户端不匹配,尤其是--max-model-len 8192未设置
  • 解决:检查服务端启动命令是否包含--max-model-len 8192 --tensor-parallel-size 1,显存不足时降低--gpu-memory-utilization 0.8

6.3 截图后AI无法识别文字(返回“未找到温度”)

  • 原因:墨迹天气界面存在广告或动态Banner,干扰OCR区域
  • 解决:在agent.execute()中添加前置动作:"向上滑动屏幕1次,清除顶部广告";或改用“彩云天气”等界面更简洁的App。

进阶提示:所有动作均可通过agent.debug_screenshot=True开启截图日志,每次操作后自动保存debug_*.png,方便你对照视觉反馈调整指令表述。

7. 总结:你刚刚部署的不是一个脚本,而是一个数字分身

回顾整个过程,你没有写一行ADB命令,没有解析一个XML UI树,也没有训练任何模型——你只是:

  • 配置了ADB让电脑“认识”手机;
  • 克隆了一个开源框架让电脑“理解”屏幕;
  • 下达了一句自然语言指令让AI“思考”并“动手”。

这就是Open-AutoGLM的价值:它把复杂的移动自动化,降维成“说人话”。天气播报只是起点,你可以轻松扩展为:

  • 每日基金净值截图+语音播报
  • 新闻App自动朗读头条
  • 外卖订单状态监控+超时提醒
  • 游戏自动签到与资源收取

所有这些,都不再需要编程基础,只需要清晰描述你要什么。

下一步,建议你:

  1. 尝试修改daily_weather.py中的城市名,测试跨地域适配性;
  2. examples/中运行social_agent.py,体验小红书/抖音的自动化操作;
  3. 查看phone_agent/agent.py源码,了解execute()方法如何将自然语言编译为动作序列——你会发现,AI Agent的“智能”,就藏在那几行简洁的API调用里。

获取更多AI镜像

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

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

探索Wave-U-Net:AI音频分离的技术突破与实践

探索Wave-U-Net:AI音频分离的技术突破与实践 【免费下载链接】Wave-U-Net Implementation of the Wave-U-Net for audio source separation 项目地址: https://gitcode.com/gh_mirrors/wa/Wave-U-Net 在深度学习音频处理领域,实时音源分离技术正经…

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

利用SDR进行Wi-Fi信号分析:操作指南与工具推荐

以下是对您提供的博文《利用SDR进行Wi-Fi信号分析:技术原理、实现约束与工程实践深度解析》的 全面润色与专业重构版本 。本次优化严格遵循您的核心要求: ✅ 彻底去除AI腔调与模板化结构(如“引言/总结/展望”等机械分节) ✅ 拒绝空泛术语堆砌,每一句都承载可验证的技…

作者头像 李华
网站建设 2026/2/8 1:52:43

5步精通LibreCAD:开源CAD全功能实战指南

5步精通LibreCAD:开源CAD全功能实战指南 【免费下载链接】LibreCAD LibreCAD is a cross-platform 2D CAD program written in C14 using the Qt framework. It can read DXF and DWG files and can write DXF, PDF and SVG files. The user interface is highly cu…

作者头像 李华
网站建设 2026/2/7 21:54:10

Z-Image-Turbo怎么用?WebUI交互界面部署保姆级教程

Z-Image-Turbo怎么用?WebUI交互界面部署保姆级教程 1. 为什么Z-Image-Turbo值得你花5分钟试试? 你是不是也遇到过这些情况: 想快速生成一张商品图,结果等了半分钟,画面还糊得看不清细节;输入中文提示词&…

作者头像 李华
网站建设 2026/2/8 1:46:27

Z-Image-Turbo提示词技巧分享:这样写效果更好

Z-Image-Turbo提示词技巧分享:这样写效果更好 你有没有试过输入一段精心构思的描述,却生成出模糊、跑题、甚至“四不像”的图片?不是模型不行,而是提示词没写对。Z-Image-Turbo作为阿里ModelScope推出的高性能文生图模型&#xf…

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

5个YOLO系列模型部署推荐:YOLO26镜像一键上手教程

5个YOLO系列模型部署推荐:YOLO26镜像一键上手教程 YOLO系列模型持续进化,从YOLOv5、YOLOv8到最新发布的YOLO26,检测精度、推理速度与多任务能力显著提升。但对多数开发者而言,环境配置、依赖冲突、CUDA版本适配仍是落地第一道门槛…

作者头像 李华