红河哈尼族彝族自治州网站建设_网站建设公司_页面加载速度_seo优化
2026/1/18 2:08:45 网站建设 项目流程

Open-AutoGLM步骤详解:从克隆仓库到首次运行全记录

1. 背景与核心价值

1.1 Open-AutoGLM:智谱开源的手机端AI Agent框架

Open-AutoGLM 是由智谱AI推出的开源项目,旨在构建一个可在移动端运行的AI智能体(Agent)框架。该框架基于视觉语言模型(VLM),结合Android Debug Bridge(ADB)实现对安卓设备的自动化控制。其核心目标是让AI具备“看懂屏幕、理解意图、自动操作”的能力,从而成为真正意义上的手机端AI助手。

与传统自动化脚本不同,Open-AutoGLM 不依赖固定UI路径或硬编码规则,而是通过多模态感知实时解析屏幕内容,并结合大模型的推理能力动态规划操作路径。这种“感知-决策-执行”闭环使得系统能够适应界面变化、处理复杂交互流程,极大提升了自动化任务的泛化能力和实用性。

1.2 AutoGLM-Phone 的技术定位

AutoGLM-Phone 是 Open-AutoGLM 框架的核心实现之一,专为手机场景设计。它利用视觉语言模型理解当前屏幕状态(如按钮位置、文本信息、布局结构),并通过自然语言指令驱动整个操作流程。例如用户输入“打开小红书搜索美食”,系统将自动完成以下动作:

  • 解析语义意图:识别“打开应用”、“关键词搜索”等子任务;
  • 屏幕感知:截图并分析当前界面元素;
  • 动作规划:决定点击、滑动、输入等操作序列;
  • 执行控制:通过 ADB 发送指令操控设备;
  • 反馈验证:确认操作结果是否符合预期。

此外,系统还内置了安全机制,在涉及敏感操作(如支付、权限授权)时会暂停并提示人工确认,支持在验证码、登录弹窗等不可控场景下进行人工接管。同时提供远程调试能力,可通过WiFi连接设备,便于开发测试和部署管理。


2. 环境准备与依赖配置

2.1 硬件与软件要求

要成功部署 Open-AutoGLM 控制端并在真机上运行AI代理,需满足以下基础环境条件:

类别要求
操作系统Windows 10+ 或 macOS 12+
Python版本建议使用 Python 3.10 或更高版本
安卓设备Android 7.0 及以上版本的手机或模拟器
ADB工具必须安装并正确配置环境变量
网络环境若使用远程连接,需确保本地电脑与云服务器/手机处于同一局域网

注意:推荐使用虚拟环境(如venvconda)隔离项目依赖,避免与其他Python项目产生冲突。

2.2 ADB 工具安装与配置

ADB(Android Debug Bridge)是连接和控制安卓设备的关键工具。以下是不同平台下的配置方法。

Windows 平台配置步骤
  1. 下载 Android SDK Platform Tools 并解压。
  2. 将解压后的文件夹路径添加至系统环境变量:
    • Win + R输入sysdm.cpl→ “高级” → “环境变量”
    • 在“系统变量”中找到Path,点击“编辑”
    • 添加 platform-tools 所在目录路径(如C:\platform-tools
  3. 验证安装:
adb version

若输出类似Android Debug Bridge version 1.xx.xx则表示配置成功。

macOS 平台配置方式

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

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

为永久生效,可将上述命令写入 shell 配置文件(如.zshrc.bash_profile):

echo 'export PATH=${PATH}:~/Downloads/platform-tools' >> ~/.zshrc source ~/.zshrc

再次运行adb version进行验证。


3. 手机端设置与连接准备

3.1 开启开发者选项与USB调试

在安卓设备上启用调试功能是建立 ADB 连接的前提。

  1. 进入设置 → 关于手机,连续点击“版本号”7次,直到提示“您已进入开发者模式”。
  2. 返回设置主菜单,进入开发者选项
  3. 启用USB调试(部分厂商还需开启“USB安装”、“USB调试(安全设置)”等附加选项)。

提示:某些品牌(如小米、华为)可能需要额外授权,请根据提示允许电脑调试权限。

3.2 安装 ADB Keyboard 输入法

由于自动化过程中可能需要文本输入(如搜索框、登录名),而标准ADB无法直接调用软键盘,因此需安装专用输入法:

  1. 访问 ADB Keyboard GitHub Release 页面 下载最新版 APK。
  2. 将 APK 文件传输到手机并安装。
  3. 进入设置 → 语言与输入法 → 默认键盘,选择ADB Keyboard作为当前输入法。

启用后,可通过 ADB 命令发送文本:

adb shell am broadcast -a ADB_INPUT_TEXT --es msg "hello world"

这将直接输入指定内容,无需手动点击。


4. 部署控制端代码与依赖安装

4.1 克隆 Open-AutoGLM 仓库

在本地电脑创建工作目录并拉取源码:

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

该项目包含完整的客户端逻辑、ADB封装模块以及与云端模型通信的接口。

4.2 安装 Python 依赖

建议先创建虚拟环境:

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

然后安装项目依赖:

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

其中-e .表示以可编辑模式安装当前包,便于后续修改调试。

常见问题:若出现torch安装失败,请访问 PyTorch官网 获取适配你系统的安装命令。


5. 设备连接方式详解

5.1 USB 连接模式(推荐用于调试)

使用数据线将手机连接至电脑,执行:

adb devices

正常情况下输出如下:

List of devices attached ABCDEF1234567890 device

若显示unauthorized,请检查手机是否弹出“允许USB调试?”对话框,并点击“允许”。

5.2 WiFi 远程连接模式(适合无线部署)

当希望脱离数据线、实现远程控制时,可使用 ADB over TCP/IP。

步骤一:通过USB启用TCP模式
adb tcpip 5555

此命令将设备监听在 5555 端口,等待网络连接。

步骤二:断开USB,使用IP连接

获取手机局域网IP地址(可在设置 → WLAN → 当前网络详情中查看),然后执行:

adb connect 192.168.x.x:5555

连接成功后,再次运行adb devices应能看到设备ID及tcpip标记。

优势:支持跨房间、跨设备远程调试;可用于无人值守自动化任务。


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

6.1 命令行方式启动主程序

一切准备就绪后,即可启动 AI 代理并下发自然语言指令。

python main.py \ --device-id <你的设备ID或IP:5555> \ --base-url http://<云服务器IP>:<映射端口>/v1 \ --model "autoglm-phone-9b" \ "打开抖音搜索抖音号为:dycwo11nt61d 的博主并关注他!"

参数说明:

参数说明
--device-id通过adb devices获取的设备标识符,支持物理ID或IP:端口格式
--base-url指向运行 vLLM 或其他推理服务的公网地址,格式为http://IP:PORT/v1
--model指定使用的模型名称,必须与后端注册的模型一致
最后字符串用户输入的自然语言指令,支持中文长句描述
示例完整命令(替换实际值):
python main.py \ --device-id 192.168.1.100:5555 \ --base-url http://47.98.123.45:8800/v1 \ --model autoglm-phone-9b \ "帮我打开微信,进入设置,清除缓存"

6.2 使用 Python API 实现远程连接管理

对于集成到其他系统或批量控制多个设备的场景,可使用内置的 Python 接口。

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}") # 在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 devices无设备显示USB调试未开启、驱动异常检查开发者选项,重插数据线,尝试更换线缆
显示unauthorized未授权电脑调试手机端确认“允许USB调试”弹窗
adb connect失败网络不通、端口未开放确保在同一局域网,关闭防火墙或开放5555端口

7.2 模型服务相关问题

问题现象可能原因解决方案
请求超时或返回空响应云服务器防火墙拦截检查安全组规则,放行对应端口(如8800)
返回乱码或格式错误vLLM 启动参数不匹配确认--max-model-len--dtype等参数与模型兼容
模型响应极慢GPU显存不足或batch过大调整--gpu-memory-utilization至0.8以下

7.3 安全与稳定性建议

  • 敏感操作防护:系统默认会在涉及支付、删除、权限变更等操作前暂停,等待人工确认。
  • 人工接管机制:遇到验证码、滑块验证、登录弹窗等情况,可通过日志提示手动介入。
  • 定期重启ADB服务:长时间运行可能导致 ADB 进程卡死,建议定时执行adb kill-server && adb start-server

8. 总结

Open-AutoGLM 提供了一个完整且可扩展的手机端AI Agent实现方案,融合了视觉语言模型的强大理解力与 ADB 的精确控制能力。本文详细记录了从环境搭建、代码部署、设备连接到最终运行的全流程,涵盖 USB 与 WiFi 两种连接模式,并提供了命令行与 Python API 两种调用方式。

通过本指南,开发者可以快速上手该项目,将其应用于自动化测试、辅助操作、无障碍服务、远程运维等多个实际场景。未来随着多模态模型能力的持续提升,此类AI代理有望进一步逼近“通用手机助手”的理想形态。

获取更多AI镜像

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

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询