news 2026/4/16 21:24:57

用Open-AutoGLM做了个自动点外卖项目,全过程分享

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
用Open-AutoGLM做了个自动点外卖项目,全过程分享

用Open-AutoGLM做了个自动点外卖项目,全过程分享

最近我尝试了一个特别有意思的开源项目——Open-AutoGLM,它是智谱AI推出的手机端AI Agent框架。简单来说,它能让你用一句话就让手机“自己动起来”,比如:“打开美团,搜附近的川菜馆,选评分最高的那家,点一份水煮鱼加米饭,下单到我家”。听起来是不是像科幻片?但今天我要告诉你:这事儿真能实现!

这篇文章就是我从零开始搭建一个“全自动点外卖”系统的完整记录。我会带你一步步配置环境、连接设备、部署模型,并最终实现自然语言驱动的全流程自动化操作。整个过程不靠PPT吹牛,全是实打实跑通的效果。

如果你也想让AI帮你点咖啡、订餐、刷短视频或者处理日常琐事,这篇实战笔记一定值得你看到最后。


1. 为什么选择 Open-AutoGLM?

在动手之前,我也调研了不少移动端自动化工具,比如Tasker、Auto.js,甚至一些基于大模型的Agent方案(如AppAgentX、MobileUse)。但它们要么需要写脚本,要么对中文应用支持弱,要么依赖复杂的环境配置。

Open-AutoGLM的亮点在于:

  • 纯自然语言控制:你说人话,它就能理解并执行。
  • 多模态视觉理解:不仅能读文字,还能看懂图标、按钮、布局结构。
  • 基于 ADB 的真实操作:不是模拟点击,而是通过 Android Debug Bridge 发送指令,和手动操作几乎无异。
  • 内置安全机制:遇到支付、登录等敏感操作会暂停,等人确认。
  • 支持主流中文App:覆盖微信、抖音、美团、饿了么、淘宝等50+常用应用。

最关键的是——它是开源的,代码托管在 GitHub 上,社区活跃,文档清晰,非常适合个人开发者上手实验。

所以,当我看到它可以“自动点外卖”时,立刻决定动手试试。


2. 环境准备与设备连接

要让 Open-AutoGLM 正常工作,我们需要三样东西:

  1. 一台运行 Android 7.0+ 的手机或模拟器
  2. 一台本地电脑(Windows / macOS)
  3. Python 环境 + ADB 工具

下面是我实际操作的步骤。

2.1 安装 ADB 并配置环境变量

ADB 是 Android 调试桥,用来让电脑控制手机。我用的是 Windows 电脑,下载了 Android SDK Platform Tools 包。

解压后,我把platform-tools文件夹放到C:\tools\adb目录下,然后添加到系统 PATH:

Win + R → sysdm.cpl → 高级 → 环境变量 → 系统变量 → Path → 编辑 → 新增路径

输入:

C:\tools\adb\platform-tools

打开命令行,输入:

adb version

如果返回类似Android Debug Bridge version 1.0.41,说明安装成功。

小贴士:macOS 用户可以直接在终端执行:

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

2.2 手机端设置

接下来是手机的准备工作:

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

  2. 开启 USB 调试
    返回设置主界面 →「开发者选项」→ 打开「USB调试」。

  3. 安装 ADB Keyboard
    下载 ADB Keyboard.apk 并安装。
    安装完成后,在「语言与输入法」中将默认输入法切换为 ADB Keyboard。

这一步很重要!因为后续 AI 可能需要输入文字(比如搜索关键词),而 ADB Keyboard 支持通过命令发送文本,避免弹出软键盘干扰操作流程。

2.3 连接手机到电脑

用数据线把手机连上电脑,首次连接会弹出授权提示,点击“允许”。

然后在命令行运行:

adb devices

输出应该类似:

List of devices attached 19218d3e04087ece device

这个19218d3e04087ece就是你设备的 ID,后面要用。

提示:也可以使用 WiFi 远程连接(适合长期运行):

adb tcpip 5555 adb connect 192.168.x.x:5555

断开 USB 后依然可以远程控制。


3. 部署 Open-AutoGLM 控制端

现在我们来部署本地的控制程序。

3.1 克隆项目并安装依赖

在本地电脑上执行:

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

创建虚拟环境(推荐):

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

安装依赖:

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

安装完成后,你就拥有了一个完整的 Phone Agent 控制端。


4. 模型服务部署方式选择

Open-AutoGLM 本身只是一个“控制器”,真正的“大脑”是背后的视觉语言模型(VLM)。目前有三种方式可用:

方式优点缺点
使用智谱 BigModel API快速上线,无需本地 GPU需要申请 API Key,按调用量计费
使用 ModelScope 推理 API国内访问快,集成方便同样需要 API Key,可能限流
本地部署 AutoGLM-Phone-9B 模型完全免费,响应快,隐私好需要至少 24GB 显存的 GPU

考虑到我想做长期测试,且不想受限于调用额度,我选择了本地部署模型

4.1 本地启动模型服务(vLLM)

首先确保你有一块高性能显卡(我用的是 RTX 3090,24G 显存),然后安装 vLLM:

pip install vllm

接着启动模型服务:

python3 -m vllm.entrypoints.openai.api_server \ --served-model-name autoglm-phone-9b \ --allowed-local-media-path / \ --mm-encoder-tp-mode data \ --mm_processor_cache_type shm \ --mm_processor_kwargs "{\"max_pixels\":5000000}" \ --max-model-len 25480 \ --chat-template-content-format string \ --limit-mm-per-prompt "{\"image\":10}" \ --model zai-org/AutoGLM-Phone-9B \ --port 8000

等待模型加载完毕(大约2分钟),你会看到服务监听在http://localhost:8000/v1

这意味着你的本地 AI 大脑已经上线了!


5. 实战:让 AI 自动帮我点外卖

终于到了最激动人心的环节——让 AI 帮我点一顿晚饭。

我的目标是:
👉 “打开美团外卖,搜索‘川菜’,找到评分最高的一家店,点一份水煮鱼+米饭,地址选‘家’,立即下单。”

5.1 构建命令行指令

回到 Open-AutoGLM 根目录,运行主程序:

python main.py \ --device-id 19218d3e04087ece \ --base-url http://localhost:8000/v1 \ --model "autoglm-phone-9b" \ "打开美团外卖,搜索附近的川菜馆,选择评分最高的那家,点一份水煮鱼加米饭,送到家里"

参数说明:

  • --device-id:前面adb devices查到的设备ID
  • --base-url:本地模型服务地址
  • --model:模型名称(固定为autoglm-phone-9b
  • 最后的字符串:你的自然语言指令

5.2 观察执行过程

按下回车后,奇迹发生了:

  1. 手机自动解锁(如果锁屏)
  2. 打开“美团”App
  3. 进入“外卖”页面
  4. 在搜索框输入“川菜”
  5. 加载结果页,分析各店铺评分
  6. 点击评分最高的那家店
  7. 进入菜单,查找“水煮鱼”和“米饭”
  8. 加入购物车并进入结算页
  9. 地址自动选择“家”
  10. 出现支付按钮时,自动暂停

最后一步停住了——这是设计的安全机制。涉及金钱交易的操作必须由用户亲自确认,防止误操作。

我手动点击“确认支付”,订单完成!

全程耗时约 90 秒,期间我没有碰过一次手机。


6. 关键技术解析

这个项目之所以能成功,离不开几个核心技术模块的协同工作。

6.1 多模态感知:看得懂屏幕

每次执行动作前,系统都会通过 ADB 截图当前屏幕,传给视觉语言模型(VLM)进行分析。

模型不仅要识别文字内容(如“水煮鱼 ¥68”、“评分 4.9”),还要理解 UI 结构(哪个是按钮、哪个是列表项、哪个可点击)。

例如,当模型看到这样一个界面元素:

[ 店铺A ] 评分:4.9 ⭐ 月售 230 单 [ 店铺B ] 评分:4.7 ⭐ 月售 180 单

它能推理出:“店铺A评分更高,应优先选择”。

这种能力来自于模型在大量手机界面截图上的训练。

6.2 动作规划:知道下一步怎么走

模型不仅“看”,还要“想”。它会根据当前状态和目标任务,生成下一步操作序列。

比如:

  • 当前在首页 → 下一步:点击“外卖”
  • 搜索结果未加载 → 下一步:滑动刷新
  • 商品已加入购物车 → 下一步:点击“去结算”

这些决策构成了一个动态的任务树,直到目标达成或失败终止。

6.3 ADB 操作执行:真正动手

所有决策最终都要落地为具体的 ADB 命令:

操作对应 ADB 命令
点击坐标 (x, y)input tap x y
滑动input swipe x1 y1 x2 y2
输入文本am broadcast -a ADB_INPUT_TEXT --es msg "川菜"
返回键input keyevent KEYCODE_BACK

这些命令通过 Python 调用 ADB 接口发送,实现精准控制。


7. 实际效果与优化建议

这次自动点外卖的整体成功率达到了85%以上。失败的情况主要出现在以下几种场景:

问题原因解决方案
商家休息无法下单页面提示“商家打烊”在指令中增加条件:“只选营业中的店铺”
图片验证码弹窗模型无法识别图形码人工接管,或接入OCR服务
网络延迟导致超时页面加载慢增加等待时间阈值
同名菜品混淆多个“水煮鱼”价格不同指令细化:“点最贵的那个水煮鱼”

提升成功率的小技巧:

  1. 指令尽量具体
    ❌ “点个饭”
    ✅ “点一份水煮鱼盖饭,不要辣,送到家里”

  2. 保持网络稳定
    使用 WiFi 而非移动数据,减少加载失败概率

  3. 关闭无关通知
    避免来电、消息弹窗打断操作流程

  4. 定期清理缓存
    美团/饿了么 App 缓存过多会影响加载速度


8. 更多应用场景拓展

点外卖只是冰山一角。Open-AutoGLM 的潜力远不止于此。我已经在尝试以下几个新玩法:

8.1 自动刷短视频并点赞喜欢的内容

指令:

打开抖音,浏览推荐页,如果看到科技类视频且点赞数超过1万,就双击点赞

用途:打造个性化内容互动机器人,辅助运营账号。

8.2 每日健康打卡自动化

指令:

打开企业微信,进入工作台,找到“每日健康打卡”,填写体温36.5℃,提交

用途:避免忘记打卡被扣绩效,尤其适合上班族。

8.3 跨平台比价购物助手

指令:

分别打开京东和拼多多,搜索“iPhone 15 Pro 256G”,对比价格,把便宜的那个链接发给我

用途:帮你省下每一分钱。


9. 总结

通过这次实践,我深刻体会到 Open-AutoGLM 的强大之处。它不仅仅是一个自动化工具,更是一种全新的交互范式——用自然语言直接操控手机

整个项目的搭建过程并不复杂,只要你会基本的命令行操作,就能在半天内跑通全流程。而且由于它是开源的,你可以自由修改代码、扩展功能、适配更多 App。

未来,我希望把这个系统做成一个“家庭数字助理”:

  • 早上自动点好早餐
  • 中午提醒吃药并播放音乐
  • 晚上回家前打开空调
  • 睡前自动关闭所有灯

这一切,只需要一句语音:“我回来了”、“我困了”、“帮我安排一下生活”。

AI 不应该只是聊天机器人,它应该是我们生活的“隐形管家”。而 Open-AutoGLM,正在让这个愿景变得触手可及。


获取更多AI镜像

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

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

【Docker运行Python脚本无输出终极指南】:揭秘5大隐藏陷阱及排查技巧

第一章:Docker运行Python脚本无输出的典型现象与诊断起点在使用 Docker 容器化运行 Python 脚本时,开发者常遇到执行后无任何输出的情况。这种现象看似简单,实则可能由多种底层机制引发,包括标准输出未刷新、容器进程非前台运行、…

作者头像 李华
网站建设 2026/4/16 10:58:19

B站音频无损提取技术揭秘:专业级音乐资源管理解决方案

B站音频无损提取技术揭秘:专业级音乐资源管理解决方案 【免费下载链接】BilibiliDown (GUI-多平台支持) B站 哔哩哔哩 视频下载器。支持稍后再看、收藏夹、UP主视频批量下载|Bilibili Video Downloader 😳 项目地址: https://gitcode.com/gh_mirrors/b…

作者头像 李华
网站建设 2026/4/16 10:56:36

Cursor试用限制终极指南:5分钟重置机器码完整方案

Cursor试用限制终极指南:5分钟重置机器码完整方案 【免费下载链接】go-cursor-help 解决Cursor在免费订阅期间出现以下提示的问题: Youve reached your trial request limit. / Too many free trial accounts used on this machine. Please upgrade to pro. We have…

作者头像 李华
网站建设 2026/4/16 15:40:29

Hunyuan-MT-7B快速部署:1键启动脚本使用与调试指南

Hunyuan-MT-7B快速部署:1键启动脚本使用与调试指南 1. 为什么你需要这个翻译模型 你有没有遇到过这些场景? 收到一封密密麻麻的日文技术文档,想快速抓住重点却卡在专业术语上;客户发来一段维吾尔语的售后反馈,人工翻…

作者头像 李华
网站建设 2026/4/16 10:58:38

Axure RP 11中文界面完整汉化教程:从零到精通的5步实战指南

Axure RP 11中文界面完整汉化教程:从零到精通的5步实战指南 【免费下载链接】axure-cn Chinese language file for Axure RP. Axure RP 简体中文语言包,不定期更新。支持 Axure 9、Axure 10。 项目地址: https://gitcode.com/gh_mirrors/ax/axure-cn …

作者头像 李华
网站建设 2026/4/16 10:55:55

HashCheck文件校验工具:Windows安全防护的终极解决方案

HashCheck文件校验工具:Windows安全防护的终极解决方案 【免费下载链接】HashCheck HashCheck Shell Extension for Windows with added SHA2, SHA3, and multithreading; originally from code.kliu.org 项目地址: https://gitcode.com/gh_mirrors/ha/HashCheck …

作者头像 李华