Open-AutoGLM部署实战:Windows/macOS双系统环境搭建教程
Open-AutoGLM – 智谱开源的手机端AI Agent框架
AutoGLM-Phone 是一个基于视觉语言模型的 AI 手机智能助理框架。它能以多模态方式理解屏幕内容,并通过 ADB 自动操控设备。用户只需用自然语言下指令,如“打开小红书搜美食”,模型即可解析意图、理解界面并自动规划、执行操作流程,无需手动点击。
Phone Agent 是一个基于 AutoGLM 构建的手机端智能助理框架,它能够以多模态方式理解手机屏幕内容,并通过自动化操作帮助用户完成任务。系统通过 ADB(Android Debug Bridge)来控制设备,以视觉语言模型进行屏幕感知,再结合智能规划能力生成并执行操作流程。用户只需用自然语言描述需求,如“打开小红书搜索美食”,Phone Agent 即可自动解析意图、理解当前界面、规划下一步动作并完成整个流程。系统还内置敏感操作确认机制,并支持在登录或验证码场景下进行人工接管。同时,它提供远程 ADB 调试能力,可通过 WiFi 或网络连接设备,实现灵活的远程控制与开发。
1. 客户端与真机连接(本地电脑配置)
服务端准备就绪后,我们需要在本地电脑上配置控制端,通过 ADB 实现对安卓手机的远程操控,并调用云端部署的 AI 模型完成任务执行。整个过程不依赖手机内置应用,而是通过系统级调试接口实现精准控制。
本教程将带你从零开始,在 Windows 和 macOS 双系统环境下完成 Open-AutoGLM 的本地控制端部署,涵盖环境准备、ADB 配置、代码部署和实际运行全流程。
2. 硬件与软件环境准备
要顺利运行 Open-AutoGLM 控制端,需确保以下软硬件条件满足:
- 操作系统:Windows 10/11 或 macOS(推荐 Intel/M1 Mac)
- Python 版本:建议使用 Python 3.10 或更高版本
- 安卓设备:Android 7.0 及以上版本的真实手机或模拟器
- ADB 工具:用于设备通信的核心工具包
2.1 安装并配置 ADB
ADB(Android Debug Bridge)是连接电脑与安卓设备的关键桥梁。你需要先下载 Android SDK Platform Tools 并将其加入系统路径。
Windows 系统配置步骤:
- 访问 Android 开发者官网 下载
platform-tools压缩包。 - 解压到任意目录,例如
C:\platform-tools。 - 按下
Win + R,输入sysdm.cpl,打开“系统属性”。 - 进入“高级”选项卡 → “环境变量” → 在“系统变量”中找到
Path,点击“编辑”。 - 添加新条目:
C:\platform-tools(根据你的实际路径调整)。 - 打开命令提示符,输入:
若返回类似adb versionAndroid Debug Bridge version 1.xx.xx,说明配置成功。
macOS 系统配置方法:
macOS 用户可以直接在终端中临时添加路径,或永久写入 shell 配置文件。
# 假设 platform-tools 解压在 Downloads 目录下 export PATH=${PATH}:~/Downloads/platform-tools你可以将这行命令添加到~/.zshrc或~/.bash_profile中,使其开机自动生效:
echo 'export PATH=${PATH}:~/Downloads/platform-tools' >> ~/.zshrc source ~/.zshrc验证方式同上,运行adb version查看输出。
提示:如果你使用 Homebrew,也可以直接安装:
brew install android-platform-tools
3. 手机端设置:开启调试权限
为了让电脑能够控制手机,必须启用开发者模式和 USB 调试功能。
3.1 开启开发者选项
- 打开手机“设置”应用。
- 进入“关于手机”。
- 连续点击“版本号”7 次,直到提示“您已进入开发者模式”。
3.2 启用 USB 调试
- 返回“设置”主菜单,进入“开发者选项”。
- 找到“USB 调试”并勾选启用。
- 当你首次通过 USB 连接电脑时,手机会弹出授权提示,请点击“允许”。
3.3 安装 ADB Keyboard(关键!)
由于 AI Agent 需要自动输入文字(如搜索关键词),而大多数输入法无法被 ADB 直接控制,因此需要安装专用的虚拟键盘。
- 下载 ADB Keyboard APK(GitHub 开源项目)。
- 将 APK 文件传输到手机并安装。
- 进入“设置”→“语言与输入法”→“默认键盘”或“当前输入法”。
- 切换为ADB Keyboard。
注意:如果不设置此输入法,后续执行涉及文本输入的指令(如搜索、发消息)将失败。
4. 部署 Open-AutoGLM 控制端代码
现在我们开始在本地电脑部署控制端代码,它是连接设备与云端模型的中枢。
4.1 克隆项目仓库
打开终端或命令行工具,执行以下命令:
git clone https://github.com/zai-org/Open-AutoGLM cd Open-AutoGLM该项目包含完整的客户端逻辑、ADB 封装模块以及与 vLLM 兼容的 API 调用接口。
4.2 安装 Python 依赖
建议使用虚拟环境以避免依赖冲突:
python -m venv venv source venv/bin/activate # macOS/Linux # 或在 Windows 上: # venv\Scripts\activate安装所需依赖:
pip install -r requirements.txt pip install -e .其中-e .表示以可编辑模式安装当前包,便于后续调试修改。
5. 设备连接方式详解
Open-AutoGLM 支持两种设备连接方式:USB 有线连接和 WiFi 无线连接。推荐初学者先使用 USB 方式确保稳定性。
5.1 使用 USB 连接设备
使用数据线将手机连接至电脑。
手机弹出“允许 USB 调试?”对话框时,点击“允许”。
在终端运行:
adb devices输出应类似:
List of devices attached 1234567890abc device出现设备 ID 且状态为
device,表示连接成功。
5.2 使用 WiFi 进行远程连接(更灵活)
WiFi 连接适合长期运行或远程调试场景,但首次需通过 USB 初始化。
步骤如下:
先用 USB 连接设备。
在终端执行:
adb tcpip 5555这会启动 ADB 的 TCP/IP 监听模式,端口为 5555。
断开 USB 数据线。
获取手机 IP 地址(可在“设置”→“WLAN”中查看)。
执行连接命令:
adb connect 192.168.x.x:5555替换
192.168.x.x为你的手机局域网 IP。再次运行
adb devices,确认设备在线。
小技巧:若经常使用 WiFi 调试,可编写脚本自动获取 IP 并连接。
6. 启动 AI 代理并执行任务
一切准备就绪,现在可以启动 AI 代理,让它接管手机完成指定任务。
6.1 命令行方式运行任务
在项目根目录下执行:
python main.py \ --device-id <你的设备ID或IP:5555> \ --base-url http://<云服务器IP>:<映射端口>/v1 \ --model "autoglm-phone-9b" \ "打开抖音搜索抖音号为:dycwo11nt61d 的博主并关注他!"参数说明:
--device-id:来自adb devices的设备标识,如1234567890abc或192.168.1.100:5555--base-url:指向你部署的 vLLM 服务地址,格式为http://公网IP:端口/v1--model:指定使用的模型名称,目前固定为autoglm-phone-9b- 最后的字符串:你要下达的自然语言指令
例如完整命令可能是:
python main.py \ --device-id 192.168.1.100:5555 \ --base-url http://47.98.123.45:8800/v1 \ --model "autoglm-phone-9b" \ "打开小红书搜索最近热门的露营装备"执行后,你会看到 AI 开始分析屏幕截图、识别 UI 元素、生成操作序列,并逐步执行点击、滑动、输入等动作。
6.2 使用 Python API 编程调用
除了命令行,你还可以在自己的脚本中集成 Open-AutoGLM 的功能。
from phone_agent.adb import ADBConnection, list_devices # 创建 ADB 连接管理器 conn = ADBConnection() # 连接远程设备(WiFi) 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}") # (可选)为 USB 设备开启 TCP/IP 模式 success, message = conn.enable_tcpip(5555) if success: ip = conn.get_device_ip() print(f"设备 IP: {ip}") # 断开连接 conn.disconnect("192.168.1.100:5555")这个 API 接口非常适合嵌入到自动化测试平台、远程运维系统或个人数字助理中。
7. 常见问题与排查建议
在实际部署过程中,可能会遇到一些常见问题。以下是高频故障及解决方案。
7.1 ADB 连接失败或设备未识别
- 现象:
adb devices无输出或显示unauthorized - 原因:未授权调试或驱动问题
- 解决:
- 确保手机弹出授权框时点击“允许”
- Windows 用户可尝试安装 Google USB Driver
- 重启 ADB 服务:
adb kill-server && adb start-server
7.2 连接被拒绝(Connection Refused)
- 现象:
adb connect失败,提示“connection refused” - 原因:目标设备未开启 TCP/IP 模式或网络不通
- 解决:
- 先用 USB 执行
adb tcpip 5555 - 确保电脑与手机在同一局域网
- 检查防火墙是否阻止了 5555 端口
- 先用 USB 执行
7.3 模型无响应或返回乱码
- 现象:AI 不执行操作,或输出错误指令
- 原因:vLLM 服务异常或参数不匹配
- 解决:
- 检查云服务器上的 vLLM 是否正常运行
- 确认
--base-url地址正确且可访问(可用curl测试) - 核对模型最大上下文长度(max-model-len)是否足够(建议 ≥ 8192)
- 查看日志是否有 OOM(显存不足)报错
7.4 输入中文失败
- 现象:搜索框无法输入汉字
- 原因:未正确切换 ADB Keyboard 或输入法未激活
- 解决:
- 进入手机“语言与输入法”设置,确认 ADB Keyboard 已启用
- 在运行前手动切换一次输入法
- 可尝试发送测试指令:
adb shell am broadcast -a ADB_INPUT_TEXT --es msg "测试"
获取更多AI镜像
想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。