news 2026/4/5 0:47:00

Open-AutoGLM部署教程:Python API远程调用详细步骤

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Open-AutoGLM部署教程:Python API远程调用详细步骤

Open-AutoGLM部署教程:Python API远程调用详细步骤

1. 技术背景与应用场景

随着多模态大模型的发展,AI智能体在移动端的应用逐渐成为研究热点。Open-AutoGLM 是由智谱开源的手机端 AI Agent 框架,基于视觉语言模型(VLM)实现对安卓设备的自动化操作。该框架能够理解用户以自然语言形式下达的任务指令,如“打开小红书搜索美食”,并结合屏幕图像识别、语义解析和动作规划能力,自动完成点击、滑动、输入等交互行为。

其核心组件 Phone Agent 构建于 AutoGLM-Phone 之上,通过 ADB(Android Debug Bridge)与设备通信,利用多模态感知技术实时分析手机界面内容,并生成可执行的操作序列。系统支持本地控制与远程调用两种模式,尤其适合需要长期运行或跨网络环境调试的场景。此外,为保障安全性,系统内置敏感操作确认机制,在涉及登录、支付或验证码输入时可暂停执行,交由人工接管。

本教程将重点介绍如何部署 Open-AutoGLM 控制端,并通过 Python API 实现对远程设备的连接与任务调度,帮助开发者快速搭建可扩展的移动端自动化测试或辅助系统。

2. 环境准备与依赖配置

2.1 硬件与软件要求

为确保 Open-AutoGLM 正常运行,需满足以下基础环境条件:

  • 操作系统:Windows 10/11 或 macOS 10.15+
  • Python 版本:建议使用 Python 3.10 或更高版本
  • 安卓设备:Android 7.0 及以上系统的真机或模拟器
  • ADB 工具包:用于设备连接与命令下发

2.2 安装并配置 ADB

ADB 是 Android SDK 的一部分,负责主机与安卓设备之间的通信。以下是不同平台下的安装与配置方法。

Windows 平台配置步骤:
  1. 下载 Android Platform Tools 压缩包。
  2. 解压至本地目录,例如C:\platform-tools
  3. 打开“运行”窗口(Win + R),输入sysdm.cpl,进入“系统属性”。
  4. 点击“高级”选项卡 → “环境变量” → 在“系统变量”中找到Path
  5. 添加新条目:C:\platform-tools
  6. 打开命令提示符,执行:
    adb version
    若返回版本信息,则表示配置成功。
macOS 平台配置方法:

假设解压后的文件位于~/Downloads/platform-tools,可在终端中执行以下命令添加路径:

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 调试

  1. 进入手机“设置” → “关于手机”。
  2. 连续点击“版本号”7次,直到提示“您已进入开发者模式”。
  3. 返回设置主界面,进入“开发者选项”。
  4. 启用“USB 调试”功能。

注意:部分厂商可能隐藏此菜单,需在“更多设置”或“系统更新”中查找。

3.2 安装 ADB Keyboard 输入法

由于自动化过程中无法依赖物理键盘输入文字,需借助虚拟输入法实现文本注入。

  1. 下载 ADB Keyboard APK 并安装到目标设备。
  2. 进入“设置” → “语言与输入法” → “默认键盘”。
  3. 选择“ADB Keyboard”作为当前输入法。

安装完成后,可通过 ADB 命令发送文本:

adb shell am broadcast -a ADB_INPUT_TEXT --es msg "Hello World"

若屏幕上弹出输入框并显示对应文字,则说明配置成功。

4. 部署 Open-AutoGLM 控制端代码

4.1 克隆项目仓库

在本地电脑上打开终端,执行以下命令获取 Open-AutoGLM 源码:

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

4.2 安装 Python 依赖

项目依赖多个第三方库,包括 PyTorch、transformers、Pillow 和 fastapi 等。建议在虚拟环境中进行安装:

python -m venv venv source venv/bin/activate # Linux/macOS # 或 venv\Scripts\activate.bat (Windows)

安装依赖项:

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

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

5. 设备连接方式详解

5.1 USB 连接方式

最稳定的连接方式是通过 USB 数据线直连。

  1. 使用数据线连接手机与电脑。
  2. 手机端弹出“允许 USB 调试?”对话框时,点击“允许”。
  3. 在终端执行:
    adb devices
    输出应类似:
    List of devices attached 1234567890ABCDEF device

若未显示设备,请检查 USB 接口、数据线质量及驱动是否正常。

5.2 WiFi 远程连接方式

对于远程调试或无线部署场景,推荐使用 ADB over TCP/IP。

步骤一:启用 TCP/IP 模式

首先通过 USB 连接设备,然后执行:

adb tcpip 5555

该命令将 ADB 监听端口设为 5555。

步骤二:断开 USB,通过 IP 连接

获取手机局域网 IP 地址(可在“设置”→“WLAN”中查看),例如192.168.1.100,然后执行:

adb connect 192.168.1.100:5555

再次运行adb devices应能看到设备以 TCP 连接方式列出。

提示:重启手机后需重新执行adb tcpip 5555,否则连接失效。

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

6.1 命令行方式启动任务

当服务端模型已部署完毕(如运行在云服务器上的 vLLM 服务),可通过命令行直接触发任务。

python main.py \ --device-id 192.168.1.100:5555 \ --base-url http://<云服务器公网IP>:8800/v1 \ --model "autoglm-phone-9b" \ "打开抖音搜索抖音号为:dycwo11nt61d 的博主并关注他!"

参数说明:

  • --device-id:设备标识,可通过adb devices获取。
  • --base-url:云端推理服务地址,格式为http://IP:PORT/v1
  • --model:指定使用的模型名称,需与服务端注册名一致。
  • 最后字符串:用户的自然语言指令。

程序会自动截取屏幕、上传至模型服务、接收动作指令并执行相应 ADB 操作。

6.2 使用 Python API 进行远程控制

除了命令行,Open-AutoGLM 提供了完整的 Python API,便于集成到其他系统中。

示例代码:设备连接管理
from phone_agent.adb import ADBConnection, list_devices # 创建 ADB 连接管理器 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}") else: print(f"启用 TCP/IP 失败: {message}") # 断开指定设备 conn.disconnect("192.168.1.100:5555")
核心功能说明:
  • connect():建立与设备的 ADB 连接,支持 IP:PORT 形式。
  • list_devices():获取当前所有连接的设备列表。
  • enable_tcpip(port):将设备切换至网络调试模式。
  • get_device_ip():查询设备当前的局域网 IP。
  • disconnect():安全断开连接。

这些接口可用于构建动态设备池管理系统,适用于大规模自动化测试平台。

7. 常见问题与排查指南

7.1 连接失败:Connection Refused

现象adb connect返回failed to connect

原因与解决方案

  • 云服务器防火墙未开放对应端口(如 8800)。请检查安全组规则,放行所需端口。
  • ADB 服务未正确监听 TCP 端口。确认执行了adb tcpip 5555
  • 设备与电脑不在同一局域网内。请确保两者处于相同 WiFi 网络。

7.2 ADB 频繁掉线

现象:连接中断,设备状态变为offline

可能原因

  • WiFi 信号不稳定,建议改用 USB 连接。
  • 手机休眠导致 ADB 断开。可在“开发者选项”中关闭“USB 调试超时”或保持屏幕常亮。
  • 多个 ADB 客户端争抢连接。确保只有一个进程在使用 ADB。

7.3 模型响应异常或乱码

现象:AI 返回无效动作、字符编码错误或长时间无响应。

排查方向

  • 检查vLLM启动参数是否包含正确的--max-model-len和显存分配。
  • 确认模型服务返回的是标准 JSON 格式,字段结构符合预期。
  • 查看日志是否有 OOM(内存溢出)或 CUDA 错误。

7.4 敏感操作未拦截

现象:AI 自动执行了支付或删除操作。

建议措施

  • 启用内置的“敏感操作确认机制”,在配置文件中设置关键词白名单。
  • 对涉及金融类 App 设置手动接管策略。
  • 定期审查动作日志,增强审计能力。

获取更多AI镜像

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

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

Qwen All-in-One回滚机制:出现问题快速恢复

Qwen All-in-One回滚机制&#xff1a;出现问题快速恢复 1. 引言 1.1 项目背景与挑战 在边缘计算和资源受限的部署环境中&#xff0c;AI服务的轻量化、高可用性与稳定性成为关键诉求。传统的多模型架构通常依赖多个独立模型&#xff08;如BERT用于情感分析&#xff0c;LLM用于…

作者头像 李华
网站建设 2026/3/27 14:32:22

儒意控股斥资1420万美元投资图生视频AI企业爱诗科技

雷递网 乐天 1月18日儒意控股&#xff08;股份代码&#xff1a;136&#xff09;日前宣布&#xff0c;公司的间接全资附属公司Virtual Cinema Entertainment与AIsphere等主体订立股份认购协议。据此&#xff0c;Virtual Cinema Entertainment有条件同意出资约1420万美元投资AIsp…

作者头像 李华
网站建设 2026/3/29 1:13:18

富友支付冲刺港股:10个月营收13亿 利润1亿 迟迟未能通过上市聆讯

雷递网 雷建平 1月18日上海富友支付服务股份有限公司&#xff08;简称&#xff1a;“富友支付”&#xff09;日前再次更新招股书&#xff0c;准备在港交所上市。富友支付2024年5月已交表&#xff0c;但近两年一直未能通过上市聆讯&#xff0c;迟迟无法完成上市。10个月营收13亿…

作者头像 李华
网站建设 2026/3/27 9:22:11

cv_resnet18模型结构解析:ResNet18骨干网络原理详解

cv_resnet18模型结构解析&#xff1a;ResNet18骨干网络原理详解 1. 技术背景与问题提出 在计算机视觉领域&#xff0c;深度卷积神经网络&#xff08;CNN&#xff09;已成为图像分类、目标检测和语义分割等任务的核心基础。然而&#xff0c;随着网络层数的加深&#xff0c;传统…

作者头像 李华
网站建设 2026/3/27 8:52:10

Qwen2.5-7B镜像推荐:3个最优配置,避免99%的部署坑

Qwen2.5-7B镜像推荐&#xff1a;3个最优配置&#xff0c;避免99%的部署坑 你是不是也经历过这样的场景&#xff1f;兴致勃勃想跑一个大模型&#xff0c;结果光是环境配置就花了三天&#xff1a;CUDA版本不对、PyTorch装不上、依赖冲突、显存爆了……最后还没跑起来&#xff0c…

作者头像 李华
网站建设 2026/3/26 13:06:55

DeepSeek-R1代码生成:辅助编程的实战应用案例

DeepSeek-R1代码生成&#xff1a;辅助编程的实战应用案例 1. 引言&#xff1a;本地化大模型在编程辅助中的价值 随着大语言模型技术的快速发展&#xff0c;代码生成能力已成为开发者提升效率的重要工具。然而&#xff0c;大多数高性能模型依赖昂贵的GPU资源和云端服务&#x…

作者头像 李华