news 2026/1/27 2:21:08

Open-AutoGLM部署教程:真机连接adb devices验证方法

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Open-AutoGLM部署教程:真机连接adb devices验证方法

Open-AutoGLM部署教程:真机连接adb devices验证方法

Open-AutoGLM 是智谱开源的手机端AI Agent框架,它把大模型能力真正带到了移动设备交互场景中。不同于传统语音助手或简单自动化脚本,这个框架的核心在于“理解+规划+执行”的闭环——它不只识别屏幕,还能读懂界面逻辑、推断用户意图,并自主生成可执行的操作序列。

AutoGLM-Phone 作为其核心实现,是一个基于视觉语言模型的 AI 手机智能助理框架。它能以多模态方式理解屏幕内容,并通过 ADB 自动操控设备。用户只需用自然语言下指令,如“打开小红书搜美食”,模型即可解析意图、理解界面并自动规划、执行操作流程,无需手动点击。而 Phone Agent 则是基于 AutoGLM 构建的完整落地形态:它通过 ADB 控制安卓设备,用视觉语言模型做屏幕感知,再结合智能规划能力生成并执行动作链。你告诉它“打开抖音搜索抖音号为:dycwo11nt61d 的博主并关注他”,它就能自己点开App、输入搜索词、定位账号、点击关注——整个过程像一个真人操作员在替你完成任务。更关键的是,它内置了敏感操作确认机制,在登录页、验证码弹窗等场景会主动暂停,等待人工接管;同时支持 WiFi 或网络远程 ADB 连接,让调试和部署不再被数据线束缚。

下面我们就从零开始,手把手带你完成 Open-AutoGLM 控制端的本地部署,并重点讲清楚:如何真实、可靠地验证你的安卓设备已成功接入系统——也就是 adb devices 命令到底该怎么看、怎么信、怎么排错。

1. 环境准备:不是装完就完事,而是要“连得上、认得准”

在动手敲命令前,请先确认你的本地电脑和安卓设备都处于“可通信”状态。这不是一句空话——很多后续失败,根源都在这一步没走稳。

1.1 操作系统与基础工具

  • 操作系统:Windows 10/11 或 macOS Monterey 及以上(Linux 同理,但本文以 Win/macOS 为主)
  • Python 版本:建议使用 Python 3.10 或 3.11。太新(如 3.12)可能有兼容问题,太旧(如 3.8)则部分依赖无法安装
  • 安卓设备:Android 7.0(Nougat)及以上系统。推荐使用真机(Pixel、小米、华为、OPPO 等主流品牌均可),模拟器(如 Android Studio 自带的 Pixel 设备)也可用于前期测试,但部分权限和输入法行为与真机存在差异
  • ADB 工具:这是整套方案的“神经通路”。它不是某个软件,而是一组命令行工具(adb、fastboot 等)。你不需要单独下载完整 SDK,只需获取 platform-tools 即可

为什么强调 ADB?
Open-AutoGLM 不是靠 USB 数据传输图片,而是通过 ADB 发送 shell 命令、截取屏幕、模拟点击、输入文字。它依赖的是 ADB 的shell screencapinput tapinput text等能力。所以,adb devices能看到设备,只是第一步;adb shell getprop ro.build.version.release能返回版本号,才说明通信链路真正打通。

1.2 ADB 环境变量配置(关键!别跳过)

很多人卡在adb: command not found,其实只是路径没加对。我们分平台说明:

Windows 用户(推荐方式)
  1. 去 Android SDK Platform-Tools 官网 下载最新 zip 包(如platform-tools-latest-windows.zip
  2. 解压到一个固定路径,例如C:\tools\platform-tools
  3. Win + R→ 输入sysdm.cpl→ 回车 → “高级”选项卡 → “环境变量”
  4. 在“系统变量”区域,找到Path→ 点击“编辑” → “新建” → 粘贴你解压的完整路径(如C:\tools\platform-tools
  5. 重启所有已打开的命令行窗口(非常重要!)
  6. 打开新终端,输入:
    adb version
    如果输出类似Android Debug Bridge version 1.0.41,说明配置成功。
macOS 用户(终端级生效)
  1. 同样下载 platform-tools,解压到~/Downloads/platform-tools(或其他你喜欢的位置)
  2. 打开 Terminal,运行:
    echo 'export PATH=$PATH:~/Downloads/platform-tools' >> ~/.zshrc source ~/.zshrc
  3. 验证:
    adb version

注意:如果你用的是 bash(老系统),请改写入~/.bash_profile;如果用了 Oh My Zsh 或其他 shell 管理器,请确保修改对应配置文件。source命令必须执行,否则当前终端不会加载新路径。

2. 手机端设置:三步到位,少一个都不行

光有电脑端还不够。安卓系统默认禁止 ADB 调试,必须手动开启。而且,Open-AutoGLM 需要向手机发送文字,普通输入法无法响应 ADB 指令,必须换用专用输入法。

2.1 开启开发者模式与 USB 调试

这是最常被忽略的“两步一关”:

  • 进入手机设置 → 关于手机 → 软件信息
  • 连续点击“版本号”7 次,直到弹出提示:“您现在处于开发者模式”
  • 返回上一级,进入设置 → 系统 → 开发者选项
  • 找到并开启“USB 调试”(部分厂商叫“USB调试(安全设置)”,也需一并开启)
  • (可选但推荐)开启“USB调试(认证)”“网络ADB调试”(用于后续 WiFi 连接)

验证小技巧:开启后,用 USB 线连接电脑,首次连接时手机会弹出“允许 USB 调试吗?”对话框,勾选“始终允许”,再点确定。这个授权只做一次,之后就不会再弹。

2.2 安装并启用 ADB Keyboard(文字输入的关键)

Open-AutoGLM 执行input text "xxx"时,需要一个能接收 ADB 指令的输入法。系统自带输入法通常不响应,必须换。

  • 下载ADBKeyboard.apk(可在 GitHub 搜索 “adb-keyboard”,推荐 https://github.com/senzhk/ADBKeyBoard)
  • 用浏览器或文件管理器安装(如提示“未知来源”,需在设置中临时开启“允许安装未知应用”)
  • 安装完成后,进入设置 → 语言与输入法 → 虚拟键盘 → 当前键盘
  • 默认输入法切换为 ADB Keyboard

怎么确认生效?
连接后,在命令行输入:

adb shell input text "test"

然后打开任意可输入文本的 App(如微信聊天框),看是否自动填入test。如果成功,说明输入通道已通。

3. 控制端部署:克隆、安装、验证三连击

现在软硬件都准备好了,我们来部署 Open-AutoGLM 的控制端代码。

3.1 克隆仓库与安装依赖

打开终端(Windows 用 PowerShell 或 CMD,macOS 用 Terminal),依次执行:

# 1. 克隆官方仓库 git clone https://github.com/zai-org/Open-AutoGLM cd Open-AutoGLM # 2. 创建虚拟环境(强烈推荐,避免包冲突) python -m venv venv source venv/bin/activate # macOS/Linux # venv\Scripts\activate # Windows # 3. 安装基础依赖 pip install --upgrade pip pip install -r requirements.txt # 4. 安装本地包(使 phone_agent 模块可导入) pip install -e .

提示:-e表示“开发模式安装”,意味着你修改phone_agent/下的代码后,无需重新安装就能生效,对调试极其友好。

3.2 验证 adb devices:不只是“看到”,更要“看懂”

这是本教程最核心的一节。很多人看到List of devices attached就以为万事大吉,结果运行main.py时却报错device not found。问题往往出在设备状态上。

正确的 adb devices 输出长这样:
$ adb devices List of devices attached 8A9X021234567890 device

注意两个关键点:

  • 第二行是设备 ID(一串字母数字组合),不是emulator-5554localhost:5555
  • 第三列是device,而不是offlineunauthorizedno permissions或空白
常见错误状态及修复方法:
状态含义解决方案
unauthorized手机弹窗没点“允许”,或点了“拒绝”断开重连 USB,手机上重新授权;或删除电脑~/.android/adbkey文件后重试
offlineADB 服务异常或 USB 连接不稳定重启 ADB 服务:adb kill-server && adb start-server;换 USB 线或接口
no permissions(Linux/macOS)权限不足运行sudo adb devices临时验证;长期方案是配置 udev 规则(Linux)或重装驱动(macOS)
空白(只有List of devices attached设备未被识别检查 USB 线是否支持数据传输(有些充电线不行);在手机通知栏下拉,确认 USB 连接模式是“文件传输”或“MTP”,不是“仅充电”

终极验证法:
不只看adb devices,还要立刻执行一条真实命令:

adb shell getprop ro.product.model

如果返回你的手机型号(如Xiaomi 13),说明 ADB 通信完全正常。这才是真正的“连得上”。

4. 连接方式详解:USB 是底线,WiFi 是自由

Open-AutoGLM 支持两种连接方式。USB 是必经之路,WiFi 是进阶能力。

4.1 USB 连接:最稳定、最推荐的入门方式

  • 用原装或高质量 USB 数据线连接手机与电脑
  • 确保手机已开启 USB 调试并授权
  • 运行adb devices,确认出现device状态
  • 记下设备 ID(如8A9X021234567890),这就是--device-id的值

4.2 WiFi 远程连接:摆脱线缆,实现真·远程控制

WiFi 连接必须先用 USB 成功连接一次,才能开启 TCP/IP 模式。

# 1. 用 USB 连接好设备后,开启 TCP/IP 模式(端口 5555 是标准) adb tcpip 5555 # 2. 断开 USB 线,确保手机和电脑在同一 WiFi 网络下 # 3. 查看手机 IP 地址(设置 → WLAN → 点击当前网络 → IP 地址) # 或用命令快速获取(需手机已 root 或开启 ADB 调试): adb shell ip addr show wlan0 \| grep 'inet ' # 4. 用 IP 连接(将 192.168.x.x 替换为你的手机 IP) adb connect 192.168.1.100:5555 # 5. 验证 adb devices # 应显示 192.168.1.100:5555 device

为什么推荐 WiFi?

  • 你可以把手机放在桌上,人坐在沙发上用笔记本远程操控
  • 支持多设备并行管理(adb connect多次调用)
  • 为后续部署到树莓派、Jetson 等边缘设备打下基础

5. 启动 AI 代理:从命令行到 API,两种姿势任选

一切就绪,现在让 AI 接管你的手机。

5.1 命令行一键启动(适合快速验证)

Open-AutoGLM/目录下,运行:

python main.py \ --device-id 8A9X021234567890 \ --base-url http://192.168.1.50:8800/v1 \ --model "autoglm-phone-9b" \ "打开抖音搜索抖音号为:dycwo11nt61d 的博主并关注他!"

参数说明:

  • --device-id:必须是你adb devices看到的真实设备 ID 或IP:port(如192.168.1.100:5555
  • --base-url:指向你已部署好的云服务地址(vLLM + API server),格式为http://<IP>:<PORT>/v1
  • 最后字符串:就是你要下达的自然语言指令,支持中文,越具体越好

🧪 首次运行建议:
先用简单指令测试,如"打开设置""返回桌面"。成功后再尝试复杂流程。观察终端输出的日志,重点关注Screen captured,Action planned,Executing tap at (x,y)等关键词。

5.2 Python API 编程接入(适合集成与二次开发)

如果你希望把 Open-AutoGLM 的能力嵌入自己的项目,直接调用 Python API 更灵活:

from phone_agent.adb import ADBConnection, list_devices # 初始化连接管理器 conn = ADBConnection() # 连接远程设备(WiFi) success, message = conn.connect("192.168.1.100:5555") print(f"连接状态: {message}") # 应输出 "Connected successfully" # 列出所有已连接设备 devices = list_devices() for device in devices: print(f"{device.device_id} - {device.connection_type.value}") # USB 或 TCP # (可选)为 USB 设备启用 WiFi 调试 if devices and devices[0].connection_type.value == "USB": success, msg = conn.enable_tcpip(5555) print(f"TCP/IP 启用: {msg}") ip = conn.get_device_ip() print(f"设备 IP: {ip}") # 断开连接 conn.disconnect("192.168.1.100:5555")

这段代码展示了完整的生命周期管理:连接 → 查询 → 配置 → 断开。它比裸adb命令更健壮,内置重试、超时、状态检查,是工程化集成的首选方式。

6. 常见问题排查:不是报错就重装,而是精准定位

遇到问题别慌,按顺序检查这三点:

6.1 ADB 层:通信是否真的畅通?

  • adb devices看不到设备?→ 回到第 2 节,重做手机设置和 USB 授权
  • adb shell进不去?→ 运行adb shell echo hello,看是否返回hello
  • adb shell input text不生效?→ 确认 ADB Keyboard 已设为默认输入法,并重启输入法服务(adb shell am broadcast -a ADB_INPUT_RESTART

6.2 网络层:云服务是否可达?

  • Connection refused?→ 检查云服务器防火墙(ufw statusiptables -L),确保--base-url中的端口已放行
  • Timeout?→ 在本地电脑 ping 云服务器 IP,确认网络连通;再用curl -v http://<IP>:8800/v1/models测试 API 是否响应

6.3 模型层:推理是否稳定?

  • ❌ 指令执行一半卡住?→ 检查 vLLM 启动日志,确认--max-model-len设置足够(建议 ≥ 8192),且 GPU 显存充足(9B 模型至少需 12GB VRAM)
  • ❌ 返回乱码或空响应?→ 检查--dtype是否为autohalf,避免float32导致显存溢出

最后提醒:
Open-AutoGLM 是一个仍在快速迭代的前沿项目。遇到未覆盖的问题,优先查看 GitHub Issues,或在#open-autoglmDiscord 频道提问。社区活跃,很多坑已被踩平。

7. 总结:你已经掌握了手机 AI Agent 的“第一公里”

这篇教程没有堆砌高深理论,而是聚焦一个最实际的动作:adb devices真正输出device,并让它成为你通往手机 AI 自动化的可靠起点。

你学会了:

  • 如何为不同系统正确配置 ADB 环境,避开“command not found”陷阱;
  • 手机端三步设置(开发者模式、USB调试、ADB Keyboard)缺一不可;
  • adb devices的每种状态代表什么,以及如何精准修复;
  • USB 与 WiFi 两种连接方式的实操细节和适用场景;
  • 从命令行快速验证,到 Python API 工程化集成的完整路径;
  • 遇到问题时,按 ADB → 网络 → 模型 三层结构高效排查。

下一步,你可以尝试:

  • 把指令换成“截图当前页面并保存到相册”
  • --debug参数启动,观察 AI 如何一步步拆解任务
  • 修改phone_agent/planner/下的规划逻辑,加入自己的业务规则

AI 智能体正在从云端走向指尖。而你,刚刚亲手点亮了那盏灯。


获取更多AI镜像

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

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

轻量级音乐播放器MoeKoeMusic:无广告听歌的开源解决方案

轻量级音乐播放器MoeKoeMusic&#xff1a;无广告听歌的开源解决方案 【免费下载链接】MoeKoeMusic 一款开源简洁高颜值的酷狗第三方客户端 An open-source, concise, and aesthetically pleasing third-party client for KuGou that supports Windows / macOS / Linux :electro…

作者头像 李华
网站建设 2026/1/25 2:06:05

探索Python工作流引擎:企业级应用的架构解析与深度实践

探索Python工作流引擎&#xff1a;企业级应用的架构解析与深度实践 【免费下载链接】SpiffWorkflow A powerful workflow engine implemented in pure Python 项目地址: https://gitcode.com/gh_mirrors/sp/SpiffWorkflow Python工作流引擎是构建企业级应用的核心组件&a…

作者头像 李华
网站建设 2026/1/25 2:05:48

Sambert合成语音不自然?情感参考音频调优实战案例

Sambert合成语音不自然&#xff1f;情感参考音频调优实战案例 1. 为什么Sambert开箱即用却总“念得像机器人” 你是不是也遇到过这种情况&#xff1a;下载了号称“多情感”的Sambert语音合成镜像&#xff0c;输入一段文案&#xff0c;点下生成——结果出来的声音确实能读准字…

作者头像 李华
网站建设 2026/1/25 2:05:37

微信推文配图神器,3分钟做出专业级视觉效果

微信推文配图神器&#xff0c;3分钟做出专业级视觉效果 1. 为什么微信推文配图总卡在“抠图”这一步&#xff1f; 你是不是也这样&#xff1a; 写好一篇干货满满的微信推文&#xff0c;配图却成了最大拦路虎&#xff1f; 找设计师&#xff1f;等三天。 用PS手动抠图&#xff…

作者头像 李华
网站建设 2026/1/25 2:05:33

蜂鸣器驱动电路驱动高噪声环境报警装置操作指南

以下是对您提供的博文内容进行 深度润色与专业重构后的技术文章 。我以一名深耕工业嵌入式系统十余年的工程师兼技术博主身份,重新组织逻辑、强化工程语感、剔除AI腔调,并注入大量一线调试经验与设计权衡思考,使其更贴近真实研发场景中的技术分享风格——既有原理穿透力,…

作者头像 李华
网站建设 2026/1/25 2:04:58

OpenModScan实战指南:开源Modbus调试工具效率提升全解析

OpenModScan实战指南&#xff1a;开源Modbus调试工具效率提升全解析 【免费下载链接】OpenModScan Open ModScan is a Free Modbus Master (Client) Utility 项目地址: https://gitcode.com/gh_mirrors/op/OpenModScan 作为工业自动化领域的关键协议&#xff0c;Modbus的…

作者头像 李华