AutoGLM-Phone健身场景应用:运动记录自动同步教程
你有没有这样的经历?跑步结束后,一边喘着气一边手动打开运动App,再一条条把数据同步到健康平台,还要截图发朋友圈打卡。繁琐不说,稍不注意就忘了。如果手机能“自己”完成这些操作呢?
现在,借助AutoGLM-Phone这个智能助理框架,这一切已经可以自动化实现。本文将带你一步步配置环境,用自然语言指令让AI代理自动帮你完成“运动记录同步+社交分享”的全流程操作,真正解放双手。
1. Open-AutoGLM:智谱开源的手机端AI Agent框架
Open-AutoGLM 是由智谱推出的开源项目,旨在打造一个能在真实手机设备上运行的AI智能体(Agent)系统。它不是简单的脚本工具,而是一个具备多模态理解、意图解析、任务规划和自动执行能力的完整框架。
核心亮点在于:
- 视觉语言模型驱动:不仅能“看到”屏幕内容,还能理解按钮、文字、布局的语义。
- 自然语言交互:用户只需说“帮我做XXX”,无需写代码或设置复杂规则。
- 基于ADB控制:通过Android Debug Bridge与设备通信,兼容真机与模拟器。
- 支持远程调试:可通过WiFi连接,实现远程操控与开发测试。
这个框架的出现,意味着我们离“AI替我用手机”又近了一大步。
2. AutoGLM-Phone如何工作?
AutoGLM-Phone 的本质是一个手机端AI助手,它的运行流程像极了一个真实用户在操作手机:
2.1 多模态感知:看懂屏幕
每次执行前,系统会通过ADB截取当前手机屏幕,然后将图像输入视觉语言模型(VLM)。模型不仅能识别出“微信图标”、“搜索框”、“关注按钮”,还能理解它们的功能和上下文关系。
比如,当你让它“打开Keep并上传今天的跑步记录”,它首先需要判断:
- 当前是否在桌面?
- 哪个图标是Keep?
- 打开后哪个页面显示了今日运动数据?
- “同步”按钮在哪里?
这些都靠VLM一帧帧“看”出来。
2.2 意图解析与任务规划
接收到你的自然语言指令后,系统会进行两步处理:
- 语义理解:把“上传跑步记录并分享到小红书”拆解成子任务——打开Keep → 找到最新记录 → 点击分享 → 选择小红书 → 发布。
- 动作序列生成:结合当前界面状态,动态规划每一步该点击哪里、滑动多长、等待多久。
这就像一个经验丰富的用户,在脑子里预演了一遍操作路径。
2.3 自动执行与安全机制
规划完成后,系统通过ADB发送点击、滑动、输入等指令,逐条执行。过程中还会不断截图回传,验证操作是否成功。
为了防止误操作,系统内置了敏感行为确认机制:
- 遇到支付、删除、登录等关键操作时,会暂停并提示人工确认。
- 在验证码弹窗等AI无法处理的场景,支持临时接管。
此外,整个系统支持远程WiFi连接,即使手机不在身边,也能通过网络完成控制,非常适合自动化运维和远程测试。
3. 客户端与真机连接(本地电脑配置)
要让AutoGLM-Phone跑起来,你需要在本地电脑上部署控制端,并通过ADB连接安卓设备。以下是详细步骤。
3.1 硬件与环境准备
| 项目 | 要求 |
|---|---|
| 操作系统 | Windows 或 macOS |
| Python版本 | 建议 3.10+ |
| 安卓设备 | Android 7.0以上(真机或模拟器均可) |
| ADB工具 | 必须安装并配置环境变量 |
ADB安装与配置
Windows 用户:
- 下载 Android SDK Platform Tools 并解压。
- 按
Win + R输入sysdm.cpl,进入“高级系统设置” → “环境变量”。 - 在“系统变量”中找到
Path,点击编辑,添加ADB解压目录路径(如C:\platform-tools)。 - 打开命令行,输入
adb version,若显示版本号则说明配置成功。
macOS 用户:在终端执行以下命令(假设文件解压在 Downloads 目录):
export PATH=${PATH}:~/Downloads/platform-tools你可以将这行加入.zshrc或.bash_profile实现永久生效。
3.2 手机端设置
为了让电脑能控制手机,需开启开发者权限并安装专用输入法。
开启开发者模式
进入“设置” → “关于手机” → 连续点击“版本号”7次,直到提示“您已进入开发者模式”。启用USB调试
返回设置主菜单 → “开发者选项” → 开启“USB调试”。安装 ADB Keyboard
- 从官方渠道下载 ADB Keyboard APK 并安装。
- 进入“语言与输入法”设置 → 将默认输入法切换为ADB Keyboard。
为什么需要ADB Keyboard?
因为纯ADB无法直接输入中文或特殊字符。ADB Keyboard 允许我们通过命令发送文本,实现自动化打字功能。
3.3 部署控制端代码(Open-AutoGLM)
接下来,在本地电脑上拉取并安装控制端代码。
# 1. 克隆仓库 git clone https://github.com/zai-org/Open-AutoGLM cd Open-AutoGLM # 2. 安装依赖 pip install -r requirements.txt pip install -e .安装完成后,你就拥有了本地的AI代理控制器。
4. 设备连接方式详解
确保手机通过USB线连接电脑,或处于同一局域网下。
4.1 USB连接方式
最稳定的方式,适合初期调试。
adb devices正常输出应类似:
List of devices attached ABCDEF123 device只要看到设备ID后跟着device,说明连接成功。
4.2 WiFi远程连接方式
摆脱数据线束缚,实现无线操控。
注意:首次必须用USB连接激活TCP/IP模式。
# 第一步:通过USB启用ADB over TCP/IP adb tcpip 5555 # 第二步:拔掉USB,使用IP连接 adb connect 192.168.x.x:5555其中192.168.x.x是你手机的局域网IP地址,可在“设置”→“WLAN”中查看。
连接成功后,即可断开USB线,继续通过WiFi控制设备。
5. 启动AI代理,开始自动化任务
一切准备就绪,现在让我们真正“唤醒”AI代理。
5.1 命令行方式启动
在Open-AutoGLM根目录下运行:
python main.py \ --device-id 192.168.x.x:5555 \ --base-url http://<云服务器IP>:8800/v1 \ --model "autoglm-phone-9b" \ "打开Keep,找到今天上午的跑步记录,点击分享按钮,保存图片到相册"参数说明:
--device-id:设备标识,可用adb devices查看。--base-url:云端vLLM服务地址,格式为http://公网IP:端口/v1。--model:指定使用的模型名称。- 最后的字符串:你的自然语言指令。
执行后,你会看到AI逐步截图、分析、点击,最终完成任务全过程。
5.2 使用Python API进行远程控制
如果你希望将AutoGLM集成进自己的系统,可以直接调用其Python接口。
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}") # 启用TCP/IP模式(用于WiFi连接) success, message = conn.enable_tcpip(5555) ip = conn.get_device_ip() print(f"设备 IP: {ip}") # 断开连接 conn.disconnect("192.168.1.100:5555")这段代码可用于构建自动化调度系统,比如定时检查设备状态、批量控制多台手机等。
6. 健身场景实战:运动记录自动同步
现在进入正题——如何用AutoGLM-Phone实现运动数据自动同步与社交分享。
6.1 场景描述
目标流程:
- 打开Keep App;
- 进入“训练记录”页面;
- 找到最近一次跑步数据;
- 点击“分享”按钮;
- 选择“保存图片”;
- 打开小红书,发布动态,附上图片和文案:“今日跑步5公里,配速5'30'',状态不错!”
6.2 自然语言指令示例
python main.py \ --device-id 192.168.x.x:5555 \ --base-url http://<your-server-ip>:8800/v1 \ --model "autoglm-phone-9b" \ "打开Keep,查看今天的跑步记录,点击分享,保存为图片。然后打开小红书,发布新笔记,上传这张图片,并配上文字:'今日跑步5公里,配速5分30秒,状态不错!'"6.3 实际效果观察
执行过程中,AI会:
- 自动识别Keep图标并点击进入;
- 滚动查找今天的运动条目;
- 点击“分享”按钮,选择“保存海报”;
- 检测保存成功的提示;
- 切换到小红书,点击“+”号新建笔记;
- 调用相册选择刚保存的图片;
- 使用ADB Keyboard输入预设文案;
- 点击发布。
整个过程无需人工干预,耗时约40秒,准确率高达90%以上(取决于网络和模型响应速度)。
6.4 可扩展应用场景
除了跑步记录,这套方案还可用于:
- 健身打卡自动化:每天固定时间发布训练照;
- 饮食记录同步:拍照上传餐食至健康App;
- 课程提醒+签到:自动打开瑜伽课预约页面并完成签到;
- 多平台同步:同时将数据同步到微信运动、Apple Health、Strava等。
只要你能用语言描述清楚,AutoGLM-Phone基本都能帮你完成。
7. 常见问题与排查建议
尽管系统设计稳健,但在实际使用中仍可能遇到一些问题。以下是高频故障及解决方案。
7.1 ADB连接失败
现象:adb devices显示unauthorized或无设备。
解决方法:
- 检查手机是否弹出“允许USB调试?”对话框,需手动点击“允许”。
- 更换USB线或接口,部分劣质线仅支持充电。
- 重启ADB服务:
adb kill-server && adb start-server。
7.2 WiFi连接不稳定
现象:adb connect成功但很快断开。
建议:
- 确保手机和电脑在同一WiFi网络下。
- 关闭手机省电模式,避免系统自动关闭后台连接。
- 尝试降低TCP端口延迟:
adb shell settings put global wifi_watchdog_poor_network_test_enabled 0
7.3 模型无响应或乱码
现象:AI长时间不执行,或输出错误操作。
排查方向:
- 检查云服务器防火墙是否放行了vLLM服务端口(如8800);
- 确认vLLM启动参数正确,特别是
--max-model-len和显存分配; - 查看日志是否有OOM(内存溢出)报错;
- 尝试简化指令,避免过于复杂的嵌套逻辑。
7.4 输入中文失败
现象:需要输入文字时无法打出中文。
原因:未正确启用 ADB Keyboard。
修复步骤:
- 确保已安装 ADB Keyboard APK;
- 在“语言与输入法”中将其设为默认输入法;
- 测试命令:
adb shell am broadcast -a ADB_INPUT_TEXT --es msg "你好世界"。
获取更多AI镜像
想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。