news 2026/5/8 4:00:09

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
手把手教你部署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星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。

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

从边缘计算到混合语种优化|HY-MT1.5-7B翻译模型全场景应用

从边缘计算到混合语种优化&#xff5c;HY-MT1.5-7B翻译模型全场景应用 1. 引言&#xff1a;多语言翻译的现实挑战与技术演进 随着全球化进程加速&#xff0c;跨语言信息交互需求激增。传统翻译系统在面对混合语种输入、专业术语一致性和低延迟实时响应等场景时&#xff0c;往…

作者头像 李华
网站建设 2026/5/5 20:14:23

如何正确加载Qwen3-Embedding-0.6B并生成embedding?

如何正确加载Qwen3-Embedding-0.6B并生成embedding&#xff1f; 1. Qwen3-Embedding-0.6B 模型简介 Qwen3 Embedding 模型系列是 Qwen 家族中专为文本嵌入与排序任务设计的最新成员&#xff0c;基于 Qwen3 系列强大的密集基础模型构建。该系列提供多种参数规模&#xff08;0.…

作者头像 李华
网站建设 2026/5/3 11:02:33

YOLOv9实际应用场景:无人机航拍图像中的人群检测实现

YOLOv9实际应用场景&#xff1a;无人机航拍图像中的人群检测实现 1. 应用背景与问题提出 随着无人机技术的快速发展&#xff0c;其在城市监控、应急响应、交通管理以及大型公共活动安保等场景中的应用日益广泛。其中&#xff0c;人群检测作为关键任务之一&#xff0c;能够为人…

作者头像 李华
网站建设 2026/5/3 8:56:57

FSMN VAD服务器端口配置:7860端口冲突解决方案

FSMN VAD服务器端口配置&#xff1a;7860端口冲突解决方案 1. 背景与问题描述 FSMN VAD 是由阿里达摩院 FunASR 提供的轻量级语音活动检测模型&#xff0c;广泛应用于会议录音分析、电话质检、音频预处理等场景。该模型具备高精度、低延迟和小体积&#xff08;仅1.7M&#xf…

作者头像 李华
网站建设 2026/5/6 17:54:53

Z-Image-Turbo部署全记录,一次成功不走弯路

Z-Image-Turbo部署全记录&#xff0c;一次成功不走弯路 1. 阿里通义Z-Image-Turbo WebUI图像快速生成模型 二次开发构建by科哥 1.1 运行截图 欢迎使用 Z-Image-Turbo AI 图像生成 WebUI&#xff01;本文将带你完整复现从环境配置到服务启动的全过程&#xff0c;确保你一次部署…

作者头像 李华
网站建设 2026/4/29 1:25:34

SPI总线数据异常:从驱动层分析read返回255原因

SPI总线数据异常&#xff1a;为什么我的read()总是返回255&#xff1f;你有没有遇到过这种情况——在Linux下用C通过/dev/spidev0.0读取SPI设备&#xff0c;代码写得看似没问题&#xff0c;但每次read(fd, buf, 1)拿到的值都是255&#xff08;0xFF&#xff09;&#xff1f;而且…

作者头像 李华