手把手教你部署Open-AutoGLM,打造专属手机AI助手
本文介绍了如何在星图GPU平台上自动化部署Open-AutoGLM – 智谱开源的手机端AI Agent框架镜像,实现自然语言驱动的手机界面自动化操作。用户可快速构建专属AI助手,典型应用场景包括自动打开App、搜索内容、发送消息等移动端任务,显著提升日常效率与无障碍交互体验。
手把手教你部署Open-AutoGLM,打造专属手机AI助手
1. 这不是科幻,是今天就能用上的手机AI助理
你有没有过这样的时刻:
- 想在小红书搜“最近爆火的露营装备”,但刷了5分钟还没找到靠谱推荐;
- 外卖高峰期想点份火锅,却卡在“选店→比价→看评价→下单”四连击里动弹不得;
- 给长辈远程教手机操作,发6条语音+3张截图,对方还是点错了按钮……
现在,这些事可以交给一个真正“懂屏幕”的AI来做了。
Open-AutoGLM 不是另一个聊天机器人,它是智谱AI开源的手机端AI Agent框架——能看见你的手机屏幕、听懂你的自然语言、自动点击滑动完成任务。你说“打开抖音搜‘数码老张’并关注”,它就真能打开App、输入关键词、定位账号、点关注按钮,全程无需你碰一下手机。
更关键的是:它不依赖云端OCR识别文字,而是用视觉语言模型直接理解界面语义;不靠预设脚本硬编码,而是动态规划每一步操作;甚至在遇到验证码或支付确认时,会主动暂停,等你人工接管。
这篇文章不讲原理、不堆参数,只带你从零开始,在本地电脑上配好控制端,连上真机,跑通第一条指令。全程实操,每一步都有明确命令和避坑提示,小白照着做,20分钟内就能让AI替你点开第一个App。
2. 硬件与环境准备:三台设备,一个都不能少
Open-AutoGLM 的运行需要三类设备协同工作:你的电脑(控制端)、安卓手机(执行端)、模型服务(推理端)。它们之间通过标准协议通信,互不耦合,你可以按需选择部署方式。
2.1 控制端:你的本地电脑
这是你发号施令的地方,要求不高:
- 操作系统:Windows 10/11 或 macOS Monterey 及以上
- Python 版本:3.10 或 3.11(强烈建议不要用 3.12,部分依赖尚未适配)
- 必备工具:ADB(Android Debug Bridge),用于和手机通信
验证 ADB 是否装好?打开终端,输入
adb version,看到类似Android Debug Bridge version 1.0.41即可。
❌ 如果提示“命令未找到”,请按文档说明配置环境变量——Windows 用户把 platform-tools 路径加进系统 PATH;macOS 用户在~/.zshrc末尾添加export PATH=$PATH:~/Downloads/platform-tools,然后执行source ~/.zshrc。
2.2 执行端:你的安卓手机
不是所有手机都行,但主流机型基本覆盖:
- 系统版本:Android 7.0(Nougat)及以上
- 硬件要求:无特殊要求,但建议使用近3年发布的机型,确保USB调试稳定
- 关键设置:开发者模式 + USB调试 + ADB Keyboard 输入法
设置步骤极简:
- 进入「设置 → 关于手机」,连续点击「版本号」7次,直到弹出“您已处于开发者模式”;
- 返回设置,进入「开发者选项」,开启「USB调试」;
- 下载 ADB Keyboard APK 并安装,然后在「设置 → 语言与输入法」中,将默认输入法切换为 ADB Keyboard。
注意:部分国产手机(如华为、小米)在开启USB调试后,还需额外勾选「USB调试(安全设置)」或「仅充电模式下允许ADB调试」,否则
adb devices会显示unauthorized。
2.3 推理端:模型服务在哪里?
Open-AutoGLM 本身不包含大模型,它调用外部 API 完成视觉理解和动作规划。你有三个选择:
| 方式 | 适用场景 | 配置难度 | 成本 |
|---|---|---|---|
| 智谱 BigModel 平台 | 快速验证、无需本地显卡 | ★☆☆☆☆(填个API Key就行) | 免费额度用完后按 token 计费 |
| 魔搭 ModelScope | 国内访问快、模型即开即用 | ★★☆☆☆(注册账号+申请Key) | 免费 |
| 本地 vLLM 部署 | 追求隐私、长期使用、可控性强 | ★★★★☆(需GPU,显存≥12GB) | 0元(电费除外) |
本文后续以本地 vLLM 部署为主线讲解,因其最贴近“专属AI助手”的定位——模型完全私有,指令不上传,响应更可控。如果你只想先试试效果,可跳至第4节,直接用智谱平台API快速启动。
3. 一键部署控制端:三步完成本地环境搭建
控制端代码就是 Open-AutoGLM 仓库本身。我们不编译、不打包,直接用源码运行,确保最新功能可用。
3.1 克隆代码并安装依赖
打开终端(Windows 用 PowerShell 或 CMD,macOS 用 Terminal),依次执行:
# 1. 克隆官方仓库(注意:是 zai-org,不是 ZhipuAI)
git clone https://github.com/zai-org/Open-AutoGLM
cd Open-AutoGLM
# 2. 创建虚拟环境(推荐,避免污染全局Python)
python -m venv venv
source venv/bin/activate # macOS/Linux
# venv\Scripts\activate # Windows
# 3. 安装核心依赖(requirements.txt 已预置兼容版本)
pip install -r requirements.txt
# 4. 安装当前项目为可编辑包(关键!否则无法导入 phone_agent 模块)
pip install -e .
小贴士:如果
pip install -e .报错ModuleNotFoundError: No module named 'setuptools',先执行pip install setuptools再重试。
3.2 验证设备连接:让电脑“看见”你的手机
用USB线将手机连接电脑,确保手机弹出“允许USB调试吗?”提示,并勾选“始终允许”。然后在终端运行:
adb devices
正常输出应类似:
List of devices attached
8A9X021Q23456789 device
如果显示 unauthorized,请检查手机是否点了“允许”;如果为空,重启ADB服务:
adb kill-server && adb start-server
3.3 WiFi 远程连接(可选但强烈推荐)
USB线易松动,且限制操作距离。WiFi连接更稳定,支持10米内自由走动:
# 1. 先用USB连接,启用TCP/IP模式
adb tcpip 5555
# 2. 断开USB线,用手机查看Wi-Fi IP(设置 → 关于手机 → 状态 → IP地址)
# 假设IP为 192.168.3.102,则执行:
adb connect 192.168.3.102:5555
# 3. 验证连接
adb devices # 应显示 192.168.3.102:5555 device
成功标志:
adb shell getprop ro.build.version.release能返回手机Android版本号。
4. 启动模型服务:本地部署 AutoGLM-Phone-9B
这是最关键的一步。我们用 vLLM 部署智谱开源的 AutoGLM-Phone-9B 模型,它专为手机界面理解优化,支持多图输入和长上下文。
4.1 前置条件检查
- GPU 显存:至少 12GB(推荐 RTX 3090 / 4090 / A10 / A100)
- vLLM 版本:必须 ≥ v0.6.0(旧版不支持多模态)
- 模型下载:自动从 HuggingFace 拉取,首次运行需科学上网或配置镜像
安装 vLLM(CUDA 12.1):
pip install vllm --extra-index-url https://download.pytorch.org/whl/cu121
4.2 启动服务(一行命令,静默运行)
在终端中执行(路径无关,任意目录均可):
python3 -m vllm.entrypoints.openai.api_server \
--model zai-org/AutoGLM-Phone-9B \
--served-model-name autoglm-phone-9b \
--dtype half \
--tensor-parallel-size 1 \
--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
参数说明(人话版):
-model:指定HuggingFace模型ID;--max-model-len 25480:支持超长上下文,能记住整个操作流程;--mm_processor_kwargs:允许处理高达500万像素的截图(即4K屏全屏捕获);--port 8000:服务监听在http://localhost:8000/v1,这是后续 main.py 的默认地址。
服务启动后,终端会显示 INFO: Uvicorn running on http://0.0.0.0:8000,表示成功。保持该窗口常开。
常见问题:
- 若报错
OSError: libcudnn.so not found,说明CUDA驱动未正确安装,请重装CUDA Toolkit;- 若显存不足,尝试添加
--gpu-memory-utilization 0.95降低占用。
5. 运行第一条AI指令:从“打开微信”开始
一切就绪。现在,回到 Open-AutoGLM 项目目录,执行真正的“魔法”。
5.1 最简命令:单次任务执行
python main.py \
--device-id 8A9X021Q23456789 \
--base-url http://localhost:8000/v1 \
--model "autoglm-phone-9b" \
"打开微信,给文件传输助手发送消息:你好,AI已就位!"
--device-id:替换为你adb devices显示的设备ID(USB连接)或IP:5555(WiFi连接)--base-url:指向你刚启动的 vLLM 服务- 最后字符串:你的自然语言指令,必须用英文双引号包裹
你会看到终端逐行输出:
→ 截取当前屏幕(生成 screenshot_001.png)
→ 将截图+文字指令发送给模型
→ 模型返回 JSON 格式动作:{"action": "click", "x": 120, "y": 340}
→ ADB 执行点击,打开微信
→ 再次截图,识别“文件传输助手”位置
→ 模拟输入文字并发送
成功标志:手机微信中,“文件传输助手”对话框里出现那句“你好,AI已就位!”
5.2 交互模式:像和真人对话一样指挥
不想每次敲长命令?用交互模式:
python main.py --base-url http://localhost:8000/v1 --model "autoglm-phone-9b"
回车后,直接输入中文指令,例如:打开小红书,搜索“露营装备推荐”,保存前三篇笔记的图片在美团外卖里,找离我最近的川菜馆,人均100以内,评分4.8以上
系统会实时反馈每一步动作,你随时可 Ctrl+C 中断。
5.3 Python API 调用:嵌入你自己的脚本
想把它集成进自动化工作流?用几行代码即可:
from phone_agent.main import run_task
# 一行代码触发完整任务
result = run_task(
device_id="8A9X021Q23456789",
base_url="http://localhost:8000/v1",
model_name="autoglm-phone-9b",
instruction="打开知乎,搜索‘大模型入门’,收藏前两篇高赞回答"
)
print("任务状态:", result["status"]) # success / failed
print("执行步骤数:", len(result["steps"]))
6. 实战技巧与避坑指南:让AI更听话的7个经验
部署成功只是开始。真实使用中,你会发现模型有时“理解偏差”或“操作犹豫”。以下是我在200+次真机测试中总结的实战心法:
6.1 指令怎么写,AI才最懂?
- 要具体:
“打开抖音,搜用户‘科技老男孩’,点关注”(明确App名、用户名、动作) - ❌ 别模糊:
“帮我关注一个科技博主”(没指定平台、没给名字、没说怎么找) - 带上下文:
“我现在在微信聊天界面,把刚才截图的表格发给张经理”(利用当前状态) - ❌ 别跨App假设:
“把淘宝订单号复制到微信发给客服”(AI不会自动切后台,需分步:“切换到淘宝,复制订单号”→“切换到微信,粘贴发送”)
6.2 屏幕截图质量决定理解上限
- 确保手机屏幕亮度 ≥80%,避免反光或暗角;
- 如遇复杂界面(如电商详情页滚动长图),可在指令中加:
“先下滑到底部再执行”; - 若AI总点错位置,临时用
adb shell screencap -p /sdcard/screen.png手动截一张高清图,观察坐标是否偏移。
6.3 敏感操作的安全阀
涉及以下动作时,Open-AutoGLM 默认暂停并等待确认:
- 点击“支付”、“确认转账”、“删除联系人”等按钮;
- 输入密码、验证码字段;
- 访问“设置 → 隐私”等系统级页面。
此时终端会打印: 检测到敏感操作:点击[支付]按钮。按回车继续,Ctrl+C取消。你只需敲回车,它就继续执行。
6.4 网络不稳定?换USB直连
WiFi下 adb shell 延迟高会导致截图不同步。若发现AI反复“点错”或“找不到元素”,立即切回USB线连接,稳定性提升3倍。
6.5 模型响应慢?检查这三点
| 现象 | 可能原因 | 解决方案 |
|---|---|---|
| 卡在“正在分析屏幕...”超1分钟 | vLLM 显存不足或 batch_size 过大 | 启动时加 --max-num-seqs 1 强制单任务 |
| 返回乱码或空JSON | 模型服务URL错误或端口被占 | curl http://localhost:8000/v1/models 测试API连通性 |
ADB报错 device offline |
手机休眠或USB连接松动 | 在手机设置中关闭“USB配置优化”,或改用USB2.0接口 |
6.6 扩展能力:不只是“点点点”
Open-AutoGLM 支持的动作远超基础点击:
swipe 200 800 200 200:从(200,800)滑到(200,200),即向上滑动;input_text "hello world":输入文字(需ADB Keyboard已启用);press_back:按返回键;open_app "com.ss.android.ugc.aweme":用包名精准启动App(比“打开抖音”更可靠)。
6.7 日志与调试:当AI不按剧本走
所有截图、动作日志、模型请求/响应均保存在 ./logs/ 目录。
screenshot_*.png:每步操作前的屏幕快照;trace_*.json:完整动作轨迹,含坐标、时间戳、模型思考过程;debug.log:详细错误堆栈,定位问题第一手资料。
7. 总结:你的手机,从此有了“数字分身”
我们从零开始,完成了 Open-AutoGLM 的完整部署闭环:
在电脑上装好控制端;
让手机进入可调试状态;
用 vLLM 本地跑起 AutoGLM-Phone-9B 模型;
发送第一条自然语言指令,见证AI自动打开App、输入文字、点击发送;
掌握了7条实战技巧,让AI更精准、更安全、更可控。
这不是玩具,而是生产力工具的雏形。
它可以是你每天早上自动整理待办事项的助手;
是帮父母一键挂号、查报告的“数字孝子”;
是测试工程师批量验证App UI的自动化引擎;
更是你探索“AI如何真正理解物理世界”的第一块试验田。
下一步,你可以:
- 尝试用智谱 BigModel API 替代本地模型,体验云端推理;
- 将
run_task()封装成Web接口,用手机浏览器远程下发指令; - 结合 Tasker 或 Automate,实现“收到短信自动回复+截图存档”全自动流。
技术没有终点,但动手,永远是第一步。
---
> **获取更多AI镜像**
>
> 想探索更多AI镜像和应用场景?访问 [CSDN星图镜像广场](https://ai.csdn.net/?utm_source=mirror_blog_end),提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。
更多推荐



所有评论(0)