Open-AutoGLM如何实现跨平台控制?USB/WiFi双模式部署教程

Open-AutoGLM如何实现跨平台控制?USB/WiFi双模式部署教程

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

你有没有想过,让AI直接帮你操作手机?不是简单的语音助手,而是真正“看得懂”屏幕、“想得清楚”下一步、“动得了手”完成整套流程的智能体。这就是Open-AutoGLM—— 智谱AI推出的开源手机端AI Agent框架。

它不是一个只能回答问题的聊天机器人,而是一个能“动手”的多模态智能助理。通过结合视觉语言模型(VLM)和安卓调试桥(ADB),Open-AutoGLM 能够理解手机屏幕上显示的内容,解析用户的自然语言指令,并自动规划出一系列点击、滑动、输入等操作,最终替你完成任务。比如你说:“打开小红书搜美食”,它就能自己启动App、进入搜索框、输入关键词、浏览结果,整个过程无需你动手。

这个项目的核心是AutoGLM-Phone,一个基于视觉语言模型构建的手机智能助理系统。它不仅能“看”屏幕,还能“思考”下一步该做什么,再通过 ADB 发送指令来“执行”。这种“感知-决策-行动”的闭环,正是AI Agent的核心能力。

更进一步,Phone Agent在此基础上做了工程化封装,提供了更稳定的远程控制能力、敏感操作确认机制,以及人工接管入口。这意味着你在使用时既安全又灵活——遇到登录或验证码,可以暂停让真人处理;同时支持WiFi连接,实现真正的远程操控。

本文将带你从零开始,完整部署 Open-AutoGLM 的控制端,在本地电脑上通过 USB 或 WiFi 连接真实安卓设备,调用云端运行的 AI 模型,实现跨平台的智能控制。无论你是开发者、自动化爱好者,还是对AI Agent感兴趣的技术探索者,都能快速上手。

2. 硬件与环境准备

在开始之前,先确保你的开发环境已经准备好。以下是最低配置要求:

  • 操作系统:Windows 或 macOS(Linux也可行,但本文以Win/Mac为主)
  • Python版本:建议使用 Python 3.10 或更高版本
  • 安卓设备:Android 7.0 及以上系统的手机或模拟器
  • ADB工具:Android Debug Bridge,用于与设备通信

2.1 安装并配置 ADB

ADB 是连接电脑与安卓设备的关键工具。你需要先下载 Android SDK Platform Tools 并将其加入系统路径。

Windows 用户配置步骤:
  1. 前往 Android 开发者官网 下载platform-tools压缩包。
  2. 解压到任意目录,例如C:\platform-tools
  3. 按下Win + R,输入sysdm.cpl,打开“系统属性”。
  4. 点击“高级” → “环境变量”。
  5. 在“系统变量”中找到Path,点击“编辑” → “新建”,添加刚才解压的路径(如C:\platform-tools)。
  6. 打开命令提示符(CMD),输入以下命令验证是否成功:
adb version

如果返回类似Android Debug Bridge version X.X.X,说明安装成功。

macOS 用户配置方法:

macOS 用户可以直接在终端中临时添加路径,或写入 shell 配置文件永久生效。

假设你把 platform-tools 解压到了~/Downloads/platform-tools,执行以下命令:

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

为了永久生效,你可以将这行代码写入.zshrc.bash_profile

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

再次运行adb version验证即可。

3. 手机端设置:开启调试权限

为了让电脑能够控制手机,必须在手机上启用开发者选项和USB调试功能。

3.1 开启开发者模式

  1. 打开手机“设置”应用。
  2. 进入“关于手机”。
  3. 找到“版本号”或“内部版本号”,连续点击7次。
  4. 屏幕会提示“您已进入开发者模式”。

3.2 启用 USB 调试

  1. 返回设置主界面,进入“系统” → “开发者选项”。
  2. 找到“USB调试”并勾选启用。
  3. 当你首次通过USB连接电脑时,手机会弹出授权提示,选择“允许”。

注意:不同品牌手机的菜单名称可能略有差异,请根据实际情况查找。

3.3 安装 ADB Keyboard(推荐)

默认情况下,AI无法向输入框发送文字。为了解决这个问题,建议安装ADB Keyboard,这是一个专为 ADB 设计的虚拟键盘。

  1. 前往 GitHub 下载 ADBKeyboard.apk。
  2. 将APK文件传到手机并安装。
  3. 进入“设置” → “语言与输入法” → “当前输入法”,切换为ADB Keyboard

这样,AI就可以通过 ADB 命令直接输入文本内容了。

4. 部署 Open-AutoGLM 控制端

现在我们已经在本地电脑和手机之间建立了基础通信能力,接下来部署 Open-AutoGLM 的控制代码。

4.1 克隆项目仓库

打开终端或命令行工具,执行以下命令:

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

4.2 安装依赖库

项目依赖多个Python库,包括 PyTorch、Transformers、Pillow 等。使用 pip 安装:

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

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

如果你使用的是 M1/M2 Mac,部分依赖可能需要额外处理,请参考官方文档中的适配说明。

5. 设备连接方式:USB vs WiFi

Open-AutoGLM 支持两种设备连接方式:USB有线连接WiFi无线连接。前者稳定可靠,适合调试;后者灵活自由,适合远程控制。

5.1 USB 连接方式

这是最简单直接的方式。

  1. 使用数据线将手机连接到电脑。
  2. 手机弹出“允许USB调试?”对话框时,点击“允许”。
  3. 在终端运行:
adb devices

你应该看到输出类似:

List of devices attached ABCDEF1234567890 device

只要状态是device,就表示连接成功。

5.2 WiFi 远程连接方式

如果你希望摆脱数据线束缚,可以通过WiFi进行远程控制。

注意:首次启用WiFi ADB必须先通过USB连接。

步骤如下:
  1. 先用USB连接设备,并确保adb devices显示正常。
  2. 在终端执行:
adb tcpip 5555

这条命令会让设备在5555端口监听TCP/IP连接。 3. 断开USB线。 4. 获取手机IP地址(可在“设置”→“WLAN”中查看,如192.168.1.100)。 5. 使用以下命令连接:

adb connect 192.168.1.100:5555
  1. 再次运行adb devices,你会看到:
List of devices attached 192.168.1.100:5555 device

连接成功!

小贴士:某些厂商(如华为、小米)可能会限制远程ADB,需在开发者选项中手动开启“无线调试”或“网络ADB”。

6. 启动 AI 代理:让AI接管手机

所有准备工作完成后,终于可以启动AI代理,让它替你操作手机了。

6.1 命令行方式运行任务

Open-AutoGLM根目录下,运行主程序:

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

参数说明:

  • --device-id:来自adb devices的设备标识,如果是WiFi连接,则填写IP:5555
  • --base-url:指向你部署在云服务器上的 vLLM 服务地址,格式为http://公网IP:端口/v1
  • --model:指定使用的模型名称,目前支持autoglm-phone-9b
  • 最后的字符串:你要下达的自然语言指令。

例如:

python main.py \ --device-id 192.168.1.100:5555 \ --base-url http://47.98.123.45:8800/v1 \ --model "autoglm-phone-9b" \ "打开小红书,搜索‘周末探店’,点赞前三条笔记"

运行后,你会看到AI逐步截图、分析界面、生成动作指令,并通过ADB执行点击、滑动等操作。整个过程就像有人在替你操作手机。

6.2 使用 Python API 实现远程控制

除了命令行,你也可以在自己的脚本中集成 Open-AutoGLM 的控制能力。

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")

这段代码展示了如何:

  • 动态连接设备
  • 查询设备信息
  • 获取IP地址
  • 管理连接生命周期

你可以将其嵌入到Web后台、自动化平台或CI/CD流程中,打造个性化的AI控制中心。

7. 常见问题与排查建议

尽管部署流程清晰,但在实际操作中仍可能出现一些问题。以下是常见故障及解决方案。

7.1 ADB 连接失败

现象adb devices显示unauthorized或无设备。

解决方法

  • 检查手机是否弹出“允许USB调试”对话框,务必点击“允许”。
  • 更换数据线或USB接口,有些线仅支持充电。
  • 重启 ADB 服务:
    adb kill-server adb start-server

7.2 WiFi 连接被拒绝

现象adb connect返回failed to connect

原因与对策

  • 手机与电脑不在同一局域网 → 确保两者连接同一个WiFi。
  • 防火墙阻止了5555端口 → 关闭防火墙或放行该端口。
  • 厂商限制 → 尝试在开发者选项中开启“无线调试”。
  • 设备未正确进入tcpip模式 → 重新执行adb tcpip 5555

7.3 模型无响应或乱码

现象:AI长时间不执行动作,或输出乱码指令。

可能原因

  • 云端 vLLM 服务未正确启动。
  • --base-url地址错误或端口未映射。
  • 模型参数不匹配,特别是max-model-len设置过小。

检查清单

  • 确认云服务器上 vLLM 已启动且监听正确端口。
  • 使用curl测试API连通性:
    curl http://<server-ip>:8800/v1/models
    应返回模型信息。
  • 查看日志是否有OOM(显存不足)报错,必要时降低max-model-len

7.4 输入中文失败

现象:AI尝试输入文字但无反应。

原因:未正确设置 ADB Keyboard 为默认输入法。

解决方法

  • 进入手机“语言与输入法”设置。
  • 将默认输入法切换为ADB Keyboard
  • 可通过以下命令测试输入:
    adb shell input text "HelloWorld"

8. 总结

Open-AutoGLM 是一个极具潜力的开源项目,它将视觉语言模型的能力延伸到了真实的移动设备操作层面。通过 ADB + VLM 的组合,实现了从“理解意图”到“执行动作”的完整闭环,真正迈出了AI Agent实用化的一步。

本文详细介绍了如何在本地电脑部署 Open-AutoGLM 控制端,通过 USB 或 WiFi 连接真实安卓设备,并调用云端模型完成自动化任务。无论是日常高频操作(如批量点赞、信息采集),还是复杂流程(如自动注册、表单填写),都可以交给AI来完成。

更重要的是,这套方案完全开放、可定制、可扩展。你可以:

  • 替换更强的视觉模型提升识别精度
  • 接入企业内部系统实现办公自动化
  • 结合RPA工具打造跨平台智能体
  • 构建远程运维监控平台

未来,随着多模态模型能力不断增强,这类“能看会动”的AI Agent 将在智能家居、远程协助、无障碍交互等领域发挥更大价值。


获取更多AI镜像

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1198527.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python代码生成实战:Qwen3-4B-Instruct轻松搞定复杂编程

Python代码生成实战&#xff1a;Qwen3-4B-Instruct轻松搞定复杂编程 1. 引言&#xff1a;当AI成为你的编程搭档 你有没有遇到过这样的场景&#xff1f;手头有个紧急任务&#xff0c;要写一个带图形界面的Python工具&#xff0c;但时间紧、需求杂&#xff0c;从零开始编码太耗…

Qwen-Image-2512显存占用过高?量化压缩技术实战优化方案

Qwen-Image-2512显存占用过高&#xff1f;量化压缩技术实战优化方案 你是不是也遇到过这种情况&#xff1a;想用最新的Qwen-Image-2512模型生成高清大图&#xff0c;结果刚加载模型就提示“显存不足”&#xff1f;明明是4090D这样的高端显卡&#xff0c;却只能眼睁睁看着它卡在…

HY-MT1.5-7B大模型部署实战|基于vLLM的高效翻译服务搭建

HY-MT1.5-7B大模型部署实战&#xff5c;基于vLLM的高效翻译服务搭建 你是否试过在本地快速跑起一个真正能用、响应快、支持多语种的专业级翻译模型&#xff1f;不是调API&#xff0c;不是跑Demo&#xff0c;而是实打实部署一个能在生产环境扛住请求的翻译服务——今天这篇就带…

快速上手Voice Sculptor:细粒度指令化语音合成的高效实现

快速上手Voice Sculptor&#xff1a;细粒度指令化语音合成的高效实现 1. 为什么你需要关注Voice Sculptor&#xff1f; 你有没有遇到过这样的情况&#xff1a;想为一段视频配上特定风格的声音&#xff0c;比如深夜电台主播那种低沉温柔的嗓音&#xff0c;或者童话故事里甜美夸…

FunASR speech_ngram_lm_zh-cn 语音识别实战|WebUI一键部署方案

FunASR speech_ngram_lm_zh-cn 语音识别实战&#xff5c;WebUI一键部署方案 1. 项目背景与核心价值 你有没有遇到过这样的场景&#xff1a;会议录音要整理成纪要、课程内容想快速转为文字笔记&#xff0c;或者视频素材需要生成字幕&#xff1f;传统方式靠人工听写&#xff0c…

从0开始学语音合成:Sambert开箱即用版入门指南

从0开始学语音合成&#xff1a;Sambert开箱即用版入门指南 1. 你能学到什么&#xff1f;新手也能快速上手的语音合成实践 你是不是也遇到过这样的问题&#xff1a;想做个有声内容项目&#xff0c;比如智能播报、语音助手或者儿童故事机&#xff0c;结果一查发现语音合成&…

AI语音降噪全流程实践|基于FRCRN单麦16k镜像环境搭建

AI语音降噪全流程实践&#xff5c;基于FRCRN单麦16k镜像环境搭建 在远程会议、在线教育、智能录音等场景中&#xff0c;语音质量直接影响沟通效率。然而&#xff0c;现实环境中充斥着空调声、键盘敲击、交通噪音等干扰&#xff0c;导致原始录音模糊不清。有没有一种方法&#…

混元翻译模型实战指南|用HY-MT1.5-7B构建离线多语言通信桥梁

混元翻译模型实战指南&#xff5c;用HY-MT1.5-7B构建离线多语言通信桥梁 你有没有想过&#xff0c;一台带GPU的笔记本&#xff0c;加上一个预装好的Docker镜像&#xff0c;就能在断网环境下实现33种语言的实时互译&#xff1f;这不是未来设想&#xff0c;而是现在就能做到的事…

GPEN镜像推理教程:三步完成图片修复

GPEN镜像推理教程&#xff1a;三步完成图片修复 你是否遇到过老照片模糊、人脸细节丢失的问题&#xff1f;或者手头的图像分辨率太低&#xff0c;无法满足展示需求&#xff1f;现在&#xff0c;借助GPEN人像修复增强模型&#xff0c;这些问题都能迎刃而解。本文将带你通过三个…

FSMN-VAD部署监控:日志记录与性能指标采集教程

FSMN-VAD部署监控&#xff1a;日志记录与性能指标采集教程 1. 引言&#xff1a;构建可监控的FSMN-VAD服务 你已经成功部署了基于达摩院FSMN-VAD模型的语音端点检测服务&#xff0c;能够精准识别音频中的有效语音片段。但如果你希望将这个工具用于生产环境或长期运行的任务&am…

基于SenseVoice Small实现语音识别与情感事件标签分析

基于SenseVoice Small实现语音识别与情感事件标签分析 1. 引言&#xff1a;让语音“会说话”也“懂情绪” 你有没有想过&#xff0c;一段录音不只是能转成文字&#xff0c;还能告诉你说话人是开心、生气&#xff0c;甚至能识别出背景里的笑声、掌声或电话铃声&#xff1f;这听…

实战场景解析:如何高效运用osquery进行系统监控与安全防护

实战场景解析&#xff1a;如何高效运用osquery进行系统监控与安全防护 【免费下载链接】osquery 项目地址: https://gitcode.com/gh_mirrors/osq/osquery osquery作为一款强大的端点监控工具&#xff0c;能够通过SQL查询实时监控系统状态&#xff0c;帮助开发者和运维人…

基于PaddleOCR-VL-WEB的轻量级OCR实践|支持文本表格公式识别

基于PaddleOCR-VL-WEB的轻量级OCR实践&#xff5c;支持文本表格公式识别 1. 引言&#xff1a;为什么我们需要更高效的OCR工具&#xff1f; 你有没有遇到过这样的场景&#xff1a;手头有一堆PDF扫描件&#xff0c;可能是合同、发票、学术论文&#xff0c;甚至是手写笔记&#…

告别NMS延迟!YOLOv10官镜像让检测提速1.8倍实测

告别NMS延迟&#xff01;YOLOv10官镜像让检测提速1.8倍实测 你有没有遇到过这样的情况&#xff1a;模型推理速度明明很快&#xff0c;但一加上NMS&#xff08;非极大值抑制&#xff09;后处理&#xff0c;整体延迟就飙升&#xff1f;尤其是在高密度目标场景下&#xff0c;NMS成…

教育资源数字化转型:基于Qwen的课件配图生成部署实践

教育资源数字化转型&#xff1a;基于Qwen的课件配图生成部署实践 在当前教育内容制作中&#xff0c;教师和课程开发者常常面临一个现实问题&#xff1a;如何快速为低龄儿童设计出既生动又安全的视觉素材&#xff1f;传统方式依赖设计师手动绘制或从图库中筛选&#xff0c;耗时…

语音识别带时间戳吗?SenseVoiceSmall输出格式详解

语音识别带时间戳吗&#xff1f;SenseVoiceSmall输出格式详解 你有没有遇到过这样的情况&#xff1a;一段会议录音转成文字后&#xff0c;只看到密密麻麻的句子&#xff0c;却完全不知道哪句话是谁说的、什么时候说的、语气是轻松还是严肃&#xff1f;更别说笑声突然响起、背景…

NewBie-image-Exp0.1数据类型冲突?Gemma 3集成镜像一键解决教程

NewBie-image-Exp0.1数据类型冲突&#xff1f;Gemma 3集成镜像一键解决教程 你是不是也遇到过这样的问题&#xff1a;刚下载好NewBie-image-Exp0.1源码&#xff0c;一运行就报错——“TypeError: float() argument must be a string or a real number”&#xff0c;或者更让人…

BERT中文语义理解实战:构建自己的成语补全机器人教程

BERT中文语义理解实战&#xff1a;构建自己的成语补全机器人教程 1. 让AI读懂中文语境&#xff1a;从一个填空开始 你有没有遇到过这样的场景&#xff1f;写文章时卡在一个成语上&#xff0c;只记得前半句&#xff1b;或者读古诗时看到一句“疑是地[MASK]霜”&#xff0c;下意…

智能客服升级利器:Glyph让机器人读懂长对话

智能客服升级利器&#xff1a;Glyph让机器人读懂长对话 在智能客服系统中&#xff0c;一个长期存在的难题是——如何让AI真正“记住”并理解用户长达数小时的对话历史&#xff1f;传统大语言模型&#xff08;LLM&#xff09;受限于上下文窗口长度&#xff0c;往往只能看到最近…

Z-Image-Turbo_UI界面适合做哪些类型的图像生成?

Z-Image-Turbo_UI界面适合做哪些类型的图像生成&#xff1f; Z-Image-Turbo_UI 是一个开箱即用的本地化图像生成工具&#xff0c;无需复杂配置&#xff0c;只需在浏览器中访问 http://localhost:7860 即可开始创作。它背后搭载的是 Tongyi-MAI 推出的 Z-Image-Turbo 模型——一…