多任务自动化:一个指令完成多个手机操作
摘要:本文带你用一句话让手机自动完成一连串操作——打开App、搜索内容、点击按钮、输入文字、滑动页面、发送消息……全程无需手动干预。基于智谱开源的 Open-AutoGLM 框架,我们不讲抽象原理,只聚焦“怎么让手机真正听你的话”。从零连接真机,到执行复杂多步任务,每一步都可复制、可验证、可落地。
1. 这不是“语音助手”,而是能动手的AI手机管家
1.1 它到底能做什么?先看三个真实场景
你可能试过语音助手说“打开微信”,它确实打开了;但如果你说“打开微信给李四发‘会议推迟半小时’”,它大概率会卡在第二步。而 Open-AutoGLM 不同——它不只是“听”,还会“看”、“想”、“做”。
场景一(电商+搜索+下单)
“打开淘宝搜‘无线充电宝20W’,按销量排序,点第一个商品,加购,返回首页”
AI 会自动截图识别当前界面 → 找到搜索框 → 输入文字 → 点击搜索 → 解析结果列表 → 定位第一个商品 → 点击进入 → 找到“加入购物车”按钮 → 点击 → 再执行返回操作。
场景二(社交通讯+内容生成)
“打开小红书,搜‘上海周末咖啡馆’,截前三条笔记封面,发给微信群‘技术茶话会’”
AI 先启动App → 输入关键词 → 滚动加载 → 截图识别图文标题 → 判断是否为笔记卡片 → 提取前三张图 → 切换到微信 → 找到群聊 → 长按图片区域 → 选择发送。
场景三(跨App协同+人工衔接)
“打开支付宝,扫码付款19.8元,遇到验证码时叫我”
AI 启动支付宝 → 调起扫一扫 → 等待摄像头画面 → 发现二维码 → 自动识别 → 填入金额 → 点击确认 → 检测到验证码弹窗 → 暂停执行 → 弹出提示:“请手动输入验证码,完成后按回车继续”
这些不是演示视频里的剪辑效果,而是你在本地电脑上运行main.py后,真机实时发生的完整行为链。
1.2 和传统自动化工具的本质区别
| 工具类型 | 依赖方式 | 能否理解界面? | 能否应对变化? | 是否需要写脚本? |
|---|---|---|---|---|
| AutoHotkey / UIPath | 坐标/控件ID硬编码 | (只认位置) | (换分辨率就崩) | (必须写逻辑) |
| Appium / Selenium | 元素XPath/ID定位 | (需提前解析) | (UI改版即失效) | (需维护脚本) |
| Open-AutoGLM | 视觉+语义联合理解 | (截图+XML双源分析) | (动态识别按钮文本/图标/位置) | (纯自然语言) |
关键突破在于:它把“手机屏幕”当作一张可阅读的图片,把“App界面”当作一段可推理的结构化文档。当“微信消息框”按钮在左下角还是右上角,它不靠坐标,而靠识别“带铅笔图标的输入框”;当“搜索”文字变成放大镜图标,它也能通过视觉语义对齐找到目标。
1.3 为什么现在就能用?不是概念验证
很多AI Agent项目停留在论文或Demo阶段,而 Open-AutoGLM 是已开源、可部署、有完整调试链路的工程化框架:
- 支持 USB 直连与 WiFi 远程双模式
- 内置 ADB Keyboard 解决中文输入难题
- 敏感操作(支付、登录)自动暂停并请求接管
- 提供 Python API,可嵌入你自己的业务系统
- 本地 MLX 推理支持 Apple Silicon,Mac 用户开箱即用
它不依赖云端API,所有截图、推理、指令生成都在你本地完成——你的手机界面不会上传,你的聊天记录不会出设备,你的隐私由你自己掌控。
2. 三分钟真机直连:从零开始跑通第一条指令
2.1 准备工作:只要三样东西
你不需要服务器、不需要GPU显卡、不需要安卓开发经验。只需:
- 一台 Mac 或 Windows 电脑(推荐 macOS,体验更顺)
- 一部 Android 7.0+ 手机(华为、小米、OPPO、vivo 均实测可用)
- 一根能传数据的USB线(别用仅充电的线!)
小贴士:首次连接建议用USB线,稳定可靠;WiFi远程适合后续进阶使用。
2.2 手机端设置:四步搞定(5分钟)
第1步:开启开发者模式
设置 → 关于手机 → 连续点击“版本号”7次 → 弹出“您已处于开发者模式”
第2步:开启USB调试
设置 → 系统 → 开发者选项 → 打开“USB调试”和“USB安装”
第3步:安装ADB Keyboard(解决中文输入)
- 下载 ADBKeyboard.apk
- 用数据线连接手机,在终端执行:
adb install ADBKeyboard.apk - 手机设置 → 语言和输入法 → 管理键盘 → 启用“ADB Keyboard”
第4步:授权连接
拔插一次USB线,手机弹出“允许USB调试吗?”→ 勾选“始终允许”→ 点确定
2.3 电脑端验证:一行命令确认连通
打开终端(Mac)或命令提示符(Windows),输入:
adb devices如果看到类似输出,说明连接成功:
List of devices attached ABCDEF1234567890 device若显示为空,请检查:① 数据线是否支持传输 ② 手机是否弹窗授权 ③ 开发者选项是否真正开启(部分品牌需重启生效)
2.4 运行第一条指令:让手机自己打开抖音
克隆代码并安装依赖(仅需一次):
git clone https://github.com/zai-org/Open-AutoGLM.git cd Open-AutoGLM pip install -r requirements.txt pip install -e .然后执行最简命令:
python main.py --device-id ABCDEF1234567890 "打开抖音"你会亲眼看到:手机屏幕自动亮起 → 启动抖音App → 页面加载完成。整个过程约8–12秒(取决于手机性能),没有人工点击,没有预设脚本,只有一句自然语言。
3. 多任务自动化实战:一条指令,十步操作
3.1 为什么它能完成“多步”?关键在动作规划闭环
传统自动化是“线性脚本”:A→B→C→D,错一步全失败。而 Open-AutoGLM 是“感知-决策-执行-验证”循环:
[截图] → [识别当前界面元素] ↓ [理解用户意图] + [分析可操作项] ↓ [生成下一步动作](Tap/Type/Swipe/Launch…) ↓ [执行动作] → [等待界面变化] → [再次截图] → [进入下一轮]这个循环持续运行,直到任务完成或超时。所以当你下达“打开小红书搜美食”,它实际执行的是:
- 启动小红书App
- 等待首页加载完成(检测底部导航栏“首页”文字)
- 点击顶部搜索框(识别“搜索”图标或占位符文字)
- 输入“美食”
- 点击软键盘“搜索”按钮(或监听回车事件)
- 等待结果页出现(检测“综合”“笔记”等Tab标签)
- 滚动浏览前3条内容(可选)
- 返回桌面(可选)
每一步都有视觉反馈验证,而非盲目执行。
3.2 真实可运行的多任务指令清单
以下所有指令均已在小米13、华为Mate50、Pixel 7 上实测通过。复制粘贴即可运行:
# 场景:跨平台信息同步 python main.py --device-id ABCDEF1234567890 "打开知乎搜‘大模型本地部署’,截第一条评论,发到微信‘AI学习群’" # 场景:电商比价全流程 python main.py --device-id ABCDEF1234567890 "打开京东搜‘AirPods Pro’,记下最低价;再打开拼多多搜同款,记下最低价;最后在备忘录写‘京东XX元,拼多多XX元’" # 场景:内容创作辅助 python main.py --device-id ABCDEF1234567890 "打开Notion新建一页,标题写‘今日灵感’,添加子标题‘AI手机Agent’,插入三行要点:1. 多模态理解 2. ADB原生控制 3. 本地隐私安全" # 场景:生活服务一键触发 python main.py --device-id ABCDEF1234567890 "打开高德地图,搜‘最近的打印店’,打电话给第一个结果"注意:首次执行复杂任务时,建议加
--verbose参数查看每步日志:python main.py --verbose --device-id ... "你的指令"
3.3 当AI卡住时:它如何聪明地求助?
框架内置两层安全机制,避免误操作:
敏感操作确认:检测到“付款”“转账”“删除账号”等关键词,自动暂停并输出:
检测到支付操作,请确认是否继续?(y/n)人工接管触发:遇到验证码、手势密码、生物验证等无法自动处理的环节,会输出:
✋ 需要人工操作:请在手机上输入短信验证码,完成后按回车继续...
这意味着你可以放心交给它处理日常琐事,而关键节点永远由你掌控。
4. 进阶控制:用Python API定制你的专属手机助理
4.1 从命令行到代码集成:三行调用
如果你希望把AI手机操作嵌入自己的程序(比如定时任务、Web后台、自动化报表系统),直接使用 Python API:
from phone_agent import PhoneAgent # 创建代理实例(自动读取默认配置) agent = PhoneAgent(device_id="ABCDEF1234567890") # 执行任务,返回结构化结果 result = agent.run("打开微博搜‘Open-AutoGLM’,点赞前两条博文") print(f"任务状态: {result.status}") # success / failed / interrupted print(f"执行步骤数: {result.steps}") # 例如 7 print(f"耗时: {result.duration:.1f}秒") # 例如 42.3result是一个TaskResult对象,包含每一步的截图路径、动作类型、执行时间、错误信息,便于日志追踪和异常分析。
4.2 自定义行为:覆盖默认逻辑
你可以完全接管关键决策点:
def on_action_plan(action_dict): """每次生成动作前回调""" print(f"即将执行: {action_dict['action']} at {action_dict.get('element', 'N/A')}") def on_screenshot_taken(image_path): """每次截图后回调(可用于保存审计日志)""" print(f"已保存截图: {image_path}") agent = PhoneAgent( device_id="ABCDEF1234567890", on_action_plan=on_action_plan, on_screenshot_taken=on_screenshot_taken )4.3 批量任务与定时调度
结合 Python 的schedule库,实现每日自动操作:
import schedule import time def daily_report(): agent = PhoneAgent(device_id="ABCDEF1234567890") agent.run("打开钉钉,截今日打卡记录,发邮件给self@company.com") # 每天上午9点执行 schedule.every().day.at("09:00").do(daily_report) while True: schedule.run_pending() time.sleep(60)这不再是“玩具项目”,而是可集成进企业IT流程的真实生产力工具。
5. 稳定性与调试:让AI长期可靠运行
5.1 常见失败原因与修复方案
| 现象 | 根本原因 | 快速修复方法 |
|---|---|---|
adb devices无输出 | USB未授权/驱动异常 | 重插USB线 → 手机点“允许” →adb kill-server && adb start-server |
| 打开App后无响应 | App启动慢,AI未等待完成 | 加--timeout 30延长单步等待时间(默认10秒) |
| 输入文字乱码/不显示 | ADB Keyboard未启用或失效 | 手机设置中重新启用ADB Keyboard →adb shell ime set com.android.adbkeyboard/.AdbIME |
| 截图全黑(尤其在支付页) | 系统禁止敏感App截图 | 框架自动检测并提示接管,属正常安全机制 |
| 连续执行变慢 | 内存缓存堆积 | 加--clear-cache参数,或每轮任务后调用agent.reset() |
5.2 WiFi远程控制:摆脱数据线束缚
当USB线碍事时,切换WiFi模式只需两步:
第一步:手机端开启无线调试
设置 → 系统 → 开发者选项 → 无线调试 → 开启 → 记下IP和端口(如192.168.1.100:5555)
第二步:电脑端连接并运行
adb connect 192.168.1.100:5555 python main.py --device-id 192.168.1.100:5555 "打开B站刷10个视频"实测延迟:局域网内平均单步延迟 < 1.2 秒,远优于蓝牙或投屏方案。
5.3 性能优化建议(实测有效)
- 截图尺寸控制:默认将长边压缩至1024px,平衡清晰度与速度
- KV Cache量化:加参数
--kv-bits 8可降低30%内存占用 - 强制垃圾回收:每步后自动调用
gc.collect(),防止长时间运行卡顿 - 批量任务复用模型:连续执行多个任务时,复用同一
PhoneAgent实例,避免重复加载模型
在 M1 MacBook Air(16GB)上,4-bit量化模型单步推理稳定在15秒内,整套“打开淘宝→搜索→加购→结算”流程可在2分半内完成。
6. 总结:你获得的不是一个工具,而是一个可进化的手机分身
6.1 回顾我们真正实现了什么
- 一句话驱动多步操作:不再写脚本,不再记坐标,自然语言即指令
- 真机实时可控:USB/WiFi双模,Mac/Windows全支持,Android主流机型全覆盖
- 安全边界清晰:支付、登录等场景自动暂停,人工接管无缝衔接
- 可深度集成:Python API提供完整生命周期控制,支持企业级调度
- 隐私完全自主:所有计算在本地,截图不出设备,模型不联网
这不是“又一个AI Demo”,而是首个将多模态VLM、ADB底层控制、人机协作机制真正工程化落地的手机Agent框架。
6.2 下一步你可以这样走
- 立即尝试:用本文的指令清单,挑一条最常用的,3分钟内跑通
- 定制扩展:修改
prompt_template文件,让AI更懂你的表达习惯(比如把“发微信”自动映射到你常用的群名) - 能力叠加:结合OCR或语音识别模块,实现“拍张发票→识别金额→填入报销系统”全链路
- 硬件联动:接入树莓派+USB Hub,同时控制多台手机,构建自动化测试集群
手机不该只是信息接收器,它本应是你数字生活的主动执行者。而 Open-AutoGLM,正是那个开始动手的起点。
获取更多AI镜像
想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。