一文搞定:Open-AutoGLM环境配置+模型下载+运行
摘要:本文手把手带你完成 Open-AutoGLM 全流程落地——从零开始配置本地开发环境、下载并量化 AutoGLM-Phone-9B 模型、连接真实安卓设备,到执行第一条自然语言指令。不依赖云端API,全程离线运行,数据不出本机,兼顾隐私安全与工程可用性。适合开发者、AI爱好者及注重数据主权的实践者。
1. Open-AutoGLM 是什么?一句话说清
1.1 它不是另一个聊天机器人
Open-AutoGLM 是智谱 AI 开源的手机端 AI Agent 框架,核心能力是:
“看懂你的手机屏幕 + 听懂你的中文指令 + 自动帮你点、滑、输、开”。
它不生成诗歌,不写周报,而是专注解决一个具体问题:
你动嘴,它动手。
比如输入这句话:
“打开小红书,搜索‘北京咖啡探店’,点开第一篇笔记,截图发到微信给李四”
Open-AutoGLM 会自动完成:
启动小红书 App
点击搜索框 → 输入文字 → 点击搜索
解析搜索结果页 → 定位第一篇笔记 → 点击进入
截图当前页面
切换到微信 → 找到李四 → 粘贴发送
整个过程无需你碰一次手机,所有操作由 ADB 驱动,所有决策由本地多模态大模型完成。
1.2 和普通大模型有什么本质区别?
| 维度 | 传统大模型(如 ChatGLM) | Open-AutoGLM(AutoGLM-Phone) |
|---|---|---|
| 输入 | 纯文本 | 文本指令 + 实时手机截图 + UI结构化信息(XML) |
| 输出 | 文本回复 | JSON格式操作指令({"action": "Tap", "element": [320, 650]}) |
| 执行层 | 无 | 内置 ADB 控制器,直接调用adb shell input tap等命令 |
| 运行位置 | 服务器/云 | 可完全本地运行(Mac/Windows/Linux) |
| 隐私性 | 输入可能上传云端 | 截图、指令、推理全程在本地,不联网(可选) |
它把大模型从“思考者”升级为“执行者”,是真正意义上的具身智能代理(Embodied Agent)在移动端的轻量落地。
2. 环境准备:三步到位,拒绝玄学报错
2.1 你不需要高配电脑,但得避开这些坑
| 项目 | 最低要求 | 推荐配置 | 关键提醒 |
|---|---|---|---|
| 操作系统 | Windows 10 / macOS 13 / Ubuntu 22.04 | macOS Sonoma(Apple Silicon)或 Windows 11(WSL2) | Linux 用户建议用 WSL2 而非原生 Ubuntu,ADB 兼容性更稳 |
| Python | 3.10+ | 3.11.9(推荐 pyenv 管理) | ❗必须 64 位 Python,32 位会安装失败 |
| 手机 | Android 7.0+(真机优先) | Android 10+(支持无线调试) | 模拟器(如 MuMu、BlueStacks)仅限调试,部分 UI 操作不可靠 |
| ADB | v34.0.5+ | 安装android-platform-tools最新版 | ❗Windows 用户务必关闭杀毒软件实时防护,否则 adb server 常被拦截 |
验证 ADB 是否就绪:终端输入
adb version,看到类似Android Debug Bridge version 1.0.41即成功。
2.2 手机设置:5 分钟搞定,别跳步骤
这是最容易卡住的环节,按顺序操作:
开启开发者模式
- 设置 → 关于手机 → 连续点击“版本号”7次 → 弹出“您已处于开发者模式”
开启 USB 调试
- 设置 → 系统 → 开发者选项 → 打开USB 调试、USB 安装、网络调试(如果存在)
- 关闭“监控 ADB 安装应用”(华为/小米常见,会导致 adb install 失败)
安装并启用 ADB Keyboard(关键!)
- 下载 APK:ADBKeyboard.apk
- 安装:
adb install ADBKeyboard.apk - 启用:设置 → 语言和输入法 → 管理键盘 → 启用ADB Keyboard
- 设为默认:设置 → 语言和输入法 → 当前输入法 → 选择ADB Keyboard
- 验证:
adb shell ime list -a | grep ADB应输出com.android.adbkeyboard/.AdbIME
首次连接授权
- 用原装数据线(非充电线)连接手机与电脑
- 手机弹窗出现“允许 USB 调试吗?” → 勾选“始终允许”→ 点确定
- 终端执行
adb devices,输出含device字样即成功(如ABC123456789 device)
小技巧:若
adb devices显示unauthorized,说明未授权,拔插数据线重试;若显示空,先运行adb kill-server && adb start-server。
3. 控制端部署:克隆、安装、验证三连击
3.1 下载代码与安装依赖
# 1. 克隆官方仓库(非 fork) git clone https://github.com/zai-org/Open-AutoGLM.git cd Open-AutoGLM # 2. 创建虚拟环境(强烈推荐,避免包冲突) python -m venv venv source venv/bin/activate # macOS/Linux # venv\Scripts\activate # Windows # 3. 安装基础依赖(注意:不要跳过 -e) pip install --upgrade pip pip install -r requirements.txt pip install -e . # 4. 验证核心模块可导入 python -c "from phone_agent.adb import ADBConnection; print(' ADB 模块加载成功')" python -c "from phone_agent.model import load_model; print(' 模型加载模块就绪')"成功标志:无报错,输出两行 提示。若报
ModuleNotFoundError: No module named 'mlx',说明你漏了 MLX 安装(见 3.2)。
3.2 补充安装 MLX(Apple Silicon 必装,x86 用户跳过)
MLX 是 Apple Silicon(M1/M2/M3)高效运行大模型的关键框架:
# 仅 Apple Silicon 用户执行 pip install mlx "git+https://github.com/Blaizzy/mlx-vlm.git@main" torch torchvision transformers # 验证 python -c "import mlx; print(f'MLX 版本: {mlx.__version__}')"Windows/Linux 用户请忽略此步,直接使用
--base-url连接远程 vLLM 服务(见第5节),本地不跑模型。
4. 模型下载与部署:选对方式,省下 3 小时等待
4.1 模型在哪?认准官方地址
- Hugging Face:
zai-org/AutoGLM-Phone-9B - ModelScope(魔搭):
ZhipuAI/AutoGLM-Phone-9B
模型大小约 20GB(FP16),下载前请确保磁盘有 30GB 可用空间。
4.2 两种下载方式,按需选择
方式一:Hugging Face CLI(推荐国内用户)
# 1. 安装 CLI 工具 pip install -U "huggingface_hub[cli]" # 2. 设置国内镜像加速(关键!) export HF_ENDPOINT=https://hf-mirror.com # 3. 断点续传下载(不怕中断) huggingface-cli download \ --resume-download \ zai-org/AutoGLM-Phone-9B \ --local-dir ./models/AutoGLM-Phone-9B方式二:ModelScope(国内最快,无需注册)
pip install modelscope python -c " from modelscope import snapshot_download snapshot_download( 'ZhipuAI/AutoGLM-Phone-9B', local_dir='./models/AutoGLM-Phone-9B' ) "下载完成后,检查目录:
ls ./models/AutoGLM-Phone-9B应包含config.json,model.safetensors,preprocessor_config.json等文件。
4.3 本地运行:一条命令启动你的手机助理
# 基础命令(Mac/Linux) python main.py \ --local \ --model ./models/AutoGLM-Phone-9B \ "打开微信" # Windows 用户(路径用反斜杠) python main.py ^ --local ^ --model .\models\AutoGLM-Phone-9B ^ "打开微信"--local:启用本地 MLX 推理(Apple Silicon)或 CPU 推理(Windows/Linux)--model:指向你下载的模型完整路径- 最后字符串:你的自然语言指令(支持中文,无需特殊格式)
首次运行会加载模型(约 30 秒),随后打印
Connected to device: ABC123456789,接着开始截图、推理、执行。看到Task completed successfully即成功。
5. 远程部署:没有 Mac?用云服务器跑模型,本地只做控制
5.1 为什么需要远程模式?
- 你的电脑是 Windows x64 或 Linux,没有 Apple Silicon
- 你希望模型在高性能 GPU 服务器上运行,本地只负责 ADB 控制
- 你想让多台手机共用一个模型服务
此时,你只需部署一个vLLM API 服务端,本地 Open-AutoGLM 作为客户端调用。
5.2 服务端快速启动(Ubuntu 示例)
# 1. 安装 vLLM(需 CUDA 12.1+) pip install vllm # 2. 启动 API 服务(假设模型已下载到 /data/models/AutoGLM-Phone-9B) python -m vllm.entrypoints.openai.api_server \ --model /data/models/AutoGLM-Phone-9B \ --dtype half \ --tensor-parallel-size 1 \ --max-model-len 4096 \ --port 8800 \ --host 0.0.0.0服务启动后,访问
http://<服务器IP>:8800/v1/models应返回模型信息。
5.3 客户端调用:本地电脑只管连接和指令
python main.py \ --device-id ABC123456789 \ --base-url http://192.168.1.100:8800/v1 \ # 替换为你的服务器IP和端口 --model "autoglm-phone-9b" \ "打开抖音搜索‘AI 教程’"--device-id:adb devices查到的设备 ID--base-url:指向你的 vLLM 服务地址--model:服务端注册的模型名(vLLM 默认为目录名,此处即autoglm-phone-9b)
此模式下,本地电脑不加载模型,内存占用 <500MB,所有推理在服务器完成。
6. 实战运行:从第一条指令到稳定工作流
6.1 快速测试:30 秒验证全流程
# 运行交互模式(方便调试) python main.py --local --model ./models/AutoGLM-Phone-9B # 终端出现 > 提示符后,输入: > 打开设置 > 点击关于手机 > 连续点击版本号7次 > 退出成功表现:手机自动执行全部动作,最后回到桌面。若卡在某步,按Ctrl+C中断,检查日志中ERROR行。
6.2 生产级参数组合(推荐保存为脚本)
#!/bin/bash # run_task.sh(macOS/Linux) python main.py \ --local \ --model ./models/AutoGLM-Phone-9B \ --device-id $(adb devices | sed -n '2p' | awk '{print $1}') \ --lang cn \ --max-steps 80 \ --temperature 0.01 \ "$1"使用:chmod +x run_task.sh && ./run_task.sh "打开淘宝搜iPhone15"
6.3 敏感操作安全机制(必须了解)
Open-AutoGLM 内置双重保护:
- 自动识别敏感动作:检测到“支付”、“转账”、“登录”、“验证码”等关键词,自动暂停并提示
- 人工接管接口:当需要输入验证码或确认支付时,程序会输出
Takeover required: Please enter verification code,你手动输入后按回车继续
这意味着它永远不会在你不知情时完成支付,安全边界清晰。
7. 常见问题排查:90% 的问题都在这里
7.1 ADB 连接类
| 现象 | 原因与解法 |
|---|---|
adb devices无输出 | ① 数据线非传输线;② 手机未授权;③ 开发者选项未开启;④ Windows 驱动未安装(去官网下 Android ADB Interface 驱动) |
error: device unauthorized | 拔掉数据线 → 关闭开发者选项 → 重新开启 → 重连 → 授权 |
WiFi 连接后adb devices显示offline | ① 手机与电脑不在同一局域网;② 手机防火墙阻止;③ 执行adb tcpip 5555后未断开 USB 直接连 WiFi(必须先断 USB) |
7.2 模型与运行类
| 现象 | 原因与解法 |
|---|---|
ImportError: No module named 'mlx' | Apple Silicon 用户未装 MLX;x86 用户误加--local(应删掉,走远程模式) |
OSError: Unable to load weights | 模型路径错误,检查./models/AutoGLM-Phone-9B下是否有model.safetensors文件 |
| 运行卡住,无日志输出 | 检查手机是否在锁屏状态(需解锁);检查 ADB Keyboard 是否启用;尝试重启 adb server(adb kill-server && adb start-server) |
| 中文输入乱码或失败 | ① ADB Keyboard 未设为默认;② 手机系统语言非中文;③ 执行adb shell settings put secure default_input_method com.android.adbkeyboard/.AdbIME强制设置 |
7.3 性能优化提示
- 内存不足(Killed):立即使用 4-bit 量化模型(见参考博文 4.3 节),16GB 内存可流畅运行
- 截图黑屏:属系统限制(银行/支付类 App),模型会自动触发人工接管,无需干预
- 响应慢:关闭手机后台所有非必要 App;降低手机屏幕分辨率(设置 → 显示 → 分辨率 → 选 HD+);优先使用 USB 连接而非 WiFi
8. 总结:你已经拥有了一个真正的手机 AI 助理
8.1 本文你实际掌握了什么?
- 环境配置闭环:从 ADB 安装、手机开发者设置、ADB Keyboard 配置,到 Python 依赖安装,全部实操验证
- 模型部署双路径:既可本地 MLX 运行(Apple Silicon),也可远程 vLLM 服务(全平台通用)
- 指令执行全流程:理解“截图→解析UI→规划动作→生成JSON→调用ADB”的完整链路
- 生产可用保障:掌握敏感操作防护、WiFi/USB 切换、错误日志定位等工程化要点
8.2 下一步你可以做什么?
- 尝试更复杂的指令:“打开高德地图,搜索‘最近的苹果授权店’,导航过去,途中播放播客”
- 将
main.py封装为 macOS 快捷指令或 Windows 批处理,一键唤醒 - 结合定时任务(cron / Task Scheduler),实现“每天早8点自动打卡”
- 阅读
phone_agent/agent.py源码,修改max_steps或添加自定义动作类型
Open-AutoGLM 的价值不在于炫技,而在于把前沿多模态能力,变成你手机里一个安静、可靠、永远在线的数字同事。它不替代你思考,但替你执行那些重复、琐碎、必须点按的操作——而这,正是 AI 赋能最朴实也最有力的方式。
--- > **获取更多AI镜像** > > 想探索更多AI镜像和应用场景?访问 [CSDN星图镜像广场](https://ai.csdn.net/?utm_source=mirror_blog_end),提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。