当前位置: 首页 > news >正文

手把手教你部署Open-AutoGLM,让AI替你点外卖

手把手教你部署Open-AutoGLM,让AI替你点外卖

1. 引言

随着多模态大模型的快速发展,AI代理(Agent)正逐步从理论走向实际应用。Open-AutoGLM 是由智谱开源的一款基于视觉语言模型的手机端 AI Agent 框架,名为 AutoGLM-Phone。它能够通过 ADB(Android Debug Bridge)自动操控安卓设备,结合屏幕截图与自然语言理解能力,实现“你说指令,AI帮你操作”的智能体验。

例如,只需输入“打开小红书搜索美食”,系统即可自动解析意图、识别当前界面元素、规划点击路径,并完成整个操作流程。更进一步地,它可以执行复杂任务,如“在美团上点一份麦当劳巨无霸”。本文将带你从零开始,完整部署 Open-AutoGLM 控制端,连接真实设备,并实现自动化任务执行。

本教程属于实践应用类文章,重点在于工程落地和可复现性,涵盖环境配置、代码部署、设备连接、命令调用及常见问题排查,确保读者能快速上手并成功运行 AI 手机代理。


2. 环境准备与依赖安装

2.1 硬件与软件要求

为顺利部署 Open-AutoGLM,需准备以下软硬件环境:

  • 操作系统:Windows 或 macOS(推荐使用 macOS/Linux 避免路径兼容问题)
  • Python 版本:建议 Python 3.10 或以上版本
  • 安卓设备:Android 7.0+ 的真机或模拟器
  • ADB 工具:用于设备通信与控制
  • 网络环境:本地电脑与云服务器之间可互通,防火墙开放对应端口

2.2 安装 ADB 调试工具

ADB 是 Android SDK 的核心组件,用于与设备建立连接。

Windows 安装步骤:
  1. 下载 Android Platform Tools 并解压。
  2. 将解压目录添加到系统PATH环境变量中:
    • Win + R→ 输入sysdm.cpl→ 高级 → 环境变量
    • 在“系统变量”中的Path添加 ADB 解压路径
  3. 验证安装:
adb version

输出类似Android Debug Bridge version 1.0.41表示安装成功。

macOS 安装方法:

在终端执行以下命令(假设 platform-tools 解压至 Downloads 目录):

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

可将其写入.zshrc.bash_profile实现永久生效。


3. 手机端设置与权限配置

3.1 开启开发者模式与 USB 调试

  1. 进入手机“设置” → “关于手机”
  2. 连续点击“版本号”7次,直到提示“您已进入开发者模式”
  3. 返回设置主界面 → “开发者选项” → 启用“USB 调试”

注意:部分厂商(如小米、华为)还需额外开启“OEM 解锁”或“USB 安装”权限。

3.2 安装 ADB Keyboard 输入法

由于 AI 无法直接调用标准输入法进行文本输入,必须使用专为 ADB 设计的虚拟键盘。

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

安装后可通过以下命令测试输入:

adb shell am broadcast -a ADB_INPUT_TEXT --es msg "Hello_AI"

若手机输入框出现 "Hello_AI",说明配置成功。


4. 部署 Open-AutoGLM 控制端

4.1 克隆项目仓库

在本地电脑创建工作目录并克隆官方仓库:

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

当前测试基于master分支,最后一次 commit hash 为c2fe957fc47302c1356a8c80d758efd4724ddb5f,后续更新可能影响兼容性。

4.2 创建虚拟环境并安装依赖

推荐使用虚拟环境隔离依赖:

python3 -m venv .venv source .venv/bin/activate # Linux/macOS # 或 .venv\Scripts\activate # Windows

安装所需依赖:

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

其中-e .表示以开发模式安装,便于后续修改源码调试。

4.3 验证模型服务连通性

假设你已在云服务器部署了 vLLM 提供的推理服务,地址为http://<server_ip>:8000/v1,可通过内置脚本验证连接:

python scripts/check_deployment_cn.py \ --base-url http://<server_ip>:8000/v1 \ --model autoglm-phone-9b

预期输出应包含"Model is ready"和响应时间信息,表示模型服务正常。

若出现连接超时,请检查云服务器防火墙是否放行端口(如 8000),以及内网安全组策略。


5. 设备连接与远程控制

5.1 查看设备状态

确保手机通过 USB 连接电脑,执行:

adb devices

正常输出如下:

List of devices attached 10.42.0.85:46581 device

记录该设备 ID,后续用于指定目标设备。

5.2 使用 WiFi 进行无线连接(推荐)

长期运行建议使用无线 ADB,避免线缆干扰。

  1. 先通过 USB 连接,启用 TCP/IP 模式:
adb tcpip 5555
  1. 断开 USB,使用 IP 地址连接:
adb connect 192.168.x.x:5555
  1. 再次执行adb devices确认连接状态。

注意:设备与电脑需处于同一局域网下。

5.3 Python API 方式管理连接

除了命令行,也可通过编程方式控制连接:

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}") # 可选:获取设备局域网 IP ip = conn.get_device_ip() print(f"设备 IP: {ip}") # 断开连接 conn.disconnect("192.168.1.100:5555")

此方式适合集成进自动化系统或 Web 后台。


6. 启动 AI 代理并执行任务

6.1 命令行方式运行简单任务

启动主程序并下发自然语言指令:

python main.py \ --device-id 10.42.0.85:46581 \ --base-url http://<cloud_server_ip>:8000/v1 \ --model "autoglm-phone-9b" \ "打开抖音搜索抖音号为:dycwo11nt61d 的博主并关注他!"

参数说明:

  • --device-id:来自adb devices的设备标识
  • --base-url:云上 vLLM 服务的公网访问地址
  • --model:模型名称,固定为autoglm-phone-9b
  • 最后字符串:用户自然语言指令

执行过程中,AI 会周期性截屏、上传至模型、解析 UI 元素、生成动作(点击、滑动、输入等),最终完成任务。

6.2 处理首次运行报错:ADB Keyboard 检测问题

部分用户反馈首次运行时报错:

Error: ADB Keyboard not detected or not set as default.

尽管已正确安装并设置默认输入法,但检测逻辑可能存在误判。临时解决方案是修改源码绕过检测:

编辑main.py文件第 127 行附近代码:

# 修改前 if not self._is_adb_keyboard_enabled(): raise RuntimeError("ADB Keyboard not detected...") # 修改后 # if not self._is_adb_keyboard_enabled(): # raise RuntimeError("ADB Keyboard not detected...") pass # 绕过检测

提醒:此为临时方案,建议后续关注官方修复补丁。

6.3 执行复杂任务:点外卖实战

尝试更高阶任务:“在美团上点一份麦当劳巨无霸”。

python main.py \ --device-id 10.42.0.85:46581 \ --base-url http://<cloud_server_ip>:8000/v1 \ --model "autoglm-phone-9b" \ "在美团上点个麦当劳巨无霸"

AI 将自动完成以下流程:

  1. 打开美团 App(若未安装则提示)
  2. 进入外卖模块
  3. 搜索“麦当劳”
  4. 进入店铺页查找“巨无霸汉堡”
  5. 加购并跳转结算页
  6. 提示用户手动支付(涉及敏感操作需人工确认)

整个过程耗时约 60–120 秒,取决于模型响应速度与设备性能。


7. 常见问题与排查建议

7.1 连接失败类问题

问题现象可能原因解决方案
adb devices无设备显示USB 调试未开启检查开发者选项
unauthorized设备未授权调试手机弹窗点击“允许”
connection refused防火墙阻断放行云服务器端口
failed to authenticateADB 密钥过期删除~/.android/adbkey重新连接

7.2 模型服务相关异常

问题现象可能原因解决方案
模型返回乱码或空响应显存不足或 max-model-len 设置不当调整 vLLM 启动参数,增加--max-model-len 8192
请求超时推理延迟过高升级 GPU 或降低 batch size
Tokenization 错误tokenizer 配置不匹配确保使用与训练一致的 tokenizer

7.3 AI 操作失败场景

场景原因分析应对策略
无法识别按钮文字屏幕分辨率过高或字体模糊缩小截图区域或增强对比度
输入中文失败ADB Keyboard 不支持中文当前版本仅支持英文输入,中文需手动补全
循环操作无进展模型陷入动作循环设置最大步数限制(如--max-steps 20

8. 总结

本文详细介绍了如何从零部署 Open-AutoGLM 这一手机端 AI Agent 框架,实现了“用自然语言驱动手机操作”的完整链路。我们完成了以下关键步骤:

  1. 环境搭建:配置 ADB 工具链与 Python 开发环境
  2. 设备准备:开启开发者权限并安装 ADB Keyboard
  3. 代码部署:克隆仓库、安装依赖、验证服务连通性
  4. 设备连接:支持 USB 与 WiFi 两种方式,推荐无线连接
  5. 任务执行:通过命令行或 API 下发指令,AI 自动完成操作
  6. 问题排查:总结常见错误及其解决方案

Open-AutoGLM 的出现标志着手机自动化进入了“语义驱动”时代。虽然目前仍存在响应慢、中文输入受限等问题,但其开源属性和模块化设计为二次开发提供了广阔空间。未来可结合本地轻量化模型、动作缓存机制、GUI 元素索引优化等方式提升效率。

对于开发者而言,该框架不仅可用于个人效率工具开发,还可拓展至自动化测试、无障碍辅助、远程运维等多个领域。


获取更多AI镜像

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

http://www.cnnetsun.cn/news/686781.html

相关文章:

  • VibeThinker-1.5B在教育场景的应用前景展望
  • PyTorch-2.x-Universal-Dev-v1.0部署案例:支持多人协作的共享开发环境搭建
  • 5分钟搞定文档解析!OpenDataLab MinerU一键提取PDF表格与公式
  • 没显卡怎么跑Qwen3-VL-8B?云端镜像5分钟部署,2块钱试一下午
  • Youtu-2B显存不足怎么办?显存优化部署实战详解
  • 学术研究助手来了!MinerU论文解析部署教程一键搞定
  • 真实场景挑战:手写体文字检测效果实测
  • AI二维码生成进阶:ControlNet精准控制技法
  • 手把手实现OCR自动化:DeepSeek-OCR-WEBUI快速上手指南
  • Glyph文化遗产保护:古籍图像文字识别部署案例
  • 一键启动GLM-TTS,AI方言语音快速生成实操记录
  • CosyVoice-300M Lite启动慢?启动加速与资源优化指南
  • Z-Image-Turbo真实场景:电商平台主图自动生成系统搭建教程
  • 高效语音理解方案:SenseVoice Small镜像快速上手
  • Llama3-8B能否预测股价?金融时序分析可行性探
  • 小白也能懂:用Fun-ASR-MLT-Nano-2512实现会议录音自动转写
  • AnimeGANv2商业应用案例:婚纱照转动漫成本仅需3元/张
  • 资源高效+高精度识别|PaddleOCR-VL-WEB在实际场景中的应用
  • 国产开源 ! 不用学K8s也能玩转云原生
  • 无需数据训练:即时艺术生成技术详解
  • Emotion2Vec+ Large语音情感识别系统推荐采样率与文件大小限制
  • 动手试了Qwen-Image-Edit-2511,AI换装太真实了
  • Linux操作系统(2)
  • 12款智能论文辅助软件测评:数学建模论文快速复现与格式精细调整指南
  • 基于51/STM32单片机老人防跌智能拐杖GSM短信北斗定位地图无线设计(设计源文件+万字报告+讲解)(支持资料、图片参考_相关定制)_文章底部可以扫码
  • Qt UDP通信:缓冲区大小设置技巧
  • 智能化学术写作:7款AI工具集成LaTeX与格式标准化
  • 【毕业设计】基于机器学习python-CNN深度学习图像识别相似的中药材
  • 深度学习计算机毕设之基于python-CNN卷神经网络深度学习图像识别相似的中药材
  • 深度学习毕设项目:基于python-CNN深度学习图像识别相似的中药材