Open-AutoGLM+ADB配置详解,小白也能一次成功
@TOC
1. 前言
在移动设备高度普及的今天,用户每天需要重复大量操作:点外卖、刷短视频、回复消息、比价购物……这些看似简单的任务累积起来却消耗了大量时间。Open-AutoGLM 是由智谱AI开源的一款手机端AI Agent框架,它通过自然语言指令驱动自动化操作,真正实现了“动口不动手”的智能体验。
该框架基于视觉语言模型(VLM)与 ADB(Android Debug Bridge)技术深度融合,能够理解屏幕内容并自动执行点击、滑动、输入等操作。无论是“打开小红书搜索美食推荐”还是“在京东查找某款商品并加入购物车”,只需一句话,AI即可代为完成全流程。
本文将从零开始,详细讲解 Open-AutoGLM 的完整部署流程,涵盖环境准备、ADB配置、代码部署和常见问题排查,确保即使是技术新手也能一次成功运行。
2. 项目核心原理与架构解析
2.1 核心工作机制
Open-AutoGLM 的工作流程是一个典型的“感知-决策-执行”闭环系统:
- 屏幕捕获:通过 ADB 实时获取手机当前界面截图。
- 多模态理解:将截图与用户自然语言指令一起送入 AutoGLM 视觉语言模型进行联合分析。
- 动作规划:模型输出下一步应执行的操作类型(如点击坐标、滑动路径、文本输入等)。
- 指令执行:通过 ADB 向设备发送对应命令,模拟真实用户行为。
- 循环迭代:持续监控任务状态,直到目标完成或达到最大步数限制。
这种设计使得 AI 不仅能“看懂”界面元素,还能结合上下文语义做出合理判断,具备较强的泛化能力。
2.2 系统架构组成
| 模块 | 功能说明 |
|---|---|
| 客户端(Control End) | 部署在本地电脑上的控制程序,负责调用模型API、管理ADB连接、调度任务执行 |
| 服务端(Model Server) | 托管 AutoGLM-Phone 模型的服务,可部署在本地GPU服务器或使用云平台API |
| 安卓设备(Target Device) | 被控手机,需开启开发者模式和USB调试,支持真机或模拟器 |
| ADB 工具链 | 实现电脑与手机之间的通信桥梁,用于截屏、输入、点击等底层操作 |
整个系统采用模块化设计,各组件解耦清晰,便于扩展和维护。
3. 环境搭建与设备准备
3.1 硬件与软件要求
| 类别 | 推荐配置 |
|---|---|
| 操作系统 | Windows 10/11 或 macOS Monterey 及以上版本 |
| Python 版本 | Python 3.10 或更高版本(建议使用虚拟环境) |
| 安卓设备 | Android 7.0+ 的真实手机或 Android Studio 模拟器 |
| ADB 工具 | 平台工具包 platform-tools 最新版本 |
| 网络环境 | 设备与电脑处于同一局域网(WiFi连接方式必需) |
⚠️ 注意:不建议使用低版本Python(如3.8以下),部分依赖库可能存在兼容性问题。
4. ADB 配置全流程指南
4.1 下载与安装 ADB
前往 Android SDK Platform Tools 官方下载页 下载对应系统的压缩包。
Windows 配置步骤:
- 解压
platform-tools.zip到任意目录(例如C:\adb\)。 - 按下
Win + R输入sysdm.cpl打开系统属性。 - 进入“高级” → “环境变量”。
- 在“系统变量”中找到
Path,点击“编辑” → “新建”,添加 ADB 解压路径。 - 打开命令提示符,输入
adb version验证是否安装成功。
macOS 配置方法:
打开终端,执行以下命令(假设解压路径为~/Downloads/platform-tools):
export PATH=${PATH}:~/Downloads/platform-tools可将其写入.zshrc或.bash_profile文件以永久生效:
echo 'export PATH=${PATH}:~/Downloads/platform-tools' >> ~/.zshrc source ~/.zshrc验证命令:
adb version预期输出包含类似Android Debug Bridge version 1.xx.xx即表示成功。
4.2 手机端设置
步骤一:开启开发者选项
- 打开手机“设置” → “关于手机”。
- 连续点击“版本号”7次,直至提示“您已进入开发者模式”。
步骤二:启用 USB 调试
- 返回设置主界面,进入“开发者选项”。
- 开启“USB调试”开关。
- 当首次连接电脑时,手机会弹出授权对话框,请点击“允许”。
步骤三:安装 ADB Keyboard(关键!)
由于部分应用禁止非人工输入,必须使用 ADB Keyboard 来绕过限制。
- 下载 ADB Keyboard APK 并安装。
- 进入“设置” → “语言与输入法” → “默认键盘”。
- 选择“ADB Keyboard”作为当前输入法。
✅ 验证方式:在任意输入框长按 → 选择“输入法” → 确认 ADB Keyboard 已激活。
5. 控制端代码部署与依赖安装
5.1 克隆项目仓库
打开终端或命令行工具,执行以下命令:
git clone https://github.com/zai-org/Open-AutoGLM cd Open-AutoGLM5.2 创建虚拟环境(推荐)
python -m venv venv source venv/bin/activate # Linux/macOS # 或 venv\Scripts\activate # Windows5.3 安装依赖包
pip install -r requirements.txt pip install -e .💡 提示:若出现
torch安装缓慢问题,可使用国内镜像源加速:
bash pip install torch torchvision --index-url https://download.pytorch.org/whl/cu118
6. 设备连接方式详解
6.1 USB 连接模式(推荐初学者使用)
- 使用数据线将手机连接至电脑。
- 手机会弹出“允许USB调试?”提示,勾选“始终允许”后确认。
- 在终端执行:
adb devices预期输出如下:
List of devices attached ABCDEF1234567890 device只要显示device而非unauthorized或空列表,即表示连接成功。
6.2 WiFi 远程连接(适合无线调试)
适用于远程开发或无法使用数据线的场景。
第一步:通过USB启动TCP模式
adb tcpip 5555第二步:断开USB,连接WiFi IP
先查看手机IP地址(设置 → 关于手机 → 状态信息 → IP地址),然后执行:
adb connect 192.168.x.x:5555再次运行adb devices应能看到设备以 IP 形式列出。
🔧 小技巧:可通过 Python API 自动获取设备IP:
from phone_agent.adb import ADBConnection conn = ADBConnection() ip = conn.get_device_ip() print(f"设备IP: {ip}")7. 启动 AI 代理并执行任务
7.1 准备模型服务地址
Open-AutoGLM 支持多种模型接入方式,以下是三种主流方案:
| 方式 | base-url | model 参数 | 认证方式 |
|---|---|---|---|
| 智谱 BigModel | https://open.bigmodel.cn/api/paas/v4 | autoglm-phone | API Key |
| ModelScope 魔搭 | https://api-inference.modelscope.cn/v1 | ZhipuAI/AutoGLM-Phone-9B | API Key |
| 本地 vLLM 部署 | http://localhost:8000/v1 | autoglm-phone-9b | 无需认证 |
本地部署模型示例(需GPU):
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 80007.2 执行单条指令
python main.py \ --device-id ABCDEF1234567890 \ --base-url http://localhost:8000/v1 \ --model "autoglm-phone-9b" \ "打开抖音搜索抖音号为:dycwo11nt61d 的博主并关注他!"参数说明: ---device-id:通过adb devices获取的设备ID ---base-url:模型服务的OpenAI兼容接口地址 ---model:模型名称(需与服务端一致) - 最后字符串:用户的自然语言指令
7.3 使用 Python API 进行高级控制
from phone_agent.adb import ADBConnection, list_devices # 初始化连接管理器 conn = ADBConnection() # 连接远程设备 success, msg = conn.connect("192.168.1.100:5555") print(f"连接状态: {msg}") # 列出所有已连接设备 devices = list_devices() for d in devices: print(f"{d.device_id} - {d.connection_type.value}") # 启用TCP/IP模式(USB连接时) conn.enable_tcpip(5555) ip = conn.get_device_ip() print(f"设备IP: {ip}") # 断开连接 conn.disconnect("192.168.1.100:5555")此方式适合集成到自动化脚本或Web服务中。
8. 常见问题与解决方案
| 问题现象 | 可能原因 | 解决方案 |
|---|---|---|
adb devices显示 unauthorized | 未授权电脑调试权限 | 在手机上确认“允许USB调试”对话框 |
| 连接失败 / timeout | ADB未正确启动或网络不通 | 重启ADB服务:adb kill-server && adb start-server |
| 模型无响应或返回乱码 | 模型参数不匹配 | 检查max-model-len是否 ≥25480,mm-processor设置是否正确 |
| 输入文字失败 | ADB Keyboard 未启用 | 检查输入法设置,确保其为默认输入法 |
| 屏幕识别错误 | 截图分辨率过高或延迟大 | 降低设备分辨率或改用USB连接提升稳定性 |
| 防火墙阻止连接 | 云服务器未开放端口 | 在安全组中放行对应端口(如8000) |
🛠️ 调试建议:开启日志输出有助于定位问题:
bash python main.py --log-level DEBUG ...
9. 总结
Open-AutoGLM 作为一款开源的手机端AI Agent框架,凭借其强大的多模态理解能力和灵活的自动化执行机制,正在重新定义人机交互的方式。本文详细介绍了从环境搭建、ADB配置、代码部署到实际运行的完整流程,并提供了常见问题的解决方案。
通过本教程,即使是初学者也能顺利完成部署并体验“一句话操控手机”的神奇效果。未来随着模型优化和生态完善,这类AI助手有望广泛应用于个人效率提升、无障碍辅助、自动化测试等领域。
如果你希望进一步探索更多AI镜像和应用场景,不妨尝试一键部署相关预置环境,快速验证创意。
获取更多AI镜像
想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。