用Open-AutoGLM控制手机,全程无需动手点击
1. 让AI替你操作手机:AutoGLM-Phone 到底有多聪明?
你有没有想过,有一天只要说一句“帮我订个火锅”,手机就能自动打开美团、搜索附近评分高的店、选好套餐、下单支付——整个过程完全不用你点一下屏幕?这听起来像科幻电影里的场景,但现在,通过Open-AutoGLM,这一切已经可以实现。
这不是某个大厂的内部黑科技,而是由智谱AI开源的一个真实可用的项目:AutoGLM-Phone。它是一个基于视觉语言模型的 AI 手机智能助理框架,能“看懂”你的手机屏幕、“听懂”你的自然语言指令,并通过 ADB 自动完成点击、滑动、输入等操作。
简单来说,它让手机拥有了“眼睛”和“大脑”:
- 眼睛:通过截图理解当前界面内容(比如按钮文字、布局结构)
- 大脑:结合多模态大模型分析意图,规划下一步动作
- 手:通过 ADB 发送模拟操作命令,真正实现“全自动”
用户只需要一句话:“打开小红书搜美食”,系统就会自动解析、思考、执行,直到任务完成。更贴心的是,遇到支付、删除等敏感操作时,还会暂停并提示你确认,避免误操作。
这个项目特别适合两类人:
- 普通用户:想解放双手,让AI帮你处理重复性手机操作
- 开发者/极客:希望探索AI Agent在移动端的实际应用边界
接下来,我会带你从零开始部署这套系统,让你也能拥有一个属于自己的“贾维斯”。
2. 准备工作:软硬件清单与环境搭建
2.1 硬件要求:你手头的设备够用吗?
要运行 Open-AutoGLM,你需要准备以下几样东西:
| 设备 | 要求说明 |
|---|---|
| 电脑 | Windows 或 macOS,建议16GB内存以上,至少50GB硬盘空间用于存放模型 |
| 手机 | Android 7.0 及以上系统的真机或模拟器 |
| 数据线 | 支持数据传输的USB线(用于初始连接) |
| 网络 | 稳定的Wi-Fi环境,便于远程调试 |
为什么需要这么高的配置?因为核心模型AutoGLM-Phone-9B是一个多模态大模型,参数量达到90亿级别,加载后会占用大量显存。如果你有NVIDIA显卡(建议12GB显存以上),推理速度会更快;没有也没关系,可以用CPU模式运行,只是慢一些。
2.2 安装Python:为项目打基础
Open-AutoGLM 是基于 Python 开发的,所以第一步是安装合适的 Python 版本。
Windows 用户:
- 前往 python.org 下载 Python 3.10 或更高版本
- 安装时务必勾选“Add Python to PATH”
- 打开命令提示符,输入
python --version,看到版本号即表示成功
Mac 用户:
使用 Homebrew 更方便:
brew install python@3.10然后验证:
python3 --version2.3 配置 ADB 工具:连接手机的桥梁
ADB(Android Debug Bridge)是你电脑和手机之间的通信工具。所有自动化操作都依赖它来发送指令。
下载 platform-tools
前往 Android 开发者官网 下载对应系统的压缩包。
配置环境变量
Windows:
- 解压文件到某个目录(如
D:\adb) - 按
Win + R输入sysdm.cpl→ 高级 → 环境变量 - 在“系统变量”中找到
Path,点击编辑 → 新建 → 添加你的 ADB 路径 - 打开新终端,输入
adb version查看是否正常输出版本信息
- 解压文件到某个目录(如
Mac: 在终端执行:
export PATH=${PATH}:~/Downloads/platform-tools如果你想永久生效,可以把这行加到
~/.zshrc文件里。
2.4 手机端设置:开启开发者权限
这是最关键的一步,否则电脑无法控制手机。
- 进入手机“设置” → “关于手机”
- 连续点击“版本号”7次,直到提示“您已进入开发者模式”
- 返回设置主菜单 → “开发者选项” → 开启“USB调试”
- (可选但推荐)开启“无线调试”,方便后续WiFi连接
完成后,当你用数据线连接电脑时,手机会弹出“允许USB调试吗?”的提示,记得点击“允许”。
3. 核心部署:一步步启动你的AI助手
3.1 安装 ADB Keyboard:让AI能打字
默认情况下,AI可以通过ADB模拟点击和滑动,但无法输入中文。为此,我们需要安装一个特殊的输入法:ADB Keyboard。
- 下载 ADBKeyboard.apk(GitHub开源项目)
- 将手机通过USB连接电脑
- 在命令行执行:
adb install ADBKeyboard.apk - 安装成功后,进入手机“设置” → “语言与输入法” → “虚拟键盘” → 启用 ADB Keyboard
- 设置为默认输入法
这样,当AI需要输入文字时,就可以通过ADB发送文本指令,由 ADB Keyboard 接收并显示在屏幕上。
3.2 克隆并安装 Open-AutoGLM 控制端
现在我们来下载本地控制代码:
git clone https://github.com/zai-org/Open-AutoGLM cd Open-AutoGLM安装依赖项:
pip install -r requirements.txt pip install -e .这里的-e .表示以可编辑模式安装,方便后续修改源码。
3.3 连接设备:USB还是WiFi?
你可以选择两种方式连接手机。
USB 连接(最稳定)
- 用数据线连接手机和电脑
- 执行:
输出类似:adb devices
出现List of devices attached 1234567890ABCDEF devicedevice字样说明连接成功。
WiFi 远程连接(更自由)
如果不想一直插着线,可以用WiFi连接:
- 先用USB连接,执行:
adb tcpip 5555 - 断开数据线,在手机“无线调试”中查看IP地址(如
192.168.1.100) - 执行连接:
adb connect 192.168.1.100:5555
之后即使拔掉线,也能继续控制手机。
4. 启动AI代理:让它接管你的手机
4.1 如何运行?一条命令就够了
假设你已经在云服务器上部署好了模型服务(监听在http://your-server-ip:8000/v1),现在可以在本地运行以下命令:
python main.py \ --device-id 1234567890ABCDEF \ --base-url http://your-server-ip:8000/v1 \ --model "autoglm-phone-9b" \ "打开抖音搜索抖音号为:dycwo11nt61d 的博主并关注他!"参数说明:
--device-id:通过adb devices获取的设备ID--base-url:模型API地址(必须包含/v1)- 最后的字符串:你要下达的自然语言指令
执行后,你会看到类似这样的输出:
💭 思考过程: 正在桌面,需要找到抖音App图标 执行动作: {"action": "Launch", "app": "抖音"}紧接着,手机上的抖音会被自动打开,搜索指定账号并完成关注操作。
4.2 使用 Python API 实现更灵活控制
对于开发者来说,直接调用 Python API 更加灵活。
from phone_agent.adb import ADBConnection from phone_agent import PhoneAgent from phone_agent.model import ModelConfig # 连接设备 conn = ADBConnection() conn.connect("192.168.1.100:5555") # 配置模型 model_config = ModelConfig( base_url="http://your-server-ip:8000/v1", model_name="autoglm-phone-9b" ) # 创建AI代理 agent = PhoneAgent(model_config=model_config) # 下达任务 result = agent.run("打开微信,给‘妈妈’发消息:我到家了") print(f"任务结果: {result}")这种方式适合集成到更大的自动化流程中,比如定时提醒、批量操作等。
4.3 敏感操作保护机制:安全第一
为了避免AI误操作造成损失,系统内置了人工确认机制。
例如,当你下达“帮我点一份外卖并付款”时,AI在即将发起支付前会暂停,并打印:
即将进行支付操作,金额:38.5元,是否继续?(y/n)你可以在代码中自定义确认逻辑:
def confirm_action(message): print(f"\n🚨 确认请求: {message}") return input("继续?(y/n): ").lower() == 'y' agent = PhoneAgent( model_config=model_config, confirmation_callback=confirm_action )这样一来,关键操作始终掌握在你手中。
5. 实战案例:这些任务都能自动完成
5.1 生活服务类任务
示例1:点外卖
python main.py --base-url http://localhost:8000/v1 --model "autoglm-phone-9b" "打开美团,搜索附近的川菜馆,选评分最高的那家"AI会自动:
- 打开美团
- 定位当前位置
- 搜索“川菜”
- 按评分排序
- 展示结果
示例2:打车回家
python main.py --base-url http://localhost:8000/v1 --model "autoglm-phone-9b" "打开滴滴,设置目的地为‘北京市朝阳区国贸大厦’,呼叫快车"5.2 电商购物类任务
示例3:淘宝比价
python main.py --base-url http://localhost:8000/v1 --model "autoglm-phone-9b" "打开淘宝搜索蓝牙耳机,按销量排序,找出价格在200元以内的前三款"AI不仅能执行操作,还能做简单的信息提取和判断。
5.3 社交娱乐类任务
示例4:小红书种草
python main.py --base-url http://localhost:8000/v1 --model "autoglm-phone-9b" "打开小红书搜索‘北京周末去哪玩’,收藏点赞最高的笔记"示例5:抖音互动
python main.py --base-url http://localhost:8000/v1 --model "autoglm-phone-9b" "打开抖音,搜索‘科技测评’,关注前三个博主"这些任务看似简单,但涉及多个APP跳转、UI识别、滚动查找、点击判断等复杂流程,传统脚本很难稳定实现。而 AutoGLM 借助视觉理解能力,能够像人一样“观察→思考→行动”。
6. 常见问题与解决方案
6.1 设备连接失败
现象:adb devices显示unauthorized或无设备
解决方法:
- 检查手机是否弹出“允许调试”对话框,必须手动点击“允许”
- 更换USB线或接口
- 重启 ADB 服务:
adb kill-server adb start-server
6.2 中文输入失效
现象:AI尝试输入文字但屏幕无反应
检查点:
- 是否已安装 ADB Keyboard?
- 是否已在系统设置中将其设为默认输入法?
- 重启手机后再试一次
6.3 模型响应缓慢或乱码
可能原因:
- 云服务器防火墙未开放端口
- vLLM 启动参数不匹配(特别是
max-model-len和显存设置) - 网络延迟高
建议做法:
- 在本地启动模型服务测试(
--base-url http://localhost:8000/v1) - 查看服务端日志是否有报错
- 确保模型路径正确且文件完整(约18GB)
7. 总结:未来已来,只是分布不均
通过本文的详细指导,你应该已经掌握了如何使用Open-AutoGLM实现对手机的全自动控制。这个项目不仅展示了多模态大模型在真实世界中的落地潜力,也让我们看到了 AI Agent 的未来方向——不再是被动回答问题,而是主动帮你做事。
它的价值体现在三个方面:
- 效率提升:把重复的手动操作交给AI,节省时间
- 技术探索:为开发者提供了一个研究手机端AI Agent的实验平台
- 隐私保障:支持本地部署,数据不出设备,安全性更高
当然,目前它还存在一些局限:
- 对复杂动态页面的理解仍有误差
- 某些APP的反自动化机制可能导致失败
- 模型资源消耗较大,普通设备难以运行
但作为一款完全开源的项目,它的意义远超当前功能本身。随着社区贡献和迭代优化,我们有理由相信,未来的手机将真正成为一个“听得懂、看得清、做得对”的智能伙伴。
获取更多AI镜像
想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。