Open-AutoGLM快速部署指南:连接设备、安装依赖、运行Agent一气呵成
Open-AutoGLM快速部署指南:连接设备、安装依赖、运行Agent一气呵成
想象一下,你正躺在沙发上,对着手机说:“帮我打开小红书,搜一下周末去哪玩。” 话音刚落,手机屏幕就自己亮了起来,手指图标自动滑动、点击,精准地打开应用、输入搜索词、浏览结果……这不是科幻电影,而是智谱开源的Open-AutoGLM(AutoGLM-Phone)带来的现实。
这是一个能“看懂”手机屏幕,并自动帮你操作手机的AI智能体框架。它就像一个住在你手机里的数字助手,你动动嘴,它跑断腿。今天,我们就来手把手带你完成从零到一的完整部署,让你也能体验让AI接管手机的乐趣。
1. 部署前准备:理清思路与环境检查
在开始敲代码之前,我们先花两分钟搞清楚整个流程。Open-AutoGLM的架构其实很清晰,主要分为两部分:
- 服务端(云端/本地服务器):负责运行强大的视觉语言大模型(如
autoglm-phone-9b)。这个模型是AI的“大脑”,负责理解你发出的指令和手机屏幕截图,然后规划出下一步该点哪里、输入什么。这部分通常需要较强的GPU算力。 - 控制端(你的本地电脑):负责连接并控制你的安卓手机,同时与服务端的大脑进行通信。它通过ADB(Android Debug Bridge)工具向手机发送操控指令,并将手机屏幕截图发送给服务端进行分析。
本指南聚焦于控制端在本地电脑的部署与连接。我们假设你已经按照官方文档或相关教程,在某个云服务器上成功部署并启动了模型服务(例如使用vLLM部署,服务地址为 http://你的服务器IP:8000/v1)。如果你的服务端还没准备好,需要先完成那部分部署。
接下来,请对照检查你的本地环境:
- 操作系统:Windows 10/11 或 macOS(本指南以Windows为主,会附带macOS关键命令)。
- Python环境:确保已安装Python 3.10或更高版本。在命令行输入
python --version或python3 --version检查。 - 安卓设备:一部Android 7.0及以上版本的手机(或安卓模拟器),并确保电量充足。
- 网络:手机和电脑需要在同一局域网下(例如连接同一个WiFi),如果你使用USB连接则无需考虑网络。
2. 搭建桥梁:配置ADB连接环境
ADB是连接电脑和安卓设备的桥梁,所有自动化操作都通过它来执行。这一步是关键。
2.1 下载并配置ADB工具
首先,我们需要获取ADB工具包。
-
下载平台工具:访问Android开发者官网或使用可靠的镜像源,下载适用于你操作系统的“Platform-Tools”包。
- Windows用户通常下载一个
platform-tools-latest-windows.zip文件。 - macOS用户下载
platform-tools-darwin.zip。
- Windows用户通常下载一个
-
配置环境变量(Windows示例):
- 将下载的ZIP包解压到一个容易找到的目录,例如
C:\platform-tools。 - 右键点击“此电脑” -> “属性” -> “高级系统设置” -> “环境变量”。
- 在“系统变量”区域,找到并选中
Path变量,点击“编辑”。 - 点击“新建”,将你的ADB工具路径(如
C:\platform-tools)添加进去。 - 一路点击“确定”保存。
- 将下载的ZIP包解压到一个容易找到的目录,例如
-
验证安装:打开命令提示符(CMD)或PowerShell,输入
adb version并回车。如果看到类似Android Debug Bridge version 1.0.41的版本信息,恭喜你,ADB配置成功!
macOS/Linux用户:将解压后的 platform-tools 文件夹路径临时添加到环境变量,或直接进入该目录执行命令。例如:
# 进入解压后的目录
cd ~/Downloads/platform-tools
# 执行adb命令需要加上 ./
./adb version
为了方便,你也可以将其永久添加到 ~/.bashrc 或 ~/.zshrc 文件中:export PATH=$PATH:~/Downloads/platform-tools。
2.2 手机端必要设置
要让电脑控制手机,需要在手机上开启“开发者模式”并授权。
- 开启开发者选项:进入手机的“设置” -> “关于手机”,连续点击“版本号”7次左右,直到出现“您已处于开发者模式”的提示。
- 开启USB调试:返回“设置”,找到新出现的“开发者选项”或“系统开发者选项”,进入后开启“USB调试”开关。
- 安装ADB Keyboard(关键步骤):AI助手需要通过电脑向手机输入文字。你需要下载并安装一个名为“ADB Keyboard”的输入法APK文件。安装后,进入手机“设置” -> “系统” -> “语言与输入法” -> “虚拟键盘”或“默认输入法”,将默认输入法切换为 “ADB Keyboard”。
3. 连接设备:USB与WiFi两种方式
现在,用USB数据线将手机连接到电脑。手机会弹出“允许USB调试吗?”的授权对话框,勾选“始终允许”,并点击“确定”。
3.1 基础连接与验证
打开命令行,输入:
adb devices
你会看到类似以下的输出:
List of devices attached
abcdef123456 device
这表示你的设备已被识别,abcdef123456 就是你的设备ID。如果显示 unauthorized,请检查手机上的授权对话框。
3.2 切换到更稳定的WiFi连接(推荐)
USB连接虽然简单,但线缆束缚了手机。我们可以切换到WiFi连接,让手机脱离数据线自由行动。
- 确保手机和电脑连接同一WiFi。
- 在命令行中,执行以下命令将连接模式切换到TCP/IP:
命令成功会显示adb tcpip 5555restarting in TCP mode port: 5555。 - 查找手机IP地址:在手机的WiFi设置中,查看当前连接网络的详情,找到IP地址(通常是
192.168.x.x的形式)。 - 通过WiFi连接:拔掉USB数据线,在命令行中输入:
连接成功会显示adb connect 192.168.x.x:5555connected to 192.168.x.x:5555。 - 再次运行
adb devices,你应该能看到两个设备条目:一个USB的(可能显示为离线),一个WiFi的(状态为device)。以后操作就使用WiFi连接的设备ID(即192.168.x.x:5555)。
优点:摆脱线缆,可以远程将手机放在支架上录制测试过程,非常方便。
4. 部署控制端:获取Open-AutoGLM代码
桥梁搭好了,现在来部署控制端的“指挥官”——Open-AutoGLM项目代码。
-
克隆代码仓库:在你喜欢的目录下打开命令行,执行:
git clone https://github.com/zai-org/Open-AutoGLM cd Open-AutoGLM -
创建并激活Python虚拟环境(强烈推荐):这能避免包版本冲突。
# Windows python -m venv venv .\venv\Scripts\activate # macOS/Linux python3 -m venv venv source venv/bin/activate激活后,命令行提示符前会出现
(venv)字样。 -
安装项目依赖:在虚拟环境激活状态下,运行:
pip install -r requirements.txt pip install -e .这将会安装所有必要的Python包,并将
phone_agent以可编辑模式安装。
5. 启动AI代理:给你的手机注入灵魂
万事俱备,只欠东风。现在,让我们用一行命令唤醒AI助手。
请确保:
- 手机屏幕已解锁。
- 服务端模型已正常运行(假设地址为
http://10.1.21.133:8000/v1)。 - 你知道你的设备ID(通过
adb devices获取,例如192.168.1.100:5555)。
打开命令行,进入 Open-AutoGLM 目录,并确保虚拟环境已激活,然后执行:
python main.py \
--device-id 192.168.1.100:5555 \
--base-url http://10.1.21.133:8000/v1 \
--model "autoglm-phone-9b" \
"打开抖音,搜索用户‘科技美学’并关注他"
参数解释:
--device-id:你的安卓设备ID。--base-url:你部署的视觉语言模型服务的API地址。--model:指定使用的模型名称,这里用开源的autoglm-phone-9b。- 最后的字符串:你用自然语言下达的指令。
运行后,你会看到命令行开始输出日志。AI会先截取当前手机屏幕,发送给“大脑”分析,“大脑”返回操作指令(如:点击坐标[540, 1200]),控制端再通过ADB执行点击。屏幕会快速自动切换,直到任务完成或无法继续。
5.1 使用Python API进行更灵活的控制
除了命令行,你还可以在Python脚本中更灵活地控制连接和任务。下面是一个简单的示例:
from phone_agent.adb import ADBConnection, list_devices
from phone_agent.agent import PhoneAgent
# 1. 创建ADB连接管理器
conn = ADBConnection()
# 2. 连接到你的设备(WiFi方式)
device_id = "192.168.1.100:5555"
success, message = conn.connect(device_id)
print(f"连接状态: {message}")
if success:
# 3. 创建Phone Agent
agent = PhoneAgent(
device_id=device_id,
base_url="http://10.1.21.133:8000/v1",
model="autoglm-phone-9b"
)
# 4. 执行一个简单任务
try:
result = agent.run("打开设置,进入‘关于手机’页面")
print(f"任务执行结果: {result}")
except Exception as e:
print(f"执行任务时出错: {e}")
finally:
# 5. 断开连接
conn.disconnect(device_id)
else:
print("设备连接失败,请检查。")
6. 实战测试与问题排查
理论部署完成,我们来点实际测试,并看看可能遇到的问题。
6.1 基础功能测试
首先,来个简单的指令,测试整个链路是否通畅:
python main.py --device-id 192.168.1.100:5555 --base-url http://10.1.21.133:8000/v1 --model "autoglm-phone-9b" "打开浏览器"
如果手机自动解锁并打开了浏览器应用,那么恭喜你,基础功能测试通过!
6.2 复杂任务挑战
让我们提高难度,测试其多步骤规划和理解能力:
python main.py --device-id 192.168.1.100:5555 --base-url http://10.1.21.133:8000/v1 --model "autoglm-phone-9b" "在美团外卖上,找一家评分4.5以上的披萨店,点一个经典玛格丽特披萨"
这个任务涉及:打开美团、搜索、筛选、进入店铺、选择商品、可能加入购物车等多个步骤。观察AI的操作逻辑和成功率,非常有趣。
6.3 常见问题与解决方案
在部署和测试过程中,你可能会遇到以下问题:
-
问题:执行命令后无反应,或提示连接失败
- 排查:运行
adb devices确认设备在线且状态为device。检查--base-url是否正确,并尝试在浏览器中访问http://你的服务器IP:8000/health查看模型服务是否健康。 - 解决:确保防火墙放行了服务端端口(如8000),并重启ADB服务:
adb kill-server && adb start-server。
- 排查:运行
-
问题:AI操作混乱,点击位置错误
- 排查:这可能是模型对屏幕内容理解有误,或屏幕分辨率适配问题。Open-AutoGLM会先将屏幕截图发送给模型识别。
- 解决:确保手机屏幕清晰、亮度适中。对于非常规分辨率,可能需要调整模型的视觉处理部分(高级话题)。可以尝试更简单、界面更标准的指令开始。
-
问题:提示“ADBKeyboard not installed”但实际已安装
- 排查:这是早期版本可能存在的检测脚本小Bug。
- 解决:可以按照参考博文中的临时方案,修改
main.py中检查ADBKeyboard的函数,使其直接返回True。或者,重新安装ADBKeyboard并确保其在输入法列表中已被启用。
-
问题:WiFi连接不稳定,ADB频繁掉线
- 解决:这是WiFi网络的通病。对于长时间或重要测试,建议使用USB连接以获得最稳定的体验。如果必须用WiFi,尽量让手机和电脑靠近路由器。
7. 总结
通过以上步骤,我们已经完成了Open-AutoGLM控制端的完整部署。从配置ADB环境、连接手机,到安装依赖、运行Agent,整个过程就像在组装一个能听懂人话的机器人。你可以让它帮你完成各种重复性的手机操作,比如自动签到、整理截图、跨应用收集信息等,为工作和生活增添一份智能与趣味。
目前这个框架还处于早期阶段,复杂任务的成功率有待提升,但其展现出的“视觉理解+自主操作”能力已经足够惊艳。它开源的意义不仅在于提供了一个工具,更重要的是为社区探索AI智能体(Agent)在真实物理设备上的交互,打开了一扇充满想象力的大门。
获取更多AI镜像
想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。
更多推荐


所有评论(0)