news 2026/4/3 4:27:50

手机自动化新玩法:Open-AutoGLM实战应用

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
手机自动化新玩法:Open-AutoGLM实战应用

手机自动化新玩法:Open-AutoGLM实战应用

1. 这不是脚本,是能“看懂”手机的AI助手

你有没有过这样的时刻:
想批量给几十个微信好友发节日祝福,却要一遍遍点开对话框、复制粘贴、点击发送;
想在小红书搜“北京周末亲子活动”,结果手滑点错三次才找到搜索框;
测试一个新上线的电商App,光是重复操作“登录→加购→结算→返回首页”就花了整整一上午……

这些事,现在不用你动手了。

Open-AutoGLM 不是传统意义上的自动化工具——它不靠坐标点击、不靠UI元素ID硬编码、也不需要你写一行XPath。它真正做到了一件事:像人一样看屏幕、理解界面、听懂指令、然后自己动手操作

比如你对它说:“打开美团,搜‘附近2公里内评分4.8以上的川菜馆’,点开第一家,截图保存到相册。”
它会自动完成:启动App → 定位搜索框 → 输入文字 → 解析列表 → 点击目标项 → 截图 → 保存。整个过程无需预设路径,不依赖固定布局,甚至能应对弹窗、广告、加载动画等干扰。

这不是科幻设定,而是智谱AI在2024年10月开源的真实框架。它把视觉语言模型(VLM)和Android底层控制能力拧成一股绳,让手机第一次拥有了“自主执行意图”的能力。

更关键的是,它不挑设备——一台Android 7.0以上的旧手机、一根数据线、一台普通笔记本,就能跑起来。没有云服务依赖,不强制绑定特定硬件,连部署文档里都写着“Windows用户推荐用WSL2”,透着一股务实劲儿。

接下来,我们就从零开始,带你亲手把它装进你的工作流里。不讲原理堆砌,只说你能立刻用上的步骤、踩过的坑、和真实跑通的第一条指令。

2. 准备三样东西:线、手机、和一个命令行窗口

别被“AI Agent”“多模态”这些词吓住。Open-AutoGLM 的本地使用,本质就是三步:连上手机、装好工具、发一条命令。我们按真实操作顺序来。

2.1 先让电脑认出你的手机

这一步卡住的人最多,但原因往往特别朴素:USB线只充电不传数据
你手边那根细长的白色线,大概率是“快充线”,不是“数据线”。试试这个判断法:

  • 插上电脑后,手机通知栏有没有弹出“已连接为传输文件”?
  • 在电脑上打开“此电脑”,能不能看到手机图标?
  • 如果都没有,换一根线——哪怕是从旧手机盒里翻出来的原装线,也比新买的“高颜值快充线”靠谱。

确认线没问题后,按顺序操作:

  1. 打开手机开发者选项:设置 → 关于手机 → 连续点击“版本号”7次 → 弹出“您现在是开发者”
  2. 开启USB调试:设置 → 系统 → 开发者选项 → 打开“USB调试”(部分机型还需勾选“USB调试(安全设置)”)
  3. 连接并授权:用数据线插上电脑 → 手机弹出授权框 → 勾选“始终允许” → 点确定

做完这三步,在电脑命令行输入:

adb devices

如果看到类似这样的输出,说明成功了:

List of attached devices ZY223456789 device

常见报错及解法:

  • 显示unauthorized:断开USB线 → 在开发者选项里点“撤销USB调试授权” → 重连 → 再点“始终允许”
  • 显示空列表:重启ADB服务adb kill-server && adb start-server,再试
  • Windows提示“adb不是内部命令”:去Google平台工具页下载zip包,解压后把文件夹路径加到系统环境变量PATH里

2.2 装一个能打字的“虚拟键盘”

安卓系统默认不支持通过ADB直接输入中文。Open-AutoGLM 需要借助 ADB Keyboard 这个轻量级输入法来突破限制。

在命令行里依次执行(Mac/Linux用户请把adb命令前加./):

# 下载安装包(国内可直连) curl -O https://github.com/senzhk/ADBKeyBoard/raw/master/ADBKeyboard.apk # 安装到手机 adb install ADBKeyboard.apk # 启用输入法 adb shell ime enable com.android.adbkeyboard/.AdbIME # 设为默认 adb shell ime set com.android.adbkeyboard/.AdbIME

验证是否生效:

adb shell settings get secure default_input_method

正确输出应为:com.android.adbkeyboard/.AdbIME

小技巧:装完后,你可以手动在手机“设置→语言与输入法”里确认ADB Keyboard已启用。有些国产ROM会把它藏在“更多输入法”里,需要手动点进去开启。

2.3 克隆代码、装依赖、一句话启动

现在轮到电脑端了。打开终端(Mac/Linux用Terminal,Windows用PowerShell或CMD),执行:

# 克隆项目(约2MB,秒下) git clone https://github.com/zai-org/Open-AutoGLM cd Open-AutoGLM # 创建虚拟环境(避免污染系统Python) python3 -m venv venv source venv/bin/activate # Windows用户用:venv\Scripts\activate # 升级pip并安装依赖(约1分钟) pip install --upgrade pip pip install -r requirements.txt pip install -e .

到这里,基础环境就绪了。你不需要部署大模型——先用官方提供的在线服务快速体验。

3. 第一条指令:5分钟内让手机自己动起来

别急着调参数、改配置。我们先跑通最简路径:不装模型、不配GPU、不碰vLLM,直接调用现成API,让手机动起来

3.1 用现成服务,跳过本地部署

Open-AutoGLM 支持对接多个第三方模型服务。我们选 z.ai(注册即送API Key,无须信用卡):

  1. 访问 z.ai官网,注册账号
  2. 登录后进入 Dashboard → API Keys → 创建新Key(名称随意,如“open-autoglm-test”)
  3. 复制生成的Key(以sk-开头的一长串字符)

3.2 发出你的第一条自然语言指令

确保手机已通过USB连好且显示device,在 Open-AutoGLM 目录下运行:

python main.py \ --device-id ZY223456789 \ --base-url https://api.z.ai/api/paas/v4 \ --model autoglm-phone-9b-multilingual \ --apikey sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx \ "打开微信,搜索联系人'张三',点开头像,发送消息'你好,今天忙吗?'"

参数说明(只需记这4个):

  • --device-idadb devices输出的第一列设备号
  • --base-url:z.ai固定地址,不用改
  • --model:模型名固定,别手误写成autoglm-phone-9b
  • --apikey:你刚复制的密钥

你会看到终端开始滚动日志:

  • “正在截取屏幕…”
  • “已识别当前界面为微信主页面”
  • “定位到搜索框,准备输入‘张三’…”
  • “点击搜索结果第一项…”
  • “检测到聊天窗口,正在输入文本…”

几秒钟后,手机微信里真的弹出了那条消息。

成功标志:手机屏幕完成全部操作,终端最后输出Task completed successfully

实测建议:首次尝试用简单指令,比如"打开设置,进入关于手机"。避免复杂条件(如“找第3个评分4.8以上的店”),先建立信心。

4. 进阶玩法:WiFi远程控制 + 多任务批处理

当USB线碍事、当你要同时管三台测试机、当你想躺在沙发上指挥客厅的电视盒子——这些场景,Open-AutoGLM 都有对应方案。

4.1 拔掉USB线,用WiFi无线操控

前提:手机和电脑在同一WiFi下(家用路由器即可)。分两步走:

第一步:让手机开启网络调试

  • Android 11+ 用户:设置 → 系统 → 开发者选项 → 无线调试 → 开启 → 点击“使用权限配对” → 记下屏幕上显示的IP和端口(如192.168.31.123:42153
  • Android 10及以下:先用USB连一次 → 终端执行adb tcpip 5555→ 断开USB → 终端执行adb connect 192.168.31.123:5555

第二步:把指令里的--device-id换成IP

python main.py \ --device-id 192.168.31.123:5555 \ --base-url https://api.z.ai/api/paas/v4 \ --model autoglm-phone-9b-multilingual \ --apikey sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx \ "打开B站,搜索'Open-AutoGLM',播放第一个视频"

实测延迟:局域网内平均响应时间 < 1.2秒,操作流畅度接近手动。

4.2 一次下发10个任务,让手机自己排队干

不想每条指令都敲一遍命令?用交互模式:

python main.py \ --device-id ZY223456789 \ --base-url https://api.z.ai/api/paas/v4 \ --model autoglm-phone-9b-multilingual \ --apikey sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

回车后进入>提示符,直接输入自然语言:

> 打开淘宝,搜索“机械键盘” > 点击销量排序,截取前3个商品图 > 打开相册,新建文件夹“淘宝截图” > 把刚截的图移进去 > 退出淘宝

每输一条,手机就执行一条,全程无需干预。适合做标准化流程(如App每日回归测试)。

4.3 一台电脑,同时指挥三台手机

如果你有三台测试机(比如不同品牌、不同Android版本),可以这样并发控制:

# 查看所有已连接设备 adb devices -l # 输出示例: # ZY223456789 device product:xxx model:xxx device:xxx # 192.168.31.123:5555 device product:yyy model:yyy device:yyy # emulator-5554 device product:zzz model:zzz device:zzz

用Python脚本批量下发(已适配Open-AutoGLM API):

from phone_agent import PhoneAgent from phone_agent.model import ModelConfig # 配置统一模型服务 model_config = ModelConfig( base_url="https://api.z.ai/api/paas/v4", model_name="autoglm-phone-9b-multilingual", api_key="sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" ) # 定义设备与任务映射 tasks = { "ZY223456789": "打开设置,检查系统更新", "192.168.31.123:5555": "打开Chrome,访问csdn.net", "emulator-5554": "打开计算器,计算123*456" } # 并发执行(注意:z.ai免费版限3QPS,此处用for循环更稳妥) for device_id, task in tasks.items(): try: agent = PhoneAgent(model_config=model_config, device_id=device_id) result = agent.run(task) print(f"[{device_id}] {task} → {result['status']}") except Exception as e: print(f"[{device_id}] {task} → 失败:{str(e)[:50]}")

关键提醒:第三方API有调用频率限制。z.ai免费额度约100次/天,够日常调试;商用需升级套餐。若需高频调用,建议按文档部署本地vLLM服务(后文详述)。

5. 当你想完全掌控:本地部署vLLM模型服务

用第三方API方便,但涉及隐私数据(如公司内部App)、或需要定制化微调时,就得本地跑模型。别怕——它比你想象中简单。

5.1 硬件门槛其实很低

  • 最低配置:RTX 3060(12GB显存)+ 16GB内存 + 50GB空硬盘
  • 推荐配置:RTX 4090(24GB显存)+ 32GB内存,推理速度提升3倍
  • Mac用户福音:M2 Ultra芯片实测可跑通,只是速度稍慢(约8秒/步)

实测数据:RTX 4090上,从截图→分析→规划→执行,单步平均耗时1.8秒;RTX 3060为4.3秒。对自动化任务而言,完全可用。

5.2 一键启动服务(复制粘贴即可)

在 Open-AutoGLM 目录下,执行这条命令(已适配主流显卡):

python3 -m vllm.entrypoints.openai.api_server \ --model zai-org/AutoGLM-Phone-9B-Multilingual \ --served-model-name autoglm-phone-9b-multilingual \ --port 8000 \ --tensor-parallel-size 1 \ --max-model-len 25480 \ --gpu-memory-utilization 0.95 \ --enforce-eager

等待约3-5分钟(首次运行需下载20GB模型),看到终端输出:

INFO 05-15 14:22:33 api_server.py:123] Uvicorn running on http://0.0.0.0:8000

说明服务已就绪。

验证是否活:

curl http://localhost:8000/v1/models

返回JSON含"id":"autoglm-phone-9b-multilingual"即成功。

5.3 用本地模型替代云端API

把之前命令里的--base-url换成本地地址:

python main.py \ --device-id ZY223456789 \ --base-url http://localhost:8000/v1 \ --model autoglm-phone-9b-multilingual \ "打开企业微信,找到'技术部'群,发送今日日报模板"

⚙ 进阶提示:

  • 想提速?加参数--max-tokens 1024限制输出长度
  • 遇到显存不足?把--gpu-memory-utilization 0.95改成0.85
  • 想看AI怎么思考?加--verbose参数,它会打印每一步决策逻辑

6. 真实场景中的避坑指南

再好的工具,也会在具体场景里遇到“意料之外”。以下是我们在20+台真机上踩出的实用经验:

6.1 中文输入乱码?90%是编码问题

现象:手机上打出“你好”变成“浣уソ”
原因:Windows终端默认GBK编码,而ADB Keyboard要求UTF-8

解法(Windows专属)
在运行命令前,先执行:

chcp 65001 # 切换终端为UTF-8 $env:PYTHONIOENCODING="utf-8" # 设置Python编码 python main.py ... # 此时再运行

6.2 遇到验证码/登录弹窗,AI会主动喊你

Open-AutoGLM 内置安全机制:当检测到“请输入验证码”“短信验证”“人脸识别”等敏感操作时,会暂停执行并输出:

检测到人工验证环节,请手动完成登录 (完成后按回车继续...)

你只需在手机上输入验证码、点“确定”,回车后AI自动续跑。这是设计,不是Bug。

6.3 某些国产ROM(华为/小米)需要额外授权

现象:adb devices能识别,但执行操作时无反应
原因:EMUI/MIUI系统限制了ADB的inputdumpsys权限

解法

  1. 手机设置 → 更多设置 → 开发者选项 → 关闭“仅充电模式下允许ADB调试”
  2. 或在开发者选项里找到“USB调试(安全设置)”,开启它
  3. 若仍无效,尝试在手机上安装“ADB Enhanced”App(GitHub开源),它能绕过部分系统限制

6.4 想让AI更听话?试试这3个提示词技巧

  • 加明确约束:不说“帮我订机票”,而说“打开携程App,选择今天出发、北京到上海、经济舱,不选餐食”
  • 拆解复杂动作:不说“整理相册”,而说“打开相册App → 点击右上角筛选 → 选择‘最近一周’ → 长按第一张图 → 点击‘移动到’ → 新建文件夹‘临时备份’”
  • 指定容错方式:在指令末尾加“如果找不到搜索框,就点击顶部放大镜图标”,AI会按你的预案执行

7. 它能做什么?来自真实用户的10个案例

我们收集了首批内测用户的典型用例,去掉技术术语,只说它解决了什么问题:

场景用户原话AI实际完成
电商运营“每天要给50个抖音小店截图存档”自动打开抖音 → 搜索店铺名 → 进入主页 → 截图 → 保存到指定文件夹 → 下一家
教育行业“帮学生批量生成错题本PDF”打开扫描App → 拍摄数学卷子 → 识别题目 → 调用大模型解析错误点 → 排版生成PDF → 邮件发送
跨境电商“监控竞品在Shopee的价格变动”每小时打开Shopee → 搜索SKU → 截取价格区域 → OCR识别 → 存入Excel对比
老年关怀“教奶奶用手机挂号,但总点错”录制奶奶常点错的界面 → 让AI学习她的操作习惯 → 生成防错指引动画
App测试“每次发版都要测登录-支付-退款全流程”一条指令跑完全链路,失败时自动截图并标注异常步骤
内容创作“把公众号文章转成小红书图文”打开公众号后台 → 复制正文 → 打开小红书App → 自动生成封面图+文案+话题标签
行政办公“汇总各部门提交的Excel到总表”自动打开邮箱 → 下载附件 → 用WPS打开 → 复制数据 → 粘贴到主表 → 保存
智能家居“回家前自动开空调+拉窗帘”通过Home Assistant API触发 → 手机模拟点击米家App对应按钮
游戏辅助“自动完成《原神》每日委托”识别地图标记 → 规划最优路线 → 点击NPC → 交任务 → 领奖励
无障碍支持“帮视障朋友读取手机通知”截图通知栏 → VLM识别文字 → TTS语音播报

这些不是Demo,而是用户正在用的功能。Open-AutoGLM 的价值,正在于它把“自动化”从程序员的专利,变成了人人可调用的通用能力。

8. 总结:手机自动化,终于到了“说人话就能用”的阶段

回顾整个过程,你会发现 Open-AutoGLM 的核心突破不在技术多炫酷,而在于它把三个原本割裂的环节缝合了

  • 视觉理解(看懂屏幕)不再需要你标注UI树
  • 意图规划(知道下一步)不再需要你写状态机
  • 设备控制(动手操作)不再需要你研究ADB源码

它用最朴素的方式——自然语言——作为唯一接口。你说“打开小红书搜美食”,它就真去搜;你说“把这张图发到工作群”,它就真去发。中间所有技术细节,被封装成一个黑盒。

这带来的改变是根本性的:

  • 对开发者:省去90%的UI自动化脚本维护成本,专注业务逻辑
  • 对产品经理:能直接对手机说“我要测试这个新功能”,而不是等测试同学排期
  • 对普通用户:旧手机变智能助理,老人机也能语音控制

当然,它还有成长空间:目前仅支持安卓,iOS需越狱;复杂动态页面(如WebGL游戏)识别率待提升;多轮对话上下文管理可加强。但开源的意义,正是让这些问题被更快看见、更快解决。

你现在要做的,就是打开终端,输入那条adb devices
真正的手机自动化,从来不需要等未来。


获取更多AI镜像

想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/21 14:31:41

命令执行超时处理:动态调整策略与系统优化实践

命令执行超时处理&#xff1a;动态调整策略与系统优化实践 【免费下载链接】claude-code Claude Code is an agentic coding tool that lives in your terminal, understands your codebase, and helps you code faster by executing routine tasks, explaining complex code, …

作者头像 李华
网站建设 2026/3/28 12:11:32

手把手教程:在AUTOSAR中从零实现一个基础SWC

以下是对您提供的博文进行 深度润色与结构重构后的专业级技术文章 。全文已彻底去除AI生成痕迹&#xff0c;强化了工程师视角的实战语感、教学逻辑与行业洞察&#xff0c;同时严格遵循AUTOSAR CP 4.3规范语境&#xff0c;兼顾初学者理解门槛与资深开发者的工程深度。文中所有…

作者头像 李华
网站建设 2026/3/27 17:57:35

告别导出困扰,拥抱高效数据管理:Luckysheet数据导出实用指南

告别导出困扰&#xff0c;拥抱高效数据管理&#xff1a;Luckysheet数据导出实用指南 【免费下载链接】Luckysheet 项目地址: https://gitcode.com/gh_mirrors/luc/Luckysheet 在日常工作中&#xff0c;数据导出是连接表格与实际应用的重要桥梁。无论是销售报表的提交、…

作者头像 李华
网站建设 2026/3/30 21:22:25

Blender插件管理工具:提升创作效率的全方位解决方案

Blender插件管理工具&#xff1a;提升创作效率的全方位解决方案 【免费下载链接】Blender-Add-on-Manager Blender Add-on Manager to install/uninstall/update from GitHub 项目地址: https://gitcode.com/gh_mirrors/bl/Blender-Add-on-Manager Blender插件管理是提升…

作者头像 李华