手把手教你部署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 输入法

设置步骤极简:

  1. 进入「设置 → 关于手机」,连续点击「版本号」7次,直到弹出“您已处于开发者模式”;
  2. 返回设置,进入「开发者选项」,开启「USB调试」;
  3. 下载 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),提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。
Logo

小龙虾开发者社区是 CSDN 旗下专注 OpenClaw 生态的官方阵地,聚焦技能开发、插件实践与部署教程,为开发者提供可直接落地的方案、工具与交流平台,助力高效构建与落地 AI 应用

更多推荐