保亭黎族苗族自治县网站建设_网站建设公司_Redis_seo优化
2026/1/18 1:52:48 网站建设 项目流程

Open-AutoGLM + ADB Keyboard,输入完全自动化

1. 简介

Open-AutoGLM 是由智谱AI(ZhipuAI)开源的一款面向手机端的智能助理框架,基于 AutoGLM 构建,专为实现自然语言驱动的 Android 设备自动化操作而设计。该项目采用 Apache-2.0 开源协议,支持本地部署、商业使用,并通过视觉语言模型与 ADB 技术结合,实现了“动口不动手”的全链路自动化体验。

该系统核心能力在于:用户只需输入一句自然语言指令,如“打开小红书搜索美食并点赞前三条内容”,AI 即可自动理解当前屏幕状态、解析任务意图、规划操作路径,并通过 ADB 完成点击、滑动、输入等交互动作,全程无需人工干预。

1.1 核心价值

  • 自然语言驱动:摆脱传统脚本化控制,用日常语言下达指令。
  • 多模态感知:融合视觉与语言信息,真正“看懂”手机界面元素。
  • 端到端自动化:从截图识别 → 意图理解 → 动作生成 → 执行反馈形成闭环。
  • 安全可控:敏感操作(如支付、删除)需人工确认,支持远程接管。
  • 灵活连接:支持 USB 和 WiFi 连接,便于远程调试和批量管理设备。

1.2 技术架构概览

系统整体分为四个核心模块:

  1. PhoneAgent 控制器:负责协调任务流程,调用模型服务,执行 ADB 命令。
  2. 视觉语言模型(VLM):采用 AutoGLM-Phone-9B,接收屏幕截图与文本指令,输出结构化操作命令。
  3. ADB 控制层:通过 Android Debug Bridge 实现设备控制,包括截屏、点击、滑动、输入等。
  4. ADB Keyboard 输入法:解决虚拟键盘遮挡问题,实现纯 ADB 文本输入。

工作流程如下:

[用户指令] ↓ [截图获取] → [图像+文本输入至 VLM] ↓ [VLM 输出操作序列:tap, swipe, type...] ↓ [ADB 执行动作] → [新界面] ↓ 循环直至任务完成

2. 环境准备与部署流程

2.1 硬件与软件要求

类别要求
操作系统Windows / macOS / Linux(Ubuntu 18.04+)
Python 版本3.9 或以上(推荐 3.10+)
内存至少 8GB(运行 vLLM 推荐 16GB+)
存储空间≥200MB 可用空间
Android 设备Android 7.0+ 真机或模拟器
GPU(可选)NVIDIA 显卡(RTX 3090+ 更佳),用于加速推理

2.2 ADB 工具配置

ADB(Android Debug Bridge)是连接 PC 与 Android 设备的核心工具。需确保其可执行文件路径已加入系统环境变量。

Windows 配置步骤:
  1. 下载 Android SDK Platform Tools 并解压。
  2. Win + R输入sysdm.cpl→ 高级 → 环境变量。
  3. 在“系统变量”中找到Path,添加 ADB 解压目录路径(如C:\platform-tools)。
  4. 打开命令行,运行adb version,验证是否输出版本号。
macOS 配置方法:

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

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

建议将该行写入~/.zshrc~/.bash_profile文件以永久生效。


3. 手机端设置与 ADB Keyboard 安装

3.1 开启开发者选项与 USB 调试

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

⚠️ 注意:部分厂商(如小米、华为)还需额外开启“USB 调试(安全设置)”或授权电脑连接。

3.2 安装并启用 ADB Keyboard

ADB Keyboard 是一个特殊的输入法应用,允许通过 ADB 命令直接向设备输入文本,避免因软键盘弹出导致界面遮挡或定位失败。

安装步骤:
  1. 下载 ADB Keyboard APK。
  2. 将 APK 文件传输至手机并安装。
  3. 进入“设置” → “语言与输入法” → “默认输入法”。
  4. 切换为ADB Keyboard

启用后,在命令行可通过以下方式测试输入:

adb shell input text "Hello_AutoGLM"

若屏幕上出现Hello_AutoGLM,则表示配置成功。


4. 部署 Open-AutoGLM 控制端

4.1 克隆项目与安装依赖

在本地电脑上执行以下命令:

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

建议创建独立虚拟环境以隔离依赖:

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

安装所需依赖:

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

4.2 启动模型服务(本地部署)

Open-AutoGLM 支持多种模型接入方式,推荐使用本地 vLLM 服务以保障响应速度与隐私安全。

启动命令示例(需 GPU 支持):

python -m vllm.entrypoints.openai.api_server \ --model zai-org/AutoGLM-Phone-9B \ --port 8000 \ --max-model-len 4096 \ --gpu-memory-utilization 0.9

✅ 成功标志:访问http://localhost:8000/v1/models应返回包含autoglm-phone-9b的 JSON 响应。


5. 设备连接与通信配置

5.1 USB 连接方式

  1. 使用数据线将手机连接至电脑。
  2. 手机端弹出“允许USB调试?”对话框时,点击“允许”。
  3. 执行命令查看设备状态:
adb devices

预期输出:

List of devices attached ABCDEF1234567890 device

其中ABCDEF1234567890即为设备 ID。

5.2 WiFi 远程连接(ADB over TCP/IP)

适用于无线调试或远程部署场景。

步骤一:首次通过 USB 启用 TCP/IP 模式
adb tcpip 5555
步骤二:断开 USB,使用 IP 地址连接

先获取手机 IP 地址(可在“设置”→“WLAN”中查看),然后执行:

adb connect 192.168.x.x:5555

再次运行adb devices应显示设备在线。

🔐 提示:确保电脑与手机处于同一局域网,且防火墙未阻止 5555 端口。


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

6.1 命令行方式运行任务

在项目根目录下执行:

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

参数说明:

参数说明
--device-idADB 设备 ID 或 IP:端口(如192.168.1.100:5555
--base-url模型服务地址,格式为http://IP:PORT/v1
--model模型名称,必须与服务端一致
最后字符串用户自然语言指令

执行过程中,系统会周期性抓取屏幕截图,送入模型分析,并逐步输出操作日志。

6.2 Python API 调用方式

对于集成到其他系统的开发者,可使用 Python SDK 进行调用。

from phone_agent.adb import ADBConnection, list_devices from openautoglm import PhoneAgent # 初始化 ADB 连接 conn = ADBConnection() success, msg = conn.connect("ABCDEF1234567890") if not success: raise Exception(f"连接失败: {msg}") # 创建 PhoneAgent 实例 agent = PhoneAgent( device_id="ABCDEF1234567890", base_url="http://localhost:8000/v1", model="autoglm-phone-9b" ) # 执行任务 result = agent.run("帮我查一下今天的天气") print(result)

此方式适合嵌入自动化平台、定时任务系统或 Web 后端服务。


7. 常见问题与排查指南

7.1 连接类问题

问题现象可能原因解决方案
adb devices无设备未开启 USB 调试检查开发者选项
显示unauthorized未授权电脑在手机上确认授权弹窗
connect failed: Connection refusedTCP/IP 未启用先用 USB 执行adb tcpip 5555
ADB 断连频繁WiFi 不稳定改用 USB 连接或优化网络

7.2 模型服务问题

问题现象可能原因解决方案
请求超时或 500 错误显存不足减小--max-model-len或升级 GPU
返回乱码或无效操作模型加载错误确保 Hugging Face 模型路径正确
/v1/models404vLLM 服务未启动检查端口占用及日志输出

7.3 输入与界面问题

问题现象可能原因解决方案
输入文字失败默认输入法非 ADB Keyboard切换输入法
截图模糊或延迟高屏幕分辨率过高降低设备分辨率或压缩截图质量
按钮识别不准UI 变化大或动态元素干扰增加重试机制或调整 prompt

8. 应用场景与实践案例

8.1 社交媒体运营自动化

需求背景:自媒体运营者需每日发布内容、互动评论、回复私信,耗时且易遗漏。

解决方案

python main.py \ --device-id YOUR_DEVICE \ --base-url http://localhost:8000/v1 \ --model "autoglm-phone-9b" \ "打开小红书,发布一张图片,标题为'今日穿搭分享',添加话题#OOTD"

AI 自动完成 App 启动、相册选择、填写文案、发布全流程。

8.2 电商比价与抢购辅助

需求背景:消费者希望快速找到最低价商品并在开售瞬间下单。

指令示例

在京东搜索 AirPods Pro 第二代,按价格排序,将最便宜的商品加入购物车

系统自动执行搜索、筛选、跳转、加购操作,显著提升购物效率。

8.3 企业办公流程自动化

典型任务:“每天上午9点打开钉钉打卡,并发送日报邮件”

通过定时脚本 + Open-AutoGLM,可实现无人值守的日常办公自动化,减少重复劳动。

8.4 老年人数字生活助手

子女远程配置任务,如:

每天下午3点帮爷爷打开微信视频通话,联系奶奶

AI 自动唤醒 App、查找联系人、发起通话,极大降低老年人使用智能手机门槛。

8.5 移动应用自动化测试

测试工程师可用自然语言描述测试用例:

测试微博登录功能:输入错误密码3次后是否提示账户锁定

AI 自动生成测试路径并执行,记录每一步结果,大幅提升测试覆盖率与效率。


9. 总结

Open-AutoGLM 作为一款基于视觉语言模型的手机端 AI Agent 框架,成功将大模型的理解能力与 ADB 的控制能力深度融合,实现了真正意义上的“自然语言驱动设备操作”。其核心优势体现在:

  1. 多模态理解能力强:不仅能听懂指令,更能“看见”屏幕,精准定位 UI 元素;
  2. 工程落地完整:提供从部署、连接、执行到调试的全链路支持;
  3. 安全性设计周全:敏感操作人工确认机制保障账户安全;
  4. 扩展性强:支持本地部署、云端 API、多设备管理等多种模式。

随着 AutoGLM 系列模型持续迭代,未来有望在智能家居控制、跨设备协同、无障碍辅助等领域发挥更大价值。


获取更多AI镜像

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

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

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

立即咨询