Open-AutoGLM实操手册:从零部署手机AI助理并运行搜索任务
1. 引言
1.1 技术背景与应用场景
随着大模型技术的快速发展,AI Agent 正逐步从理论走向实际应用。在移动端,用户每天需要执行大量重复性操作,如打开应用、搜索内容、关注账号等。传统方式依赖手动点击,效率低下且容易出错。Open-AutoGLM 是由智谱开源的一款基于视觉语言模型(VLM)的手机端 AI 助理框架,旨在通过自然语言指令驱动自动化任务执行。
该系统结合了多模态理解能力与设备控制能力,能够“看懂”手机屏幕内容,并通过 ADB(Android Debug Bridge)完成点击、滑动、输入等操作。用户只需说一句“打开小红书搜美食”,AI 即可自动解析意图、识别界面元素、规划动作序列并执行全流程,真正实现“动口不动手”的智能交互体验。
1.2 核心价值与技术亮点
Open-AutoGLM 的核心优势在于其端云协同架构和强大多模态感知能力:
- 多模态理解:利用视觉语言模型对手机屏幕截图进行语义解析,理解当前界面状态。
- 自然语言驱动:支持中文自然语言指令输入,无需编写脚本或代码。
- 自动化执行:基于 ADB 实现真机操控,覆盖点击、滑动、文本输入等常见操作。
- 远程调试支持:支持 WiFi 连接设备,便于远程开发与测试。
- 安全机制完善:内置敏感操作确认机制,在涉及登录、支付等场景时可暂停并交由人工接管。
本文将带你从零开始,完整部署 Open-AutoGLM 框架,连接真实安卓设备,并成功运行一个典型的搜索+关注任务。
2. 环境准备与硬件配置
2.1 本地电脑环境要求
为确保控制端顺利运行,请确认以下软硬件条件已满足:
| 项目 | 要求 |
|---|---|
| 操作系统 | Windows 10/11 或 macOS Monterey 及以上版本 |
| Python 版本 | 3.10 或更高版本(推荐使用虚拟环境) |
| 内存 | ≥8GB(建议16GB) |
| 存储空间 | ≥5GB 可用空间 |
| 网络 | 稳定的互联网连接(用于下载依赖及调用云端模型) |
提示:建议使用
conda或venv创建独立 Python 环境以避免依赖冲突。
2.2 安卓设备准备
你需要一台运行 Android 7.0 或更高版本的真实手机或模拟器。推荐使用物理设备以获得最佳兼容性和响应速度。
必要设置项:
开启开发者模式
- 进入「设置」→「关于手机」→ 连续点击「版本号」7次,直到提示“您已进入开发者模式”。
启用 USB 调试
- 返回「设置」→「系统」→「开发者选项」→ 开启「USB 调试」。
安装 ADB Keyboard 输入法
- 下载 ADB Keyboard APK 并安装。
- 在「设置」→「语言与输入法」→「默认键盘」中切换为 ADB Keyboard。
- 此输入法允许通过 ADB 命令发送文本,解决模型无法直接输入中文的问题。
3. ADB 工具安装与配置
ADB(Android Debug Bridge)是连接电脑与安卓设备的核心工具,必须正确配置才能实现设备控制。
3.1 Windows 平台配置
- 下载 Android SDK Platform Tools。
- 解压至本地目录,例如
C:\platform-tools。 - 配置系统环境变量:
- 按
Win + R,输入sysdm.cpl打开系统属性。 - 点击「高级」→「环境变量」。
- 在「系统变量」中找到
Path,点击编辑 → 新建 → 添加解压路径。
- 按
- 验证安装:
adb version输出类似Android Debug Bridge version 1.xx.xx表示配置成功。
3.2 macOS 平台配置
打开终端,执行以下命令(假设文件解压到 Downloads 目录):
export PATH=${PATH}:~/Downloads/platform-tools为永久生效,可将其添加到 shell 配置文件中(如.zshrc):
echo 'export PATH=${PATH}:~/Downloads/platform-tools' >> ~/.zshrc source ~/.zshrc验证命令同上:
adb version4. 部署 Open-AutoGLM 控制端
4.1 克隆项目仓库
在本地工作目录下执行:
git clone https://github.com/zai-org/Open-AutoGLM cd Open-AutoGLM4.2 安装 Python 依赖
建议先创建虚拟环境:
python -m venv venv source venv/bin/activate # Linux/macOS # 或 venv\Scripts\activate.bat (Windows)安装依赖包:
pip install -r requirements.txt pip install -e .注意:部分依赖可能因网络问题安装失败,建议使用国内镜像源(如清华、阿里云)加速。
5. 设备连接方式详解
5.1 USB 连接(推荐初学者使用)
- 使用数据线将手机连接电脑。
- 手机弹出“允许 USB 调试?”对话框时,点击“允许”。
- 在命令行检查设备是否识别:
adb devices预期输出:
List of devices attached ABCDEF1234567890 device若显示unauthorized,请重新插拔并确认授权。
5.2 WiFi 远程连接(适用于无线调试)
首次需通过 USB 启用 TCP/IP 模式:
adb tcpip 5555断开 USB 后,使用设备 IP 地址连接:
adb connect 192.168.x.x:5555可通过以下命令获取设备 IP:
adb shell ip route | awk '{print $9}'再次执行adb devices应能看到设备在线。
优势:摆脱线缆束缚,适合长时间自动化测试或远程部署。
6. 启动 AI 代理并执行任务
6.1 准备云端模型服务
Open-AutoGLM 的推理能力依赖于后端部署的 VLM 模型(如autoglm-phone-9b)。你需提前在云服务器上使用 vLLM 或其他推理框架部署该模型,并开放 API 接口。
启动示例(vLLM):
python -m vllm.entrypoints.openai.api_server \ --model zhipu-autoglm/autoglm-phone-9b \ --host 0.0.0.0 \ --port 8800 \ --max-model-len 4096确保防火墙放行对应端口(如 8800),并通过公网 IP 提供访问。
6.2 命令行方式启动任务
在本地 Open-AutoGLM 目录下运行主程序:
python main.py \ --device-id ABCDEF1234567890 \ --base-url http://<your-server-ip>:8800/v1 \ --model "autoglm-phone-9b" \ "打开抖音搜索抖音号为:dycwo11nt61d 的博主并关注他!"参数说明:
| 参数 | 说明 |
|---|---|
--device-id | 通过adb devices获取的设备 ID |
--base-url | 云端模型服务的 OpenAI 兼容接口地址 |
--model | 模型名称,需与服务端一致 |
| 最后字符串 | 用户自然语言指令 |
6.3 Python API 方式集成与扩展
对于更复杂的集成需求,可使用 SDK 提供的 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}") # 启用 TCP/IP 模式(仅 USB 连接时有效) success, message = conn.enable_tcpip(5555) if success: ip = conn.get_device_ip() print(f"设备 IP: {ip}") # 断开指定设备 conn.disconnect("192.168.1.100:5555")此方式适合嵌入到更大系统中,实现批量设备管理或多任务调度。
7. 实际任务执行流程解析
以“打开抖音搜索特定账号并关注”为例,AI 代理的工作流程如下:
- 指令解析:NLP 模块识别关键词“抖音”、“搜索”、“抖音号”、“关注”。
- 启动应用:通过 ADB 命令
am start -n com.ss.android.ugc.aweme/.main.MainActivity打开抖音。 - 界面感知:截取当前屏幕图像,送入 VLM 模型分析 UI 元素布局。
- 定位搜索框:模型识别“首页”界面中的“放大镜”图标或“搜索”文字按钮。
- 执行点击:调用
input tap <x> <y>触发点击。 - 输入账号名:通过 ADB Keyboard 发送文本
dycwo11nt61d。 - 触发搜索:模拟回车键或点击“搜索”按钮。
- 查找目标用户:解析搜索结果页,匹配用户名。
- 执行关注操作:识别“关注”按钮坐标并点击。
- 返回结果:任务完成后输出日志:“已成功关注用户 dycwo11nt61d”。
整个过程无需人工干预,平均耗时约 15–30 秒,具体取决于网络延迟和设备性能。
8. 常见问题与排查指南
8.1 连接类问题
| 问题现象 | 可能原因 | 解决方案 |
|---|---|---|
adb devices无输出 | 驱动未安装 / USB 调试未开启 | 重装驱动,检查开发者选项 |
显示unauthorized | 未授权调试 | 重新插拔,手机端点击“允许” |
adb connect失败 | IP 错误 / 端口未监听 | 检查设备 IP,确认adb tcpip 5555已执行 |
8.2 模型调用问题
| 问题现象 | 可能原因 | 解决方案 |
|---|---|---|
| 模型无响应 | 服务未启动 / 网络不通 | 检查云服务器状态,telnet 测试端口 |
| 返回乱码或错误格式 | API 接口不兼容 | 确保使用 OpenAI 格式/v1/chat/completions |
| 推理超时 | max-model-len 设置过小 | 调整至 4096 或更高 |
8.3 安全与稳定性建议
- 敏感操作拦截:系统默认会对“付款”、“删除”等关键词进行拦截,需人工确认。
- 异常恢复机制:建议加入超时重试逻辑,防止某一步骤卡死导致整体失败。
- 日志监控:开启详细日志输出(
--verbose),便于调试和复盘。
9. 总结
9.1 核心收获回顾
本文系统介绍了如何从零部署 Open-AutoGLM 框架,实现基于自然语言指令的手机自动化操作。我们完成了以下关键步骤:
- 配置 ADB 环境,打通电脑与安卓设备通信链路;
- 安装 Open-AutoGLM 控制端,构建本地执行环境;
- 支持 USB 与 WiFi 两种连接模式,提升灵活性;
- 成功调用云端 VLM 模型,实现多模态理解与任务规划;
- 完成典型搜索+关注任务,验证端到端可用性。
9.2 最佳实践建议
- 优先使用 USB 调试:初期调试阶段建议使用有线连接,稳定性更高。
- 保持屏幕常亮:可在开发者选项中设置“充电时不休眠”或使用
adb shell settings put system screen_off_timeout 1800000延长熄屏时间。 - 定期更新模型:关注官方仓库更新,及时获取更强大的 VLM 版本。
- 构建任务模板库:将常用指令保存为脚本,提高复用率。
Open-AutoGLM 不仅是一个技术原型,更是迈向通用手机 AI 助理的重要一步。未来可进一步拓展至跨应用流程自动化、语音唤醒、长期记忆等功能,打造真正的“数字分身”。
获取更多AI镜像
想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。