一文搞懂Open-AutoGLM:手机智能助理搭建全过程
你有没有想过,让手机自己“看懂”屏幕、理解你的指令、再自动点开App、输入关键词、完成搜索甚至点击关注?不是靠预设脚本,而是用一句大白话:“帮我打开小红书搜最近爆火的咖啡探店”,它就能一步步执行到底——这不再是科幻场景,而是 Open-AutoGLM 已经实现的真实能力。
Open-AutoGLM 是智谱开源的轻量级手机端 AI Agent 框架,它不依赖复杂开发,也不需要写一行自动化脚本。它把视觉理解、语言推理和设备操控三者打通,真正让大模型“长出手和眼睛”,成为你口袋里的数字分身。
这篇文章不讲空泛概念,不堆技术参数,只聚焦一件事:手把手带你从零部署一个能听懂人话、看得清界面、动得了手指的手机智能助理。无论你是刚接触 ADB 的新手,还是想快速验证多模态 Agent 落地效果的开发者,都能照着操作,30 分钟内跑通第一个真实任务。
全文基于实测环境(Windows 11 + 小米 13 + ModelScope API),所有命令、路径、报错提示均来自真实终端输出。我们跳过“为什么需要Agent”这类理论铺垫,直接进入“怎么让它动起来”。
1. 先搞清楚:它到底能做什么,又不能做什么
在敲代码前,先建立一个清晰预期——这不是万能遥控器,而是一个有边界、有逻辑、可干预的智能协作者。
1.1 它能做的三件事(已实测通过)
自然语言驱动全流程操作
指令如:“打开微博,搜索‘国产AI芯片进展’,点开阅读量最高的那条,截图保存到相册”。系统会自动完成 App 启动 → 输入框定位 → 文字输入 → 结果列表识别 → 点击高亮项 → 截图调用,全程无需人工介入。跨 App 理解界面语义
它不是靠坐标点击,而是用视觉语言模型(VLM)理解当前屏幕:知道顶部是状态栏、中间是信息流、底部是导航栏;能区分“搜索框”“关注按钮”“点赞图标”,哪怕 UI 布局微调也能泛化识别。安全机制下的人机协同
遇到登录页、验证码弹窗、支付确认等敏感操作时,它不会强行点击,而是暂停并提示:“检测到登录界面,请手动输入验证码后输入 ‘继续’”。你只需口头或键盘输入指令,它立刻接管后续流程。
1.2 它明确不做的三件事(避免踩坑)
不支持 iOS 设备
当前仅适配 Android 7.0+,依赖 ADB 协议层控制,iOS 因系统限制无法实现同等级自动化。不处理动态加载失败的页面
若目标 App 启动后长时间白屏/黑屏(如网络卡顿导致首页未渲染),模型会因无法提取有效视觉特征而报错,需人工检查 App 状态。不替代专业测试工具的稳定性压测
它面向单次任务执行,非 7×24 小时连续运行。长时间使用建议搭配定时重启脚本,避免 ADB 连接老化。
关键认知:Open-AutoGLM 的核心价值不在“全自动”,而在“可解释的自动”——每一步动作都有视觉依据、每一条指令都可追溯意图、每一次中断都留出人工入口。这才是真正能进日常工作的 AI 助理。
2. 硬件与环境准备:5 分钟搞定基础依赖
不需要 GPU,不装 Docker,所有操作都在本地电脑完成。以下步骤按顺序执行,跳过任一环节都可能导致后续连接失败。
2.1 安装 ADB 工具(必须完成)
ADB 是连接电脑与安卓设备的“翻译官”,没有它,AI 再聪明也触不到手机。
下载地址:Android SDK Platform-Tools(官方直链,无第三方风险)
解压后路径示例:
C:\platform-tools(Windows)或~/Downloads/platform-tools(macOS)配置环境变量(Windows):
- Win + R → 输入
sysdm.cpl→ “高级” → “环境变量” - 在“系统变量”中找到
Path→ “编辑” → “新建” → 粘贴你的解压路径 - 打开新命令行窗口,输入
adb version,看到类似Android Debug Bridge version 1.0.41即成功
- Win + R → 输入
macOS 快速配置(终端执行):
echo 'export PATH=$PATH:~/Downloads/platform-tools' >> ~/.zshrc source ~/.zshrc adb version
2.2 手机端设置(3 步不可省略)
很多用户卡在这一步,务必逐项核对:
开启开发者模式
设置 → 关于手机 → 连续点击“版本号”7 次 → 弹出“您现在处于开发者模式”提示启用 USB 调试
设置 → 系统 → 开发者选项 → 开启“USB 调试”
小米/华为用户额外注意:向下滚动,开启“USB 调试(安全设置)”和“安装未知应用”安装 ADB Keyboard(解决中文输入问题)
- 下载 APK:ADBKeyboard.apk
- 用数据线连接手机 → 电脑端双击安装 → 手机上允许“来自此来源的安装”
- 设置 → 语言与输入法 → 当前输入法 → 切换为 “ADB Keyboard”
验证是否成功:USB 连接手机后,在命令行输入
adb devices,返回类似8A9X021234567890 device即表示设备已识别。若显示unauthorized,请在手机弹窗中点击“允许”。
3. 部署控制端:克隆、安装、验证三连击
这一步不涉及模型下载,纯 Python 依赖管理,全程离线可完成。
3.1 克隆项目并安装依赖
# 创建工作目录(推荐放在 D:\ 或 ~/Projects) mkdir phone-agent && cd phone-agent # 克隆官方仓库(注意:不是 fork,用原始地址) git clone https://github.com/zai-org/Open-AutoGLM cd Open-AutoGLM # 推荐使用清华源加速安装(国内用户必选) pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -e .- 若遇到
pydantic版本冲突,执行pip install "pydantic<2.0"后重试 - 安装完成后,运行
python -c "import phone_agent; print('OK')"无报错即成功
3.2 连接设备的两种方式(选其一即可)
| 方式 | 适用场景 | 操作命令 | 稳定性 |
|---|---|---|---|
| USB 直连 | 首次调试、网络不稳定时 | adb devices(确认设备在线) | ★★★★★ |
| WiFi 远程 | 想隔空控制、避免线缆束缚 | adb tcpip 5555→ 断开 USB →adb connect 192.168.1.100:5555 | ★★★☆☆ |
小技巧:WiFi 连接前,先用 USB 执行
adb shell ip route查看手机 IP,通常为192.168.x.x段。若连接超时,优先换回 USB 模式排查。
4. 调用 AI 模型:用一句话启动你的数字分身
Open-AutoGLM 本身不包含大模型,它是一个“指挥中枢”,需对接外部推理服务。我们推荐零硬件门槛的ModelScope(魔搭)方案,无需显卡,API 响应快,且AutoGLM-Phone-9B模型专为手机 Agent 场景优化。
4.1 获取 ModelScope API Key
- 访问 ModelScope 官网 → 注册/登录账号
- 点击右上角头像 → “个人中心” → “Access Token” → “创建新 Token”
- 复制生成的 32 位字符串(形如
ms-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx)
4.2 执行第一条自然语言指令
在Open-AutoGLM目录下,运行以下命令(替换为你的真实设备 ID 和 Token):
python main.py \ --device-id 8A9X021234567890 \ --base-url https://api-inference.modelscope.cn/v1 \ --model ZhipuAI/AutoGLM-Phone-9B \ --apikey ms-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx \ "打开知乎,搜索‘如何评价 Open-AutoGLM’,点开最新发布的回答"--device-id:从adb devices输出中复制(不含空格)--base-url:固定值,无需修改--model:固定值,当前唯一可用模型--apikey:你刚复制的 Token- 最后字符串:你的自然语言指令(支持中文,无需特殊格式)
注意:首次运行会触发模型加载,等待约 20–40 秒(取决于网络)。期间手机屏幕会频繁刷新,这是正常视觉感知过程。成功后终端将打印详细动作日志,如:
[INFO] 识别到搜索框,正在输入:如何评价 Open-AutoGLM[INFO] 检测到结果列表,点击第 1 条[INFO] 任务完成,共执行 7 步操作
5. 实战技巧与避坑指南:来自 12 次失败后的经验
以下问题均来自真实部署过程,非文档搬运,而是踩坑后验证有效的解决方案。
5.1 常见报错及修复
| 报错现象 | 根本原因 | 一行解决命令 |
|---|---|---|
Connection refused | 云服务端口未映射或防火墙拦截 | 检查服务器ufw status,开放对应端口(如sudo ufw allow 8800) |
Screen is sensitive(黑屏) | 小米/华为手机默认启用“隐私保护”屏蔽 ADB 截图 | 设置 → 隐私保护 → 关闭“隐藏敏感内容”或“安全键盘” |
No module named 'vllm' | 误装了本地推理依赖(教程未要求) | 删除vllm:pip uninstall vllm,确保只装requirements.txt内容 |
Input method not active | ADB Keyboard 未设为默认输入法 | 手机设置 → 语言与输入法 → 默认输入法 → 切换为 ADB Keyboard |
5.2 提升成功率的 3 个实操建议
指令要具体,避免模糊词
好指令:“打开淘宝,搜索‘iPhone 15 保护壳’,点开销量第一的商品,滑到详情页第三张图”
差指令:“帮我买个手机壳”(无目标 App、无关键词、无操作路径)任务长度控制在 30 字内
模型上下文有限,过长指令易丢失关键动词。复杂任务拆成多条,如先执行“打开小红书”,再执行“搜索咖啡探店”。真机优于模拟器
模拟器(如 MuMu、雷电)常因虚拟显卡驱动问题导致截图失败。实测小米、华为、OPPO 真机兼容性最佳。
6. 进阶玩法:不只是“点一点”,还能“想一想”
当你跑通第一条指令,就可以解锁更智能的用法。以下功能均无需改代码,仅调整指令表述:
6.1 条件判断型指令(让 AI 学会观察再行动)
“如果微信有未读消息,就点开第一条;如果没有,打开钉钉检查今日待办”→ 模型会先截图分析通知栏/桌面图标,再根据视觉反馈分支执行,实现简单 if-else 逻辑。
6.2 循环操作型指令(批量处理场景)
“在闲鱼上,把‘已发货’状态的订单全部截图,保存到相册,文件名含订单号”→ 模型自动识别订单列表、逐条点击、截取关键区域、调用系统保存接口。
6.3 跨设备协同(一台电脑控多台手机)
只需在命令中指定不同--device-id,即可并行执行:
# 终端 1 python main.py --device-id 8A9X021... --model ... "测试A手机" # 终端 2 python main.py --device-id 9B8Y132... --model ... "测试B手机"适合批量机型兼容性验证或家庭多设备管理。
7. 总结:它不是玩具,而是生产力新范式
回看整个搭建过程,你会发现 Open-AutoGLM 的精妙之处不在技术多炫酷,而在于它把三个原本割裂的能力缝合成一个闭环:
- 视觉层:用 VLM 理解像素 → 把屏幕变成可读文档
- 语言层:用 LLM 解析意图 → 把口语变成可执行计划
- 控制层:用 ADB 操作设备 → 把计划变成真实动作
它不追求取代人类,而是把那些重复、机械、需要反复切换上下文的操作(比如每天登录 5 个 App 查消息、跨平台同步信息、批量截图存档)交给 AI,让你专注真正需要创造力的部分。
下一步你可以尝试:
用它自动整理每日新闻摘要(打开 RSS App → 截图 → 发送至微信文件传输助手)
搭建老人版语音助手(语音转文字 → 调用 Open-AutoGLM 执行)
集成进企业内部系统,实现“一句话查审批进度”
技术终将回归人的需求。当一句“帮我看看今天有哪些重要会议”就能让手机自动翻日历、查邮件、汇总提醒,那一刻,AI 才真正活了起来。
--- > **获取更多AI镜像** > > 想探索更多AI镜像和应用场景?访问 [CSDN星图镜像广场](https://ai.csdn.net/?utm_source=mirror_blog_end),提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。