Open-AutoGLM应用更新自动化:版本检查执行代理部署
1. Open-AutoGLM – 智谱开源的手机端AI Agent框架
你有没有想过,让AI帮你操作手机?不是简单的语音助手,而是真正能“看懂”屏幕、理解界面、自动点击、滑动、输入文字,像真人一样完成一整套复杂任务。比如你说:“打开小红书,搜附近的川菜馆,点赞前三条笔记”,它就能自己动手搞定。
这不再是科幻。Open-AutoGLM正是这样一个由智谱开源的手机端 AI Agent 框架,它把大模型的能力从“对话”推进到了“行动”。通过结合视觉语言模型(VLM)和 ADB 自动化控制,Open-AutoGLM 让 AI 能够感知手机屏幕内容,并基于自然语言指令自主规划并执行操作流程。
这个项目的核心在于“多模态理解 + 自动执行”的闭环。它不只是听懂你的话,还能“看到”手机当前在哪个页面、按钮在哪、文字是什么,再决定下一步该点哪里。整个过程无需手动干预,真正实现了“动口不动手”。
2. AutoGLM-Phone:让AI接管你的手机
2.1 核心能力解析
AutoGLM-Phone 是 Open-AutoGLM 的核心引擎,本质上是一个基于视觉语言模型的 AI 手机智能助理框架。它的运行逻辑可以拆解为四个关键步骤:
- 屏幕感知:通过 ADB 截图获取当前手机界面,送入视觉语言模型进行理解。
- 意图解析:将用户的自然语言指令与当前界面信息结合,分析出具体要完成的任务。
- 动作规划:根据任务目标和界面元素,生成一系列可执行的操作序列(如点击、滑动、输入等)。
- 自动执行:通过 ADB 命令在真实设备上一步步执行操作,直到任务完成。
举个例子,当你下达“打开抖音,搜索ID为 dycwo11nt61d 的博主并关注他”这条指令时,AI 会:
- 先判断是否已打开抖音,若没有则启动 App;
- 进入搜索页,识别搜索框位置并点击;
- 调用 ADB Keyboard 输入指定 ID;
- 点击搜索结果中的目标账号;
- 进入主页后查找“关注”按钮并点击。
整个过程完全自动化,用户只需一句话。
2.2 安全机制与人工介入
尽管自动化程度高,但系统并未忽视安全性。对于敏感操作(如支付、删除数据、授权登录等),Open-AutoGLM 内置了确认机制,会在执行前暂停并提示用户确认。此外,在遇到验证码、滑块验证或需要人工判断的复杂场景时,系统支持人工接管模式,允许用户临时介入处理,之后再交还给 AI 继续后续流程。
这种“自动为主、人工兜底”的设计,既提升了效率,又保障了使用的安全性和可控性。
2.3 支持远程调试与开发
另一个亮点是其对远程 ADB 调试的支持。无论是通过 WiFi 还是网络隧道,开发者都可以在不插线的情况下连接设备,实现灵活的远程控制与开发调试。这对于长期运行测试、多设备管理或无人值守场景非常实用。
3. 客户端与真机连接(本地电脑)
要让 Open-AutoGLM 正常工作,你需要在本地电脑上配置控制端,负责与手机通信并调用云端的 AI 模型服务。以下是完整的部署流程。
3.1 硬件与环境准备
确保你的开发环境满足以下条件:
- 操作系统:Windows 或 macOS
- Python 版本:建议使用 Python 3.10 或更高版本
- 安卓设备:Android 7.0 及以上版本的手机或模拟器
- ADB 工具:Android Debug Bridge,用于设备通信
ADB 安装与配置
ADB 是整个系统的基础通信工具。你可以从 Android 开发者官网 下载platform-tools包。
Windows 配置方法:
- 解压下载的压缩包到任意目录(例如
C:\platform-tools)。 - 按下
Win + R,输入sysdm.cpl,打开“系统属性”。 - 进入“高级”选项卡 → “环境变量”。
- 在“系统变量”中找到
Path,点击“编辑” → “新建”,添加 ADB 解压路径。 - 打开命令行,输入
adb version,如果显示版本号即表示配置成功。
macOS 配置方法: 在 Terminal 中执行以下命令(假设解压目录为~/Downloads/platform-tools):
export PATH=${PATH}:~/Downloads/platform-tools提示:为了永久生效,可将上述命令添加到
~/.zshrc或~/.bash_profile文件中。
3.2 手机端设置
为了让电脑能够控制手机,需开启以下设置:
开启开发者模式
进入“设置” → “关于手机” → 连续点击“版本号”7次,直到提示“您已进入开发者模式”。开启 USB 调试
返回“设置”主菜单 → “开发者选项” → 启用“USB 调试”。安装 ADB Keyboard(关键步骤)
由于 AI 需要自动输入文字,而大多数输入法无法通过 ADB 控制,因此必须安装专用的ADB Keyboard。- 下载并安装 ADB Keyboard APK。
- 安装完成后,进入“设置” → “语言与输入法” → 将默认输入法切换为ADB Keyboard。
注意:如果不设置 ADB Keyboard,AI 将无法完成文本输入操作,导致任务中断。
4. 部署控制端代码(Open-AutoGLM)
接下来,在本地电脑上部署 Open-AutoGLM 的控制代码。
4.1 克隆仓库并安装依赖
打开终端或命令行工具,执行以下命令:
# 克隆项目仓库 git clone https://github.com/zai-org/Open-AutoGLM cd Open-AutoGLM # 安装依赖库 pip install -r requirements.txt # 安装本地包(便于调用模块) pip install -e .说明:
pip install -e .表示以可编辑模式安装,方便后续修改源码。
4.2 设备连接方式
确保手机已通过 USB 连接到电脑,或处于同一局域网内,以便进行无线连接。
USB 连接方式
最稳定的方式是使用 USB 数据线连接。
adb devices正常情况下,输出应类似:
List of devices attached ABCDEF1234567890 device其中ABCDEF1234567890即为你的设备 ID。
WiFi 远程连接方式
若想摆脱数据线束缚,可通过 WiFi 进行远程连接。
- 先用 USB 连接设备,并启用 TCP/IP 模式:
adb tcpip 5555- 断开 USB,使用设备 IP 地址连接:
adb connect 192.168.x.x:5555提示:可通过
adb shell ip addr show wlan0查看设备 IP 地址。
5. 启动 AI 代理
一切准备就绪,现在可以启动 AI 代理,让它接管手机操作。
5.1 命令行方式运行
在项目根目录下执行以下命令:
python main.py \ --device-id <你的设备ID或IP:5555> \ --base-url http://<云服务器IP>:<映射端口>/v1 \ --model "autoglm-phone-9b" \ "打开抖音搜索抖音号为:dycwo11nt61d 的博主并关注他!"参数说明:
--device-id:通过adb devices获取的设备标识,支持 USB ID 或IP:5555格式。--base-url:指向你部署的 vLLM 或其他兼容 OpenAI API 的推理服务地址,例如http://123.45.67.89:8800/v1。--model:指定使用的模型名称,目前支持autoglm-phone-9b。- 最后的字符串:你要下达的自然语言指令。
一旦运行,程序会开始循环截图、推理、执行操作,直到任务完成或失败。
5.2 使用 Python API 进行远程控制
除了命令行,你也可以在自己的脚本中集成 Open-AutoGLM 的功能。
from phone_agent.adb import ADBConnection, list_devices # 创建 ADB 连接管理器 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")这段代码展示了如何通过编程方式管理设备连接,适用于批量控制或多任务调度场景。
6. 常见问题排查
在实际使用过程中,可能会遇到一些常见问题。以下是典型情况及解决方案。
6.1 ADB 连接失败
现象:adb devices显示unauthorized或无法识别设备。
解决方法:
- 确保手机已开启“USB 调试”。
- 第一次连接时,手机会弹出“允许 USB 调试吗?”的提示,务必点击“允许”。
- 若仍无效,尝试重启 ADB 服务:
adb kill-server && adb start-server。
6.2 连接被拒绝(Connection Refused)
现象:远程连接时报错failed to connect to XXX:5555。
可能原因:
- 设备未开启
adb tcpip 5555。 - 手机与电脑不在同一局域网。
- 路由器防火墙阻止了端口通信。
解决方法:
- 确认设备 IP 正确。
- 检查云服务器或本地主机的防火墙设置,放行 5555 端口。
- 优先使用 USB 连接排除网络干扰。
6.3 模型无响应或输出乱码
现象:AI 一直等待,或生成的操作指令明显错误。
可能原因:
- 推理服务未正确启动。
- vLLM 启动参数不匹配,尤其是
max-model-len设置过小。 - 显存不足导致推理失败。
解决方法:
- 检查 vLLM 服务日志,确认模型加载成功。
- 确保
--max-model-len至少为 8192,以支持长上下文推理。 - 使用
nvidia-smi查看 GPU 显存占用情况。
6.4 输入失败或键盘未响应
现象:AI 尝试输入文字但无反应。
根本原因:未正确设置 ADB Keyboard 为默认输入法。
解决方法:
- 进入手机“语言与输入法”设置。
- 将默认键盘切换为ADB Keyboard。
- 可尝试手动触发一次输入框,观察是否弹出 ADB Keyboard。
7. 总结
Open-AutoGLM 的出现,标志着 AI Agent 从“说”走向“做”的重要一步。它不仅是一个技术演示,更是一套可落地的自动化框架,具备以下核心价值:
- 零编码操作手机:用户只需用自然语言描述需求,AI 自动完成复杂操作。
- 多模态理解能力强:结合视觉与语言模型,真正“看懂”界面。
- 安全可控:内置敏感操作确认机制,支持人工接管。
- 远程可扩展:支持 WiFi 连接,便于远程调试与集群管理。
虽然目前仍存在对网络稳定性、设备兼容性等方面的依赖,但随着模型能力的提升和工程优化的深入,这类 AI 手机代理有望在个人效率工具、自动化测试、无障碍辅助等领域发挥更大作用。
未来,我们或许不再需要亲自操作手机,而是告诉 AI:“帮我处理今天的消息、订好晚餐、整理相册”,然后安心去做更重要的事。
获取更多AI镜像
想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。