Open-AutoGLM实战案例:自动收集美团优惠券操作流程
1. 引言:让AI帮你“动手”完成手机任务
你有没有这样的经历?每天打开美团、大众点评,翻来覆去地找各种满减券、限时折扣,点来点去不仅费时间,还容易漏掉。如果有个AI助手能听懂你说“帮我把美团里所有可用的餐饮券都领一遍”,然后自己在手机上操作完成——是不是省心多了?
这不再是设想。今天我们要用Open-AutoGLM来实现一个真实场景的自动化:让AI代理自动登录美团App,浏览并领取所有可领取的优惠券。
整个过程不需要手动点击,只需一句话指令,AI就能看懂屏幕、理解按钮含义、规划操作路径,并通过ADB真正“动手”帮你完成任务。听起来像科幻?其实已经可以落地了。
本文将带你一步步部署环境、连接真机、下发指令,完整走通这个“自动领券”的AI自动化流程。无论你是想提升生活效率,还是探索AI Agent的实际应用边界,这个案例都非常值得参考。
2. Open-AutoGLM 是什么?
2.1 多模态AI助理,真正“看得见、点得着”
Open-AutoGLM 是由智谱开源的一套手机端 AI Agent 框架,核心是基于视觉语言模型(VLM)构建的AutoGLM-Phone。它不只是个聊天机器人,而是一个能“看”手机屏幕、“理解”界面元素、“执行”点击滑动操作的智能体。
它的能力链条非常清晰:
- 感知层:通过截图获取当前手机界面,用多模态模型识别文字、按钮、图标。
- 理解层:结合用户自然语言指令,理解目标意图(比如“领券”)。
- 决策层:规划操作路径(先点首页 → 找到优惠券入口 → 遍历可领项)。
- 执行层:通过 ADB 发送点击、滑动、输入等指令,真正操控手机。
整个过程就像一个虚拟的“手指”,替你在手机上完成所有操作。
2.2 安全与灵活性设计
为了防止误操作,系统内置了敏感行为确认机制。例如涉及支付、删除、授权等高风险动作时,会暂停并提示人工确认。
同时支持远程调试模式,即使手机不在身边,只要连上WiFi,也能通过网络控制设备,非常适合开发者或远程自动化测试场景。
3. 环境准备:搭建本地控制端
要让AI代理工作起来,我们需要三部分协同:
- 云端模型服务(已部署好的vLLM推理服务)
- 本地电脑作为控制中枢
- 安卓手机作为执行终端
本文重点讲第2和第3部分的配置。
3.1 硬件与软件要求
| 项目 | 要求 |
|---|---|
| 操作系统 | Windows 或 macOS |
| Python 版本 | 建议 3.10+ |
| 安卓设备 | Android 7.0 及以上(真机或模拟器均可) |
| 工具依赖 | ADB(Android Debug Bridge) |
提示:建议使用真机测试,因部分模拟器对ADB输入支持不完整。
3.2 安装并配置 ADB
ADB 是连接电脑与安卓设备的核心工具,用于发送指令、获取截图、模拟点击等。
Windows 用户配置步骤:
- 下载 Android SDK Platform Tools 并解压。
- 按
Win + R输入sysdm.cpl,打开“系统属性”。 - 进入“高级”→“环境变量”。
- 在“系统变量”中找到
Path,点击“编辑”→“新建”,添加 ADB 解压目录路径(如C:\platform-tools)。 - 打开命令行,输入:
若显示版本信息,则说明配置成功。adb version
macOS 用户配置方法:
在终端中执行以下命令(假设 platform-tools 解压在 Downloads 目录):
export PATH=${PATH}:~/Downloads/platform-tools你可以将这行加入.zshrc或.bash_profile实现永久生效。
验证方式同上:
adb version4. 手机端设置:开启调试与输入法
4.1 开启开发者选项
- 打开手机“设置” → “关于手机”。
- 连续点击“版本号”7次,直到提示“您已进入开发者模式”。
4.2 启用 USB 调试
- 返回设置主界面,进入“开发者选项”。
- 找到“USB调试”,勾选启用。
注意:不同品牌手机路径略有差异,请根据机型调整。
4.3 安装 ADB Keyboard(关键!)
这是实现文本输入的关键组件。因为AI无法直接调用系统输入法,必须通过ADB发送键码。
- 下载 ADB Keyboard APK 并安装。
- 进入“设置” → “语言与输入法” → “默认键盘”。
- 选择ADB Keyboard为当前输入法。
验证是否生效:在任意输入框长按,选择“输入法”→ 切换为 ADB Keyboard。
5. 部署 Open-AutoGLM 控制端代码
现在我们开始部署本地控制程序。
5.1 克隆项目并安装依赖
打开终端或命令行工具,执行:
# 克隆仓库 git clone https://github.com/zai-org/Open-AutoGLM cd Open-AutoGLM # 安装依赖 pip install -r requirements.txt pip install -e .推荐使用虚拟环境(venv),避免包冲突。
5.2 检查设备连接状态
确保手机通过 USB 连接到电脑,然后运行:
adb devices正常输出应类似:
List of devices attached 1234567890ABCDEF device如果有unauthorized提示,请在手机上确认“允许USB调试”。
6. 连接方式:USB vs WiFi 远程控制
6.1 USB 连接(推荐初学者)
即插即用,稳定性高,适合调试阶段。
adb devices记录下设备ID(如1234567890ABCDEF),后续传给AI代理使用。
6.2 WiFi 远程连接(适合长期运行)
若想摆脱数据线,可通过WiFi连接。
第一步:用USB连接后开启TCP/IP模式
adb tcpip 5555第二步:拔掉USB,连接同一WiFi后执行
adb connect 192.168.x.x:5555其中192.168.x.x是手机的局域网IP(可在“设置-关于手机-状态信息”中查看)。
连接成功后,同样可用adb devices查看。
7. 实战演示:自动收集美团优惠券
终于到了最激动人心的部分——让AI真正干活!
7.1 明确任务目标
我们的指令是:
“打开美团App,进入‘我的’页面,点击‘优惠券’,领取所有可领取的餐饮类优惠券。”
这个任务包含多个步骤:
- 启动美团App
- 导航到个人中心
- 进入优惠券列表
- 遍历每个“可领取”按钮并点击
- 处理可能的弹窗(如登录提示)
- 自动停止当无新券可领
这些都将由AI自主判断和执行。
7.2 启动AI代理执行指令
在 Open-AutoGLM 根目录下运行:
python main.py \ --device-id 1234567890ABCDEF \ --base-url http://<你的云服务器IP>:8800/v1 \ --model "autoglm-phone-9b" \ "打开美团App,进入我的页面,点击优惠券,领取所有可领取的餐饮优惠券"参数说明:
| 参数 | 说明 |
|---|---|
--device-id | 从adb devices获取的设备ID |
--base-url | 云端vLLM服务地址(需公网IP + 端口映射) |
--model | 使用的模型名称(固定为autoglm-phone-9b) |
| 最后字符串 | 自然语言指令,尽量具体明确 |
7.3 观察AI如何“思考”与执行
启动后,你会看到类似日志输出:
[INFO] 截图获取成功 [INFO] 屏幕内容分析:检测到桌面,有“美团”图标 [INFO] 动作规划:点击坐标 (x=200, y=800) [INFO] 执行点击 ... [INFO] 检测到“登录”弹窗,暂停执行,等待人工确认此时你可以选择:
- 手动登录后继续
- 或在代码中配置跳过策略
一旦进入优惠券页面,AI会自动识别所有标有“领取”字样的按钮,并逐一点击。每完成一次操作,都会重新截图分析,确保状态更新。
8. Python API 方式调用(进阶用法)
除了命令行,你也可以在自己的脚本中集成该功能。
from phone_agent.adb import ADBConnection from phone_agent.agent import AutoGLMAgent # 创建ADB连接 conn = ADBConnection() conn.connect("192.168.1.100:5555") # 初始化AI代理 agent = AutoGLMAgent( base_url="http://your-server-ip:8800/v1", model_name="autoglm-phone-9b", device_id="192.168.1.100:5555" ) # 下发任务 result = agent.run("帮我把美团里所有未领取的满50减10的券都领了") print("任务完成状态:", result.success) print("执行步骤:", result.steps)这种方式便于嵌入到定时任务、Web服务或其他自动化系统中。
9. 常见问题与排查建议
9.1 设备无法连接
现象:
adb devices显示unauthorized解决:检查手机是否弹出“允许调试”对话框,勾选并确认。
现象:
adb connect失败解决:
- 确保手机与电脑在同一WiFi下
- 检查防火墙是否阻止5555端口
- 尝试重启ADB服务:
adb kill-server && adb start-server
9.2 AI执行卡住或乱点
- 可能原因:模型未能正确识别界面元素
- 建议:
- 提高截图分辨率(修改配置文件中的
screenshot_scale) - 在光线充足的环境下操作,避免屏幕反光
- 对复杂页面可增加“等待加载”指令,如:“等页面加载完后再操作”
- 提高截图分辨率(修改配置文件中的
9.3 文本输入失败
- 现象:搜索框无法输入文字
- 原因:ADB Keyboard 未设为默认输入法
- 验证方法:尝试手动切换输入法,或运行以下命令测试:
adb shell input text "hello"
9.4 模型响应慢或返回乱码
- 检查点:
- vLLM服务是否正常运行
--base-url是否正确指向/v1接口- GPU显存是否足够(建议至少16GB)
max-model-len参数是否设置过小(影响上下文理解)
10. 总结:AI Agent 正在改变人机交互方式
通过这次实战,我们完整实现了用一句话指令驱动AI自动完成美团优惠券领取的全流程。这不是简单的脚本录制回放,而是基于视觉理解与语义推理的智能决策过程。
Open-AutoGLM 的价值在于:
- 零编码门槛:普通用户也能通过自然语言指挥手机。
- 跨App通用性:不限于美团,抖音、小红书、淘宝等都能操作。
- 可扩展性强:结合定时任务,可打造“全自动生活助手”。
未来你可以进一步拓展:
- 每天早上8点自动领取外卖红包
- 关注特定博主并点赞最新视频
- 批量处理通知、清理缓存
- 构建私人数字员工,接管重复性手机操作
技术正在从“辅助”走向“自治”。而 Open-AutoGLM,正是这一趋势的有力实践者。
获取更多AI镜像
想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。