临汾市网站建设_网站建设公司_云服务器_seo优化
2026/1/21 6:04:51 网站建设 项目流程

Open-AutoGLM部署技巧:快速获取设备IP地址的两种方法

Open-AutoGLM – 智谱开源的手机端AI Agent框架,为开发者提供了一种全新的自动化交互方式。它结合视觉语言模型与安卓系统底层控制能力,让自然语言指令可以直接转化为手机操作行为。

AutoGLM-Phone 是一个基于视觉语言模型的 AI 手机智能助理框架。它能以多模态方式理解屏幕内容,并通过 ADB 自动操控设备。用户只需用自然语言下指令,如“打开小红书搜美食”,模型即可解析意图、理解界面并自动规划、执行操作流程,无需手动点击。

Phone Agent 是一个基于 AutoGLM 构建的手机端智能助理框架,它能够以多模态方式理解手机屏幕内容,并通过自动化操作帮助用户完成任务。系统通过 ADB(Android Debug Bridge)来控制设备,以视觉语言模型进行屏幕感知,再结合智能规划能力生成并执行操作流程。用户只需用自然语言描述需求,如“打开小红书搜索美食”,Phone Agent 即可自动解析意图、理解当前界面、规划下一步动作并完成整个流程。系统还内置敏感操作确认机制,并支持在登录或验证码场景下进行人工接管。同时,它提供远程 ADB 调试能力,可通过 WiFi 或网络连接设备,实现灵活的远程控制与开发。

在实际部署过程中,一个关键步骤是准确获取安卓设备的 IP 地址,以便通过无线 ADB 实现远程连接。本文将详细介绍两种稳定高效的设备 IP 获取方法,助你顺利完成 Open-AutoGLM 的本地控制端配置。

1. 硬件与环境准备

在开始之前,请确保你的开发环境满足以下基本要求:

  • 操作系统:Windows 或 macOS 均可支持
  • Python 版本:建议使用 Python 3.10 及以上版本
  • 安卓设备:Android 7.0+ 的真实手机或模拟器
  • ADB 工具:用于与设备通信的核心工具包

安装并配置 ADB

ADB(Android Debug Bridge)是连接电脑与安卓设备的关键桥梁。你需要从官方 Android SDK 平台工具中下载platform-tools包。

Windows 配置步骤:
  1. 下载后解压platform-tools.zip到任意目录(例如C:\adb\
  2. 按 Win + R 输入sysdm.cpl,打开“系统属性”
  3. 进入“高级”选项卡 → “环境变量”
  4. 在“系统变量”区域找到Path,点击编辑 → 新建 → 添加 ADB 解压路径
  5. 打开命令提示符,输入adb version,若显示版本信息则表示配置成功
macOS 配置方法:

如果你使用的是 Mac,可以在终端中临时添加路径(重启失效):

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

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

验证方式相同:运行adb version查看输出。

2. 手机端设置

为了让电脑能顺利控制手机,需要在设备上开启必要的调试权限。

开启开发者模式

进入手机“设置” → “关于手机” → 连续点击“版本号”7次,直到提示“您已进入开发者模式”。

启用 USB 调试

返回设置主菜单 → “开发者选项” → 找到并勾选“USB 调试”。

注意:不同品牌手机可能对“开发者选项”的位置略有调整,请根据具体机型查找。

安装 ADB Keyboard(可选但推荐)

为了实现文本输入自动化,建议安装 ADB Keyboard APK:

  1. 下载 APK 文件并安装到手机
  2. 进入“设置” → “语言与输入法” → “默认键盘”
  3. 将输入法切换为“ADB Keyboard”

这样,AI Agent 就可以通过 ADB 发送文本,而无需依赖物理键盘或第三方输入法。

3. 部署控制端代码(Open-AutoGLM)

接下来,在本地电脑上部署 Open-AutoGLM 控制端。

克隆项目仓库

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

安装依赖库

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

这会安装所有必需的 Python 包,并将当前项目注册为可调用模块,便于后续脚本调用。

4. 设备连接方式概述

Open-AutoGLM 支持两种设备连接方式:USB 和 WiFi。其中,WiFi 连接更适用于远程调试和无线自动化场景,但前提是必须知道设备的局域网 IP 地址。

USB 连接测试

先通过 USB 线连接手机与电脑,然后运行:

adb devices

如果输出类似:

List of devices attached ABCDEF123 device

说明设备已正确识别。

启用无线 ADB(TCP/IP 模式)

首次使用 WiFi 连接时,需先通过 USB 设置端口监听:

adb tcpip 5555

此命令会让设备在 5555 端口启动 TCP/IP 调试服务。

断开 USB 后,即可通过 IP 地址连接:

adb connect 192.168.x.x:5555

连接成功后,再次运行adb devices应能看到设备以 IP 形式列出。


5. 快速获取设备IP地址的两种实用方法

在无线连接场景中,最关键也最容易出错的一步就是准确获取安卓设备的局域网 IP 地址。以下是两种经过验证、简单高效的方法,适用于绝大多数主流机型。

5.1 方法一:通过 ADB 命令直接查询(推荐)

这是最可靠且通用的方式,无需依赖第三方应用或手动查看设置界面。

步骤如下:
  1. 使用 USB 线连接手机与电脑
  2. 确保adb devices能看到设备
  3. 执行以下命令获取 IP 地址:
adb shell ip route | awk '{print $9}'

或者更兼容旧版系统的写法:

adb shell ifconfig wlan0 | grep 'inet addr:' | cut -d: -f2 | awk '{print $1}'

对于较新安卓系统(Android 8+),推荐使用:

adb shell ip addr show wlan0 | grep 'inet ' | awk '{print $2}' | cut -d/ -f1

说明wlan0是大多数安卓设备的无线网卡名称。该命令会输出形如192.168.1.100的 IP 地址。

自动化脚本示例(Python)

你可以将这一过程封装成函数,方便集成到控制程序中:

import subprocess def get_device_ip(): try: result = subprocess.run( ["adb", "shell", "ip", "route"], capture_output=True, text=True, check=True ) # 提取第九个字段(通常是IP) for line in result.stdout.splitlines(): if "wlan0" in line and "src" in line: return line.split()[8] except Exception as e: print(f"获取IP失败: {e}") return None # 调用示例 ip = get_device_ip() if ip: print(f"设备IP地址: {ip}")

这种方法的优势在于:

  • 不依赖图形界面
  • 可脚本化批量处理
  • 准确率高,适合自动化流程

5.2 方法二:通过手机设置界面手动查看(备用方案)

当 ADB 无法正常工作或网络异常时,可以采用手动方式查看。

操作路径(以原生安卓为例):
  1. 打开“设置” → “WLAN”
  2. 点击当前连接的 Wi-Fi 名称
  3. 查看“IP 地址”字段,通常位于底部信息区
不同品牌差异提示:
  • 小米/Redmi:进入 Wi-Fi 详情页后点击“高级设置”
  • 华为/Honor:可能需要展开“显示更多选项”
  • 三星:长按 Wi-Fi 名称 → 修改网络 → 显示高级选项 → IP 地址
  • OPPO/vivo:一般在“路由器信息”中可见

小技巧:部分手机支持“双击状态栏查看 IP”,可在开发者社区搜索对应机型是否支持。

虽然这种方式直观易懂,但在自动化部署中效率较低,仅建议作为排查问题时的辅助手段。


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

完成设备连接后,就可以启动 Open-AutoGLM 的主程序,让 AI 接管手机操作。

6.1 命令行方式运行任务

在项目根目录下执行:

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

参数说明:

  • --device-id:填写通过前述方法获取的设备 IP + 端口号(格式:IP:5555)
  • --base-url:指向运行 vLLM 或其他推理服务的公网地址
  • 最后的字符串:即自然语言指令,支持复杂语义理解和多步操作规划

6.2 使用 Python API 进行远程管理

除了命令行,Open-AutoGLM 还提供了完整的 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}") # (可选)启用 TCP/IP 并获取 IP success, message = conn.enable_tcpip(5555) ip = conn.get_device_ip() print(f"设备 IP: {ip}") # 断开连接 conn.disconnect("192.168.1.100:5555")

该 API 支持设备发现、连接管理、状态监控等功能,非常适合构建自动化测试平台或远程运维系统。


7. 常见问题与排查建议

在实际部署过程中,可能会遇到一些典型问题。以下是常见故障及其解决方案。

7.1 ADB 连接被拒绝或超时

  • 原因:防火墙阻止了 5555 端口,或设备未正确启用 TCP/IP
  • 解决方法
    • 检查手机是否执行了adb tcpip 5555
    • 确认路由器或电脑防火墙未屏蔽该端口
    • 尝试更换端口(如 5554、5556)

7.2 获取不到 IP 地址

  • 现象adb shell ip route返回空或错误
  • 可能原因
    • 设备未连接 Wi-Fi(处于飞行模式或仅使用数据网络)
    • ADB 权限未授权(首次连接需在手机上确认“允许调试”)
  • 应对措施
    • 确保 Wi-Fi 已连接且有网络访问权限
    • 拔插 USB 或重启 ADB 服务:adb kill-server && adb start-server

7.3 模型响应缓慢或乱码

  • 检查点
    • vLLM 服务是否正常运行
    • --base-url是否正确映射到模型服务端口
    • 显存是否足够(特别是运行 9B 模型时)
    • max-model-len参数是否设置合理(建议 ≥ 8192)

7.4 输入中文失败

  • 若使用 ADB Keyboard 仍无法输入中文:
    • 回到“语言与输入法”设置,确认 ADB Keyboard 已激活
    • 可尝试发送 Unicode 编码字符进行测试:
      adb shell am broadcast -a ADB_INPUT_TEXT --es msg "你好世界"

8. 总结

本文围绕 Open-AutoGLM 的部署核心环节——设备 IP 获取,详细介绍了两种实用方法:ADB 命令直查法手动设置查看法。前者适合自动化流程,后者可用于快速验证。

我们还完整梳理了从环境搭建、手机配置、代码部署到最终任务执行的全流程,并提供了 Python API 示例和常见问题解决方案,帮助开发者高效落地这一强大的手机端 AI Agent 框架。

掌握这些技巧后,你不仅能轻松实现“打开小红书搜美食”这类基础操作,还能进一步拓展至自动化测试、远程客服、批量账号运营等复杂场景。


获取更多AI镜像

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

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

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

立即咨询