商洛市网站建设_网站建设公司_留言板_seo优化
2026/1/22 2:48:55 网站建设 项目流程

Open-AutoGLM健身提醒代理:运动计划执行自动化部署

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

你有没有这样的经历:设好了每天晚上8点去健身房,结果一忙起来就忘了?或者明明想用App记录训练数据,却因为操作太繁琐而放弃。现在,一个叫Open-AutoGLM的项目正在让这些琐事变得“全自动”。

这不是简单的闹钟提醒,而是一个真正能“动手”的AI助手——它不仅能理解你的语言指令,还能像真人一样操作手机,帮你打开健身App、打卡签到、甚至自动发送训练完成通知给朋友。这一切都基于智谱AI开源的AutoGLM-Phone框架,一个能让大模型“看懂屏幕、动起手指”的手机端智能代理系统。

这个系统的核心能力在于:多模态理解 + 自动化执行。它通过视觉语言模型读取手机屏幕内容,判断当前界面状态,再结合任务规划能力,一步步完成点击、滑动、输入等操作。你只需要说一句:“帮我打开Keep开始跑步训练”,剩下的交给AI。

更关键的是,这套系统是完全可本地部署、可定制化的开源方案。你可以把它变成专属的“数字分身”,让它替你在多个App之间穿梭执行任务,比如定时记录饮食、自动发布运动成果到社交平台,甚至在你忘记锻炼时主动发消息提醒。

接下来,我们就以“健身提醒代理”为例,带你从零开始部署一个能真正“行动”的AI助手。

2. AutoGLM-Phone 是什么?让AI接管你的手机

2.1 多模态理解与自动执行的闭环

传统的语音助手(如Siri、小爱同学)大多停留在“听指令—查信息—播报结果”的层面,真正需要操作App时还得你自己上手。而AutoGLM-Phone不同,它的目标是实现“你说,它做”。

它是如何做到的?

整个流程分为三步:

  1. 感知:通过ADB截取手机屏幕画面,送入视觉语言模型(VLM),让AI“看到”当前界面有哪些按钮、文字、图标。
  2. 决策:结合用户指令和当前界面状态,模型生成下一步操作动作,比如“点击‘开始训练’按钮”或“向下滑动列表”。
  3. 执行:通过ADB命令模拟真实触控行为,完成点击、输入、滑动等操作。

这三步不断循环,形成一个完整的任务执行闭环。就像一个人坐在你旁边,看着你的手机屏幕,听你下命令,然后亲手帮你操作。

2.2 安全机制与人工接管设计

你可能会担心:万一AI乱点,误删数据怎么办?别怕,系统内置了多重安全机制:

  • 敏感操作确认:当检测到可能影响账户或数据的操作(如卸载应用、支付、删除账号),AI会暂停并等待人工确认。
  • 验证码/登录拦截:遇到需要输入密码或验证码的场景,系统会自动停止自动化流程,提示用户手动处理。
  • 远程调试支持:开发者可以通过WiFi连接设备,在不接触物理手机的情况下进行调试和监控。

这意味着,你既能享受自动化带来的便利,又能牢牢掌握控制权。

3. 硬件与环境准备:搭建本地控制端

要让AI代理运行起来,我们需要在本地电脑上配置控制端,并连接安卓设备。以下是具体准备步骤。

3.1 基础环境要求

  • 操作系统:Windows 或 macOS(推荐macOS,兼容性更好)
  • Python版本:建议使用 Python 3.10 或以上
  • 安卓设备:Android 7.0 及以上版本的手机或模拟器
  • ADB工具:Android Debug Bridge,用于与设备通信

3.2 安装并配置ADB

Windows 用户
  1. 下载 Android SDK Platform Tools 并解压。
  2. Win + R输入sysdm.cpl,打开“系统属性” → “高级” → “环境变量”。
  3. 在“系统变量”中找到Path,点击“编辑” → “新建”,添加ADB解压路径(例如:C:\platform-tools)。
  4. 打开命令行,输入:
    adb version
    如果返回版本号,说明配置成功。
macOS 用户

打开终端,执行以下命令(假设文件解压在~/Downloads/platform-tools):

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

为了永久生效,可以将这行命令添加到.zshrc.bash_profile文件中:

echo 'export PATH=${PATH}:~/Downloads/platform-tools' >> ~/.zshrc source ~/.zshrc

验证方式同上,运行adb version查看输出。

4. 手机端设置:开启调试权限

为了让电脑能够控制手机,必须开启开发者选项和USB调试。

4.1 开启开发者模式

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

4.2 启用USB调试

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

注意:首次连接电脑时,手机会弹出“允许USB调试?”的对话框,请点击“允许”并勾选“始终允许”。

4.3 安装ADB Keyboard(可选但推荐)

这是一个特殊的输入法,允许我们通过ADB命令直接输入文字,避免AI无法调用系统键盘的问题。

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

这样,AI就能通过命令输入文字,比如搜索关键词、填写表单等。

5. 部署Open-AutoGLM控制端代码

现在我们可以下载并安装核心控制程序。

5.1 克隆项目仓库

在本地终端执行:

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

5.2 安装依赖

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

提示:建议使用虚拟环境(如condavenv)隔离依赖,避免冲突。

安装完成后,你会看到phone_agent模块被注册为可调用包,后续可通过Python API或命令行调用。

6. 连接设备:USB与WiFi两种方式

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

6.1 USB连接方式(推荐初学者)

在终端运行:

adb devices

如果输出类似:

List of devices attached 123456789 device

说明设备已识别,可以继续下一步。

6.2 WiFi远程连接(适合长期运行)

如果你希望摆脱数据线束缚,可以用WiFi连接。

  1. 先用USB连接设备,执行:

    adb tcpip 5555

    这会启动ADB的TCP服务,监听5555端口。

  2. 断开USB线,在终端输入:

    adb connect 192.168.x.x:5555

    其中192.168.x.x是手机的局域网IP地址(可在Wi-Fi设置中查看)。

  3. 再次运行adb devices,确认设备状态为device

小技巧:重启手机后ADB TCP连接会失效,需重新执行adb tcpip 5555

7. 启动AI代理:让AI开始工作

一切准备就绪,现在可以启动AI代理,让它替你操作手机。

7.1 命令行方式启动

在项目根目录运行:

python main.py \ --device-id 123456789 \ --base-url http://<云服务器IP>:8800/v1 \ --model "autoglm-phone-9b" \ "打开Keep App,开始30分钟跑步训练,并在结束后截图保存"

参数说明:

  • --device-id:通过adb devices获取的设备ID
  • --base-url:你的云服务器地址,运行着vLLM服务,提供AutoGLM模型推理接口
  • --model:指定使用的模型名称
  • 最后的字符串:自然语言指令,AI将据此规划并执行任务

注意:你需要提前在云服务器上部署好vLLM服务,并加载autoglm-phone-9b模型,确保端口映射正确且防火墙放行。

7.2 使用Python API远程控制(进阶用法)

除了命令行,你还可以在自己的脚本中集成AI代理功能。

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}") else: print(f"启用失败: {message}") # 断开连接 conn.disconnect("192.168.1.100:5555")

这种方式适合嵌入到更大的自动化系统中,比如结合日历事件触发健身提醒。

8. 构建健身提醒代理:完整自动化流程

现在我们来实现一个实用场景:每天晚上8点自动打开Keep开始训练提醒

8.1 设计自动化逻辑

  1. 检测当前时间是否为设定提醒时间(如20:00)
  2. AI代理唤醒手机(如有锁屏则解锁)
  3. 打开Keep App
  4. 导航至“跑步”模块
  5. 弹出提示:“该去跑步啦!” 或直接开始计时
  6. 训练结束后自动截图并保存

8.2 编写调度脚本

创建一个fitness_reminder.py脚本:

import time import subprocess from datetime import datetime def is_time_to_workout(): now = datetime.now() return now.hour == 20 and now.minute == 0 # 每晚8点 while True: if is_time_to_workout(): print("启动健身提醒任务...") result = subprocess.run([ "python", "main.py", "--device-id", "123456789", "--base-url", "http://your-server-ip:8800/v1", "--model", "autoglm-phone-9b", "打开Keep,提醒我开始30分钟跑步训练" ], capture_output=True, text=True) if result.returncode == 0: print("提醒已发出") else: print("执行失败:", result.stderr) time.sleep(60) # 防止重复触发 else: time.sleep(30) # 每30秒检查一次

配合系统定时任务(如cron或Windows任务计划程序),即可实现全天候值守。

9. 常见问题排查与优化建议

9.1 连接类问题

问题可能原因解决方法
adb devices无输出驱动未安装 / USB调试未开启重新开启开发者选项,更换数据线
unauthorized状态未授权电脑调试手机端确认“允许USB调试”对话框
connection refused云服务端口未开放检查服务器防火墙、安全组规则

9.2 模型响应异常

  • 现象:AI乱点、无响应、输出乱码
  • 排查方向
    • 确认vLLM启动参数中--max-model-len设置足够大(建议 ≥ 8192)
    • 显存是否充足?9B模型建议至少24GB GPU显存
    • 检查base-url是否正确指向/v1/chat/completions接口

9.3 提升稳定性建议

  • 优先使用USB连接,避免WiFi中断导致任务失败
  • 在低电量或后台限制严格的手机上,关闭省电模式
  • 对关键任务增加重试机制和日志记录

10. 总结

通过 Open-AutoGLM 和 AutoGLM-Phone 框架,我们成功构建了一个能“动手”的AI健身提醒代理。它不再只是被动响应,而是主动介入你的生活,帮你完成一系列复杂的手机操作。

从环境配置、ADB连接、代码部署到实际任务执行,整个过程展示了现代AI Agent的强大潜力:理解意图、感知界面、规划路径、执行动作。而这套系统完全是开源、可定制、可扩展的。

未来,你可以进一步拓展它的能力:

  • 结合健康App数据,根据心率自动调整训练强度
  • 在社交平台自动分享每日成就
  • 当连续三天未锻炼时,自动发送“警告”消息给监督人

技术的意义,从来不是取代人类,而是帮我们摆脱重复劳动,专注于更重要的事情。而 Open-AutoGLM 正是这样一个让你“少动手、多生活”的智能伙伴。


获取更多AI镜像

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

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

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

立即咨询