从下载到运行:Open-AutoGLM完整上手流程
1. 这不是“另一个手机自动化工具”,而是一个真正能听懂你说话的AI助手
你有没有过这样的时刻:
想在小红书搜“最近爆火的咖啡馆”,但正开会没法点手机;
想给长辈远程教怎么用微信视频,却只能干着急;
或者只是单纯厌倦了每天重复点开App、输入关键词、滑动找结果——这些动作,本不该由人来完成。
Open-AutoGLM 就是为此而生的。它不是简单的脚本录制回放,也不是靠固定坐标点击的脆弱方案。它用视觉语言模型“看懂”你的手机屏幕,再用自然语言理解你的意图,最后通过 ADB 精准执行每一步操作。你说“打开抖音搜dycwo11nt61d并关注”,它就真的会打开App、输入框、搜索、点进主页、找到关注按钮——全程无需你碰一下屏幕。
更关键的是,它不依赖云端识别截图,所有视觉理解都在本地或可控服务端完成;它支持真机+WiFi远程调试,也兼容模拟器开发;它甚至会在遇到登录页或验证码时主动暂停,等你人工接管——安全、可控、真实可用。
这篇文章不讲原理、不堆参数,只带你从零开始:
下载代码、装好环境
连上你的安卓手机(USB 或 WiFi 都行)
启动一个可工作的模型服务
输入一句中文,亲眼看着 AI 替你完成整套操作
全程不需要写一行新代码,也不需要调任何模型权重。你只需要按顺序做对几件事,就能让手机第一次真正“听你的话”。
2. 准备工作:三步搞定硬件与基础环境
别被“多模态”“视觉语言模型”吓住——Open-AutoGLM 的控制端(也就是你电脑上跑的部分)其实非常轻量。真正复杂的模型推理可以部署在你自己的服务器上,本地只需负责“看图+发指令”。我们先聚焦在最实在的准备环节。
2.1 你的设备要满足什么条件?
| 项目 | 要求 | 说明 |
|---|---|---|
| 本地电脑 | Windows 10+/macOS 12+ | 不需要显卡,纯 CPU 也能跑通控制逻辑 |
| Python 版本 | 3.10 或更高 | 推荐用pyenv或conda管理,避免系统 Python 冲突 |
| 安卓设备 | Android 7.0 及以上 | 真机优先(模拟器仅限开发测试),建议使用近3年主流机型 |
| 网络环境 | USB 数据线 或 同一局域网 | WiFi 方式更灵活,但首次连接必须用 USB 开启 TCP/IP |
注意:这不是一个“装个App就能用”的产品。它需要你开启开发者选项、配置 ADB、连接设备——听起来像极了当年第一次刷机。但别担心,下面每一步都配了明确指令和验证方式,错一步马上能发现。
2.2 安装并验证 ADB 工具
ADB 是整个流程的“神经中枢”。没有它,AI 再聪明也摸不到你的手机。
Windows 用户:
- 去 Android SDK Platform-Tools 页面 下载 zip 包
- 解压到一个固定路径,比如
C:\adb - 按
Win + R→ 输入sysdm.cpl→ “高级” → “环境变量” → 在“系统变量”里找到Path→ “编辑” → “新建” → 粘贴C:\adb - 打开新命令提示符,输入:
如果看到类似adb versionAndroid Debug Bridge version 1.0.41的输出,说明成功。
macOS 用户:
- 终端中执行:
curl -O https://dl.google.com/android/repository/platform-tools-latest-darwin.zip unzip platform-tools-latest-darwin.zip export PATH="$PATH:$(pwd)/platform-tools" - 验证方式同上:
adb version
- 终端中执行:
验证通过后,你已经拥有了和安卓设备通信的能力。接下来,就是让手机“认出”你的电脑。
2.3 手机端三步设置:开启调试、授权、换输入法
这三步缺一不可,且顺序不能乱:
开启开发者模式
进入「设置」→「关于手机」→ 连续点击「版本号」7次 → 弹出“您现在是开发者”提示。开启 USB 调试
返回「设置」→「系统」→「开发者选项」→ 找到「USB 调试」并开启。
如果没看到「开发者选项」,请确认上一步已成功。安装并启用 ADB Keyboard(关键!)
- 下载 ADB Keyboard APK(推荐 v1.3+)
- 用 USB 连接手机与电脑,在电脑终端执行:
adb install adbkeyboard.apk - 手机上进入「设置」→「语言与输入法」→「当前键盘」→ 切换为ADB Keyboard
- 此时手机屏幕顶部状态栏应显示“ADB Keyboard”字样
完成后,你的手机已准备好接收来自电脑的任何操作指令——点击、滑动、输入文字,全部可控。
3. 控制端部署:5分钟拉起本地代理
控制端代码完全开源,无需编译,纯 Python。它的作用很清晰:
🔹 定期截取手机屏幕 → 传给模型服务
🔹 接收模型返回的操作指令(如“点击坐标(320,650)”)→ 转为 ADB 命令执行
🔹 在用户指令、模型响应、设备状态之间做协调与容错
3.1 克隆代码并安装依赖
打开终端(Windows 用 PowerShell / macOS 用 Terminal),依次执行:
# 1. 克隆仓库(国内用户可加 --depth=1 加速) git clone https://github.com/zai-org/Open-AutoGLM cd Open-AutoGLM # 2. 创建虚拟环境(强烈推荐,避免包冲突) python -m venv venv source venv/bin/activate # macOS/Linux # venv\Scripts\activate # Windows # 3. 安装依赖(requirements.txt 已预置适配版本) pip install -r requirements.txt pip install -e .执行完
pip install -e .后,你已在本地注册了phone_agent模块,后续 Python 脚本可直接import phone_agent。
3.2 连接你的手机:USB 和 WiFi 两种方式
确保手机已用 USB 连接电脑,并开启了 USB 调试。
USB 直连(推荐新手首选):
adb devices输出应类似:
List of devices attached 1234567890abcdef device记下那一串字母数字组合(即
device-id),后面要用。WiFi 远程连接(适合长期使用):
- 先用 USB 连接,执行:
adb tcpip 5555 - 拔掉 USB 线,确保手机和电脑在同一 WiFi 下
- 查看手机 IP(设置 → 关于手机 → 状态 → IP 地址),假设为
192.168.1.105 - 执行:
adb connect 192.168.1.105:5555 - 再次
adb devices,应看到192.168.1.105:5555 device
- 先用 USB 连接,执行:
无论哪种方式,只要
adb devices显示device,就代表控制端已能触达手机。
4. 模型服务启动:本地快速体验(无需GPU)
你不需要自己训练模型,也不必租用昂贵显卡服务器。Open-AutoGLM 官方提供了两个开箱即用的量化模型,其中AutoGLM-Phone-9B-INT4可在消费级显卡(如 RTX 3060)甚至高端 CPU 上流畅运行。
4.1 使用 vLLM 快速启动服务(推荐)
vLLM 是目前最轻量、最稳定的 LLM 服务框架之一。我们用它把模型变成一个标准 OpenAI API 服务:
# 安装 vLLM(需 CUDA 支持,若无 GPU 可跳过此步,改用 CPU 模式) pip install vllm # 启动服务(以下命令适用于 RTX 3060 / 4090 等常见显卡) python3 -m vllm.entrypoints.openai.api_server \ --served-model-name autoglm-phone-9b \ --model zai-org/AutoGLM-Phone-9B \ --dtype half \ --gpu-memory-utilization 0.9 \ --max-model-len 25480 \ --chat-template-content-format string \ --limit-mm-per-prompt '{"image":10}' \ --mm-encoder-tp-mode data \ --mm_processor_cache_type shm \ --mm_processor_kwargs '{"max_pixels":5000000}' \ --port 8000启动成功后,访问
http://localhost:8000/v1/models应返回 JSON,包含"id":"autoglm-phone-9b"—— 这说明模型服务已就绪。
4.2 无GPU用户替代方案:CPU 模式(稍慢但可用)
如果你只有 CPU(如 MacBook M1/M2),可改用llama.cpp+llava分支的轻量实现(社区已有适配版)。我们提供一个最小可行命令:
# 安装 llama-cpp-python(需先装 cmake、rust) pip install llama-cpp-python # 下载量化模型(GGUF 格式,约 4.2GB) wget https://huggingface.co/zai-org/AutoGLM-Phone-9B-GGUF/resolve/main/ggml-model-Q4_K_M.gguf # 启动 API 服务(端口 8000) python -m llama_cpp.server --model ggml-model-Q4_K_M.gguf --n-gpu-layers 0 --port 8000此时
http://localhost:8000/v1/models同样应返回模型信息。虽然推理速度比 GPU 慢 3–5 倍,但足以完成演示任务。
5. 第一次运行:用一句话让AI接管你的手机
现在,所有齿轮都已咬合。我们来执行那个最经典的指令:
“打开抖音搜索抖音号为:dycwo11nt61d 的博主并关注他!”
5.1 命令行一键执行(最简方式)
在Open-AutoGLM项目根目录下,执行:
python main.py \ --device-id 1234567890abcdef \ --base-url http://localhost:8000/v1 \ --model "autoglm-phone-9b" \ "打开抖音搜索抖音号为:dycwo11nt61d 的博主并关注他!"--device-id:替换为你adb devices看到的 ID--base-url:保持http://localhost:8000/v1(若模型服务在其他机器,改 IP 和端口)- 最后字符串:就是你要下达的自然语言指令,中文即可,无需特殊格式
你会看到终端逐行输出:
[INFO] 截取屏幕截图 → 上传至模型服务 [INFO] 模型返回:{"action":"open_app","app_name":"抖音"} [INFO] 执行:adb shell am start -n com.ss.android.ugc.aweme/.main.MainActivity [INFO] 截取新截图 → 上传 [INFO] 模型返回:{"action":"click","x":180,"y":120} ... [INFO] 任务完成整个过程约 20–60 秒(取决于模型加载速度和网络延迟)。你会亲眼看到手机自动亮屏、打开抖音、点击搜索框、输入ID、点进主页、按下关注按钮——全部由 AI 规划并执行。
5.2 Python API 调用(适合集成进自己的工具)
如果你希望把它嵌入脚本或 Web 界面,用 API 更灵活:
from phone_agent import PhoneAgent from phone_agent.model import ModelConfig # 配置模型服务地址 model_config = ModelConfig( base_url="http://localhost:8000/v1", model_name="autoglm-phone-9b", ) # 创建代理实例(自动连接默认设备) agent = PhoneAgent(model_config=model_config) # 下达指令 result = agent.run("打开小红书搜‘上海宝藏咖啡馆’") print("执行结果:", result["status"]) # success / failed print("详细步骤:", result["steps"])
result["steps"]会返回一个结构化列表,包含每一步操作类型、坐标、截图哈希、耗时等,方便你做日志分析或失败回溯。
6. 常见问题与避坑指南(来自真实踩坑记录)
即使按上述步骤操作,也可能遇到几个高频问题。以下是我们在实测中总结的“血泪经验”:
6.1 ADB 连接不稳定?试试这三招
- 现象:
adb devices有时显示unauthorized,有时干脆不显示设备 - 原因:手机弹出的“允许 USB 调试”对话框被忽略,或授权被拒绝
- 解法:
- 断开 USB,关闭手机“开发者选项”
- 重新开启“开发者选项”和“USB 调试”
- 再次连接,务必在手机上点击“允许”(勾选“始终允许”)
6.2 模型返回乱码或卡住?检查这两个参数
- 现象:终端卡在
[INFO] 模型返回:...,或返回一堆符号 - 原因:vLLM 启动时
--max-model-len设置过小,或--mm_processor_kwargs中max_pixels不匹配 - 解法:
- 确保
--max-model-len 25480(官方推荐值) - 确保
--mm_processor_kwargs '{"max_pixels":5000000}'(对应 2000×2500 像素截图) - 若仍失败,临时加
--enforce-eager参数禁用 CUDA 图优化
- 确保
6.3 手机没反应?先确认 ADB Keyboard 是否生效
- 现象:AI 说“正在输入xxx”,但手机键盘没弹出,文字没出现
- 原因:ADB Keyboard 未设为默认输入法,或被系统强制切换回原生键盘
- 解法:
- 手机进入「设置」→「语言与输入法」→ 确认「ADB Keyboard」在启用列表且为默认
- 在任意输入框长按 → “选择输入法” → 手动切回 ADB Keyboard
- 重启手机(部分厂商需重启才生效)
6.4 想换模型?两个官方推荐版本
| 模型 | 适用场景 | 下载方式 |
|---|---|---|
zai-org/AutoGLM-Phone-9B | 中文任务优先,小红书/抖音/淘宝等国内 App 识别率高 | Hugging Face / ModelScope |
zai-org/AutoGLM-Phone-9B-Multilingual | 需处理英文界面、海外 App(如 Instagram、Chrome) | 同上,注意切换--lang en参数 |
切换模型只需改
--model参数和--base-url后端服务模型名,无需重装代码。
7. 总结:你刚刚完成了一次真正的“人机协作”启动
回顾这一路:
🔹 你配置了 ADB,让电脑真正“看见”了手机;
🔹 你安装了控制端,搭建起指令与动作之间的桥梁;
🔹 你启动了模型服务,赋予手机“理解屏幕+规划动作”的能力;
🔹 你输入一句中文,见证了 AI 自动完成打开App、搜索、点击、关注的全过程。
这不是 Demo,不是 PPT,而是今天就能跑通的真实能力。Open-AutoGLM 的价值,不在于它多炫技,而在于它把“自动化”的门槛降到了最低——你不需要懂强化学习,不需要写 XPath,甚至不需要知道什么叫“多模态”,只要你会说中文,就能指挥手机做事。
下一步,你可以:
🔸 尝试更多指令:“给微信里‘张三’发消息‘会议推迟到3点’”
🔸 把main.py改造成 Web 界面,让家人也能用语音下发指令
🔸 结合定时任务,让手机每天早上自动截图健康数据发给你
🔸 在examples/目录里探索批量任务、单步调试、错误恢复等进阶用法
技术的意义,从来不是让人仰望,而是让人伸手就能用。你现在,已经伸出手了。
获取更多AI镜像
想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。