完整流程演示:从克隆代码到成功运行AI指令
摘要:本文将带你完整走一遍 Open-AutoGLM 的使用流程,从环境准备、代码克隆、设备连接,到最终成功执行自然语言指令。无需深厚技术背景,只要跟着步骤操作,你也能让 AI 自动操控手机完成任务。
1. 项目简介与核心能力
1.1 什么是 Open-AutoGLM?
Open-AutoGLM是由智谱 AI 开源的手机端 AI Agent 框架,名为 AutoGLM-Phone。它不是一个简单的自动化脚本工具,而是一个真正具备“理解-思考-行动”能力的智能体。
你可以用自然语言告诉它:“打开小红书搜索美食推荐”,它会:
- 截取当前手机屏幕
- 理解界面上有哪些按钮和文字
- 判断下一步该点击哪个位置
- 自动调用 ADB 命令完成点击、滑动、输入等操作
- 直到任务完成或需要人工确认为止
整个过程完全自动化,就像有一个“数字分身”在替你操作手机。
1.2 核心优势一览
| 能力 | 说明 |
|---|---|
| 多模态理解 | 结合图像 + 文本理解界面内容 |
| 自然语言交互 | 不需要写代码,一句话就能下指令 |
| 自主规划路径 | 能根据当前状态动态调整操作顺序 |
| 支持远程控制 | 可通过 WiFi 连接设备,摆脱数据线束缚 |
| 敏感操作防护 | 遇到支付、登录等场景会暂停并提示人工接管 |
这不仅仅是个“自动点击器”,更像一个能看懂、听懂、还会动手的 AI 助手。
2. 环境准备全流程
2.1 硬件与系统要求
要顺利运行 Open-AutoGLM,你需要准备以下几样东西:
- 本地电脑:Windows 或 macOS(推荐 macOS,兼容性更好)
- 安卓手机:Android 7.0 以上版本,支持 USB 调试
- Python 环境:建议 Python 3.10 或更高版本
- ADB 工具:用于连接和控制手机
- 稳定网络:如果使用云端模型服务,需确保网络通畅
如果你打算在本地运行模型(如 Mac M 系列芯片),还需要至少 16GB 内存,32GB 更佳。
2.2 安装 ADB 工具
ADB(Android Debug Bridge)是连接电脑和安卓设备的核心工具。
Windows 用户:
- 下载 Android Platform Tools
- 解压后将文件夹路径添加到系统
PATH环境变量 - 打开命令行输入
adb version,看到版本号即安装成功
macOS 用户(推荐使用 Homebrew):
brew install android-platform-tools adb version验证是否正常:
adb devices # 正常输出应为: # List of devices attached # (空列表表示尚未连接设备)3. 手机端设置详解
3.1 开启开发者模式
这是使用 ADB 的前提条件。
操作路径因品牌略有不同,通用方法如下:
- 进入设置 → 关于手机
- 找到“版本号”或“内部版本号”
- 连续点击 7 次,直到提示“您已进入开发者模式”
3.2 启用 USB 调试
返回设置主界面,找到新出现的“开发者选项”:
- 开启USB 调试
- 可选开启USB 安装应用
- 关闭监控 ADB 安装行为(避免频繁弹窗)
3.3 安装 ADB Keyboard(关键!)
默认情况下,ADB 无法输入中文。为此必须安装专用输入法。
- 下载 ADBKeyboard.apk
- 使用命令安装:
adb install ADBKeyboard.apk - 在手机上进入设置 → 语言与输入法 → 当前输入法
- 切换为ADB Keyboard
验证是否生效:
adb shell ime list -a | grep ADB # 应输出 com.android.adbkeyboard/.AdbIME4. 克隆代码并安装依赖
4.1 克隆项目仓库
打开终端,执行以下命令:
git clone https://github.com/zai-org/Open-AutoGLM cd Open-AutoGLM该项目结构清晰,主要包含:
main.py:入口文件,支持命令行调用phone_agent/:核心模块,封装了感知、推理、执行逻辑requirements.txt:依赖清单
4.2 创建虚拟环境(推荐)
避免污染全局 Python 环境,建议使用虚拟环境:
python -m venv venv source venv/bin/activate # Linux/macOS # 或 venv\Scripts\activate # Windows4.3 安装项目依赖
依次执行:
pip install --upgrade pip pip install -r requirements.txt pip install -e .其中-e .表示以可编辑模式安装,便于后续调试修改。
安装完成后可以简单测试:
python -c "import phone_agent; print('依赖安装成功')"5. 连接设备的两种方式
5.1 USB 连接(最稳定)
- 使用数据线连接手机与电脑
- 手机弹出授权对话框时,勾选“始终允许”并确认
- 终端执行:
输出类似:adb devicesList of devices attached ABCD1234567890 device
若无输出,请检查:
- 是否使用了带数据传输功能的数据线
- 是否已在手机上授权
- ADB 服务是否正常运行(可用
adb kill-server && adb start-server重启)
5.2 WiFi 无线连接(免线缆)
适合长期部署或远程调试。
首次需通过 USB 配置:
# 启用 TCP/IP 模式 adb tcpip 5555 # 断开 USB,记下手机 IP 地址(可在 WLAN 设置中查看) adb connect 192.168.x.x:5555之后只要在同一局域网内,即可直接连接:
adb connect 192.168.x.x:5555优点是摆脱线缆束缚,缺点是对网络稳定性要求较高。
6. 启动 AI 代理并执行指令
6.1 命令行快速启动
假设你已部署好云端模型服务(或本地运行),现在可以下达第一条指令。
python main.py \ --device-id ABCD1234567890 \ --base-url http://your-server-ip:8800/v1 \ --model "autoglm-phone-9b" \ "打开抖音搜索抖音号为:dycwo11nt61d 的博主并关注他!"参数说明:
| 参数 | 说明 |
|---|---|
--device-id | 通过adb devices获取的设备 ID |
--base-url | 云端 vLLM 服务地址,格式为http://ip:port/v1 |
--model | 模型名称,需与服务端一致 |
| 最后字符串 | 自然语言指令,引号包裹 |
6.2 实际运行效果解析
当你运行上述命令后,AI 将开始循环执行以下步骤:
- 截图获取当前画面
adb shell screencap -p /sdcard/screen.png adb pull /sdcard/screen.png ./temp/ - 上传图片+文本至模型服务
- 输入包含:系统提示词 + 当前截图 + 用户指令
- 解析模型输出动作示例响应:
{"action": "Tap", "element": [540, 800], "description": "点击底部‘发现’标签"} - 执行 ADB 操作
adb shell input tap 540 800 - 等待页面加载,重复以上过程直至任务完成
整个流程无需人工干预,直到遇到验证码、权限请求等敏感操作才会暂停。
7. Python API 进阶调用
除了命令行,你还可以在自己的项目中集成 Open-AutoGLM。
7.1 初始化连接管理器
from phone_agent.adb import ADBConnection, list_devices # 创建连接对象 conn = ADBConnection() # 连接指定设备 success, msg = conn.connect("ABCD1234567890") print(f"连接状态: {msg}") # 查看所有已连接设备 devices = list_devices() for d in devices: print(f"{d.device_id} - {d.connection_type}")7.2 构建自动化任务流
from phone_agent import PhoneAgent agent = PhoneAgent( model_name="autoglm-phone-9b", base_url="http://your-server-ip:8800/v1", device_id="ABCD1234567890" ) # 执行复杂任务 result = agent.run("打开美团,搜索附近的川菜馆,按评分排序") print(result)7.3 添加人工接管回调
对于涉及隐私的操作,可设置拦截机制:
def on_takeover(msg): print(f"[人工接管] {msg}") input("请手动完成操作后按回车继续...") agent.set_takeover_callback(on_takeover)这样当模型检测到登录、支付等场景时,会自动暂停并交由你处理。
8. 常见问题与解决方案
8.1 设备未识别(adb devices 无输出)
可能原因及解决办法:
- 数据线仅支持充电 → 更换为全功能数据线
- 未授权调试 → 重新插拔,手机端点击“允许”
- ADB 服务异常 → 执行
adb kill-server && adb start-server - 驱动问题(Windows)→ 安装手机厂商官方驱动
8.2 中文输入失败
重点排查 ADB Keyboard:
- 是否已安装 APK?
- 是否已在系统设置中启用?
- 是否设为默认输入法?
可通过以下命令强制切换:
adb shell ime set com.android.adbkeyboard/.AdbIME8.3 模型无响应或乱码
检查服务端配置:
- vLLM 是否正确加载模型?
--max-model-len是否足够大(建议 ≥ 32768)?- 显存是否充足?9B 模型 FP16 需约 20GB 显存
- 接口返回格式是否符合预期?应为标准 OpenAI-like API
8.4 截图黑屏或空白
某些应用(如银行、支付类 App)出于安全考虑禁止截屏。此时模型无法获取界面信息,会自动触发人工接管机制。
这不是 Bug,而是系统级保护机制,属于正常现象。
8.5 WiFi 连接不稳定
建议:
- 确保手机与电脑在同一局域网
- 关闭防火墙或开放 5555 端口
- 优先使用 2.4GHz 网络(穿透性更好)
- 若持续掉线,改用 USB 连接更可靠
9. 总结
9.1 回顾完整流程
我们从零开始完成了 Open-AutoGLM 的全流程实践:
- 环境准备:安装 ADB、Python 依赖
- 手机设置:开启调试、安装输入法
- 代码克隆:拉取项目并安装包
- 设备连接:USB 或 WiFi 方式接入
- 指令执行:通过命令行或 API 下达任务
- 问题排查:应对常见连接与运行异常
每一步都经过实际验证,只要按顺序操作,基本都能成功运行。
9.2 下一步建议
- 尝试更多自然语言指令,观察 AI 如何拆解任务
- 将其集成到你的自动化工作流中,比如定时打卡、信息采集
- 探索本地部署方案(如 MLX + Mac),实现完全离线运行
- 参与社区贡献,改进模型提示词或增加新功能
Open-AutoGLM 不只是一个玩具项目,它是通向未来“AI 操控一切”的一扇门。现在,这扇门已经为你打开。
获取更多AI镜像
想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。