运城市网站建设_网站建设公司_Vue_seo优化
2026/1/21 9:48:33 网站建设 项目流程

Open-AutoGLM镜像部署:从环境配置到首次运行完整流程

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

你有没有想过,让AI帮你操作手机?不是简单的语音助手,而是真正“看得懂”屏幕、“想得出”步骤、“点得准”按钮的智能体。Open-AutoGLM 正是这样一个由智谱AI开源的手机端AI Agent框架,它把大模型的能力和设备控制能力结合在一起,实现了用自然语言驱动手机自动完成复杂任务。

这个项目的核心是 AutoGLM-Phone —— 一个基于视觉语言模型(VLM)构建的多模态智能助理系统。它能通过截图理解当前手机界面的内容,识别文字、图标、按钮位置,再结合用户的指令进行意图解析与动作规划,最后通过 ADB(Android Debug Bridge)自动执行点击、滑动、输入等操作。整个过程就像一个“数字打工人”,替你在手机上完成各种重复性或繁琐的操作。

比如你说:“打开小红书搜索美食推荐”,它会:

  1. 自动唤醒手机并解锁(如果已授权)
  2. 找到小红书App图标并点击打开
  3. 等待加载后识别搜索框并点击
  4. 输入“美食推荐”
  5. 触发搜索并浏览结果

这一切都不需要你手动干预,只需要一句话。

2. Phone Agent:多模态理解 + 自动化执行的完整闭环

Phone Agent 是基于 AutoGLM 构建的实际运行框架,它的设计目标是实现“感知-思考-行动”的完整闭环。整个系统分为三个核心模块:

  • 视觉感知层:通过定时截屏获取手机当前画面,送入视觉语言模型进行分析,理解界面上有哪些元素、它们的功能是什么。
  • 决策规划层:接收用户自然语言指令,结合当前界面状态,推理出下一步该做什么——是点击某个按钮?还是输入一段文字?
  • 执行控制层:通过 ADB 发送具体的设备操作命令,如 tap(点击)、swipe(滑动)、input text(输入文本)等。

这套系统最大的优势在于“无需App适配”。传统自动化工具往往依赖控件ID或XPath,一旦App更新就容易失效。而 Open-AutoGLM 完全基于图像理解和语义推理,只要人能看懂的界面,AI也能操作。

此外,系统还内置了安全机制:

  • 敏感操作(如支付、删除账号)会暂停并提示确认
  • 遇到验证码、登录弹窗等无法自动处理的情况,支持人工接管
  • 支持远程调试,可通过WiFi连接设备,方便开发者在不同环境下测试

这意味着你不仅可以在本地USB连接手机做实验,还能将一台安卓设备放在服务器机房,通过网络远程调用,打造真正的“云手机AI代理”。

3. 硬件与环境准备

要让 Open-AutoGLM 跑起来,你需要准备好以下几样东西:

3.1 基础硬件要求

  • 本地电脑:Windows 或 macOS 均可,用于运行控制端代码
  • 安卓设备:Android 7.0 及以上版本的真机或模拟器(建议使用真机,性能更稳定)
  • 网络环境:本地电脑与安卓设备处于同一局域网(若使用WiFi连接)

3.2 软件依赖

  • Python 3.10+:推荐使用虚拟环境管理依赖
  • ADB 工具:Android SDK Platform Tools 的一部分,用于设备通信
  • Git:用于克隆项目仓库

3.3 ADB 安装与配置

Windows 用户
  1. 下载 Android Platform Tools 并解压
  2. Win + R输入sysdm.cpl→ 高级 → 环境变量
  3. 在“系统变量”中找到Path,点击编辑 → 新建 → 添加解压后的文件夹路径(例如:C:\platform-tools
  4. 打开命令提示符,输入adb version,看到版本号即表示安装成功
macOS 用户

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

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

你可以将这行命令添加到.zshrc.bash_profile中,避免每次重启终端都要重新设置。

验证方式同样是运行:

adb version

出现类似Android Debug Bridge version 1.x.x即为正常。

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

为了让电脑能够控制手机,必须开启一些开发者选项。

4.1 开启开发者模式

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

4.2 启用 USB 调试

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

⚠️ 注意:不同品牌手机路径略有差异,部分厂商可能还需要额外开启“USB安装”、“USB调试(安全设置)”等选项。

4.3 安装 ADB Keyboard(关键!)

这是很多人忽略但极其重要的一步:默认输入法不支持 ADB 文本输入

你需要下载并安装 ADB Keyboard 的 APK 文件(可在 GitHub Release 页面获取),安装完成后:

  1. 进入“设置” → “语言与输入法” → “默认键盘”或“当前输入法”
  2. 选择ADB Keyboard作为默认输入法

这样 AI 才能在需要时自动输入文字,比如搜索关键词、填写表单等。

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

现在回到本地电脑,开始部署控制端程序。

5.1 克隆项目仓库

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

5.2 创建虚拟环境(推荐)

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

5.3 安装依赖

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

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

安装过程中可能会遇到某些包编译失败(尤其是 PyTorch 相关),建议提前确保 pip 版本最新:

pip install --upgrade pip

6. 连接设备:USB 与 WiFi 两种方式

设备连接是整个流程中最容易出问题的一环,我们分别介绍两种常用方式。

6.1 USB 连接(最稳定)

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

输出应类似:

List of devices attached ABCDEF1234567890 device

只要有设备ID和device状态,说明连接成功。

6.2 WiFi 远程连接(适合长期运行)

如果你希望摆脱数据线束缚,可以使用 ADB over TCP/IP 方式。

第一步:先用 USB 连接启用 TCP 模式
adb tcpip 5555

这条命令会让设备监听 5555 端口的 ADB 连接。

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

先查看手机IP地址(设置 → WLAN → 当前网络详情),然后执行:

adb connect 192.168.x.x:5555

再次运行adb devices,应该能看到设备以 IP 形式列出。

✅ 小贴士:重启手机后 TCP 模式会失效,需重新执行adb tcpip 5555。可考虑写个脚本自动完成。

7. 启动 AI 代理:下达第一条指令

所有准备工作完成后,终于可以启动 AI 代理了!

7.1 前提条件回顾

  • 云端 vLLM 服务已部署,并开放了/v1接口(如http://your-server-ip:8800/v1
  • 防火墙已放行对应端口
  • 本地 ADB 连接正常
  • ADB Keyboard 已设为默认输入法

7.2 命令行方式启动

在 Open-AutoGLM 根目录下运行:

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

参数说明:

  • --device-id:来自adb devices输出的设备ID,如果是WiFi连接则填IP:5555
  • --base-url:你的云服务器上 vLLM 服务的地址,注意要包含/v1
  • --model:指定使用的模型名称,需与服务端加载的一致
  • 最后的字符串:你要下达的自然语言指令

运行后你会看到:

  • 实时截屏上传日志
  • 模型返回的操作建议(如“点击坐标 (x=500, y=800)”)
  • ADB 执行记录
  • 如果一切顺利,几秒内就能看到手机自动完成整个流程

7.3 使用 Python API 更灵活地控制

除了命令行,你也可以在自己的脚本中集成 Phone Agent 的功能。

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}") # 获取设备IP(可用于后续连接) ip = conn.get_device_ip() print(f"设备 IP: {ip}") # 断开连接 conn.disconnect("192.168.1.100:5555")

这种方式适合嵌入到更大的自动化系统中,比如配合定时任务、Web接口或企业工作流引擎使用。

8. 常见问题排查指南

即使严格按照步骤操作,也难免遇到问题。以下是高频故障及解决方案:

8.1 ADB 连接失败

  • 现象adb devices显示unauthorized
    解决:手机端确认是否弹出授权对话框,勾选“始终允许”后再重试
  • 现象adb connect失败或频繁掉线
    解决:检查WiFi信号强度,尝试重启 ADB 服务:adb kill-server && adb start-server

8.2 模型无响应或乱码

  • 现象:请求长时间挂起或返回乱码字符
    解决:检查服务端 vLLM 是否正确加载模型,重点关注:
    • --model参数路径是否正确
    • --tensor-parallel-size是否匹配GPU数量
    • --max-model-len是否足够大(建议 ≥ 8192)
    • 日志中是否有 CUDA OOM 错误

8.3 操作执行错误

  • 现象:AI 识别错按钮位置,导致点击偏差
    解决:可能是分辨率适配问题,尝试调整screen_scale参数或更换设备测试
  • 现象:无法输入中文
    解决:确认 ADB Keyboard 已设为默认输入法,并在设置中关闭其“英文优先”选项

8.4 权限相关问题

  • 现象:无法唤醒屏幕或检测不到截屏
    解决:部分国产ROM限制后台截屏权限,需手动授予“无障碍服务”或“投屏权限”

9. 总结:迈向真正的手机自动化智能体

Open-AutoGLM 不只是一个技术玩具,它是通向“通用手机AI助手”的重要一步。通过本次部署,你应该已经体验到了:

  • 如何用自然语言驱动手机完成复杂任务
  • 多模态模型如何理解界面并做出决策
  • ADB 如何成为连接AI与物理设备的桥梁

虽然目前还存在一些局限(如对动态页面响应慢、复杂逻辑规划能力有限),但随着模型能力提升和工程优化,这类系统有望在未来替代大量重复性手机操作。

下一步你可以尝试:

  • 将多个指令串联成工作流
  • 结合 OCR 或语音识别扩展输入方式
  • 部署在树莓派 + 安卓盒子上打造“AI手机工作站”

技术正在变得越来越“无形”,而 Open-AutoGLM 正是这种趋势的一个缩影:不再需要学习复杂的脚本语法,只需说话,就能让机器为你办事。


获取更多AI镜像

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

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

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

立即咨询