news 2026/5/1 16:49:49

多任务自动化:一个指令完成多个手机操作

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
多任务自动化:一个指令完成多个手机操作

多任务自动化:一个指令完成多个手机操作

摘要:本文带你用一句话让手机自动完成一连串操作——打开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…) ↓ [执行动作] → [等待界面变化] → [再次截图] → [进入下一轮]

这个循环持续运行,直到任务完成或超时。所以当你下达“打开小红书搜美食”,它实际执行的是:

  1. 启动小红书App
  2. 等待首页加载完成(检测底部导航栏“首页”文字)
  3. 点击顶部搜索框(识别“搜索”图标或占位符文字)
  4. 输入“美食”
  5. 点击软键盘“搜索”按钮(或监听回车事件)
  6. 等待结果页出现(检测“综合”“笔记”等Tab标签)
  7. 滚动浏览前3条内容(可选)
  8. 返回桌面(可选)

每一步都有视觉反馈验证,而非盲目执行。

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.3

result是一个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星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。

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

DeepChat深度体验:基于Llama3的智能对话系统效果实测

DeepChat深度体验&#xff1a;基于Llama3的智能对话系统效果实测 最近在本地部署AI对话服务时&#xff0c;反复被几个问题困扰&#xff1a;模型响应慢、隐私难保障、启动总报错、界面太简陋……直到试用「&#x1f9e0; DeepChat - 深度对话引擎」镜像&#xff0c;才真正体会到…

作者头像 李华
网站建设 2026/5/1 8:46:44

Z-Image-Turbo创意实验室:从文字到视觉艺术的魔法转换

Z-Image-Turbo创意实验室&#xff1a;从文字到视觉艺术的魔法转换 你有没有试过&#xff0c;只用一句话就让一幅电影级画面在几秒内跃然屏上&#xff1f;不是反复调试参数&#xff0c;不是等待半分钟渲染&#xff0c;而是输入“黄昏时分的蒸汽朋克图书馆&#xff0c;黄铜齿轮缓…

作者头像 李华
网站建设 2026/4/26 18:15:25

零基础也能上手!YOLOv10官方镜像新手入门指南

零基础也能上手&#xff01;YOLOv10官方镜像新手入门指南 你是不是也遇到过这些情况&#xff1a; 下载了YOLO代码&#xff0c;卡在环境配置三天&#xff1b; 想跑个检测demo&#xff0c;却要手动编译CUDA算子&#xff1b; 看到“端到端”“无NMS”这些词&#xff0c;心里直打鼓…

作者头像 李华
网站建设 2026/4/25 4:21:01

YOLOv13多卡训练建议:batch size设置技巧

YOLOv13多卡训练建议&#xff1a;batch size设置技巧 在工业质检产线的实时检测场景中&#xff0c;一张640640分辨率的PCB板图像需在2毫秒内完成缺陷定位——这已逼近YOLOv12的性能极限。而当工程师尝试将YOLOv13-N模型部署到8卡A100集群时&#xff0c;却遭遇了训练初期loss剧…

作者头像 李华
网站建设 2026/4/17 20:23:28

免费体验Qwen2.5-Coder-1.5B:你的AI编程入门首选

免费体验Qwen2.5-Coder-1.5B&#xff1a;你的AI编程入门首选 你是不是也经历过这些时刻&#xff1a; 写一段正则表达式卡了半小时&#xff0c;查文档、试语法、改边界条件&#xff0c;最后发现只是少了个问号&#xff1b; 接手别人留下的Python脚本&#xff0c;变量名全是a1、…

作者头像 李华
网站建设 2026/4/25 2:11:22

一键部署GLM-TTS,快速实现情感化语音合成

一键部署GLM-TTS&#xff0c;快速实现情感化语音合成 在短视频口播、AI有声书、智能客服播报等场景中&#xff0c;用户早已不再满足于“能读出来”的基础语音&#xff0c;而是期待声音有温度、有情绪、有辨识度——像真人一样自然呼吸、停顿、起伏。传统TTS系统常受限于固定音…

作者头像 李华