手机AI代理新玩法:Open-AutoGLM批量任务执行演示
你有没有想过,手机能自己“看懂”屏幕、理解你说的话,然后替你点开App、输入关键词、滑动页面、甚至完成下单?这不是科幻电影——Open-AutoGLM 已经把这件事做成了现实。它不是简单的自动化脚本,而是一个真正具备“感知—理解—规划—执行”能力的手机端AI Agent。更关键的是,它支持批量任务并行调度,一次下发多个指令,让手机像拥有分身术一样同时处理多件事。
本文不讲抽象概念,不堆技术参数,而是带你从零开始,用一台普通安卓手机+一台本地电脑,亲手跑通一个真实可用的批量任务流程:
同时让手机打开小红书搜“咖啡探店”,打开微博刷同城热点,再打开高德地图查“最近的充电站”
全程无需手动点击,每一步操作都由AI自主决策
任务失败自动重试,敏感操作(如输入密码)主动暂停等待人工确认
你会发现,这已经不是“手机助手”,而是你口袋里的数字分身。
1. Open-AutoGLM 是什么:一个会看、会想、会动手的手机AI
Open-AutoGLM 不是传统意义上的APP或插件,而是一套完整的端云协同AI代理框架。它的核心能力可以浓缩为三句话:
- 它能“看见”:通过实时截取手机屏幕画面,结合视觉语言模型(VLM),精准识别当前界面的按钮、文字、图标、列表结构,甚至理解“搜索框在右上角”“点赞按钮是红色心形”这类空间语义。
- 它能“听懂”:把你的自然语言指令(比如“帮我看看今天微博热搜前五”)拆解成意图、目标App、操作路径和预期结果,而不是死记硬背关键词。
- 它能“动手”:通过ADB向手机发送精确指令——点击坐标、滑动轨迹、输入文本、返回上一页,所有动作都基于对当前界面的理解动态生成,不是预设脚本。
更重要的是,它专为中文手机生态深度优化:内置50+主流应用(微信、抖音、淘宝、美团、小红书、高德等)的界面特征库,对中文OCR、中文化UI元素识别、本土化交互逻辑(如微信“下拉即搜索”、淘宝“首页中间是猜你喜欢”)做了大量适配。
它不是玩具,而是可工程落地的生产力工具。下面我们就进入实操环节。
2. 本地环境搭建:三步搞定控制端
别被“AI”“VLM”吓到——整个控制端只需一台普通电脑(Windows/macOS均可),不需要GPU,也不需要部署大模型。模型服务可以调用云端API,我们只负责“发号施令”。
2.1 硬件与基础准备
- 你的电脑:Windows 10+/macOS 12+,Python 3.10+(推荐使用conda或pyenv管理环境)
- 你的手机:Android 7.0+真机(模拟器兼容性较差,强烈建议用真机)
- 一条数据线:确保支持USB数据传输(很多快充线仅供电,无法调试)
注意:这不是“手机装个App就能用”的方案。Open-AutoGLM 的控制逻辑运行在电脑端,手机只作为被控设备。这种设计保障了计算资源充足、响应稳定、调试直观。
2.2 手机端设置:三分钟开启“被接管”权限
这一步决定后续能否成功连接,务必按顺序操作:
开启开发者模式:
进入「设置 → 关于手机 → 软件信息」,连续点击「版本号」7次,直到弹出“您已处于开发者模式”。启用USB调试:
返回「设置 → 系统 → 开发者选项」,找到并开启「USB调试」。部分华为/小米机型还需额外开启「USB调试(安全设置)」。安装并启用ADB Keyboard(关键!):
- 下载 ADB Keyboard APK(v1.3+)
- 在手机上安装,安装后进入「设置 → 系统 → 语言与输入法 → 虚拟键盘」,将默认输入法切换为ADB Keyboard
- 为什么必须装这个?因为标准安卓输入法无法通过ADB直接注入文字。ADB Keyboard是专为自动化设计的“哑巴键盘”,只响应ADB命令,不弹窗、不占内存、不收集隐私。
2.3 电脑端配置:让adb认出你的手机
安装ADB工具:
Windows用户下载Platform-tools,解压后将文件夹路径添加到系统环境变量PATH;
macOS用户在终端执行:brew install android-platform-tools # 推荐 # 或手动添加路径 echo 'export PATH=$PATH:~/Downloads/platform-tools' >> ~/.zshrc && source ~/.zshrc验证连接:
用数据线连接手机与电脑,在电脑终端执行:adb devices如果看到一串设备ID后跟着
device字样(例如ABC123456789 device),说明连接成功。如果显示unauthorized,请在手机弹出的授权窗口中点击“允许”。
3. 控制端部署:一行命令启动AI代理
Open-AutoGLM 的控制端代码轻量简洁,核心逻辑全部封装在main.py中。我们不需要修改源码,只需正确安装依赖并配置参数。
3.1 克隆与安装
# 克隆官方仓库 git clone https://github.com/zai-org/Open-AutoGLM cd Open-AutoGLM # 创建虚拟环境(推荐,避免依赖冲突) python -m venv venv source venv/bin/activate # macOS/Linux # venv\Scripts\activate # Windows # 安装依赖(含ADB通信、HTTP客户端、日志等) pip install -r requirements.txt pip install -e .提示:
requirements.txt中已包含所有必需组件,无需额外安装OpenCV、Pillow等图像库——框架内部已做精简封装,降低初学者门槛。
3.2 首次运行:单任务验证
先跑通一个最简单的指令,确认链路畅通:
python main.py \ --device-id ABC123456789 \ --base-url https://open.bigmodel.cn/api/paas/v4 \ --model "autoglm-phone" \ --apikey "your_api_key_here" \ "打开小红书搜索咖啡探店"--device-id:替换为你执行adb devices看到的设备ID--base-url和--apikey:使用智谱BigModel免费API(注册后获取,新用户赠送额度)- 最后字符串:就是你要下达的自然语言指令
首次运行会稍慢(约30秒),因为AI需要加载视觉编码器、分析首帧截图、规划动作。你会看到终端实时输出:
[INFO] 截获屏幕:已识别小红书图标(左上角第2个) [INFO] 规划动作:点击小红书图标 → 等待首页加载 → 点击搜索框 → 输入"咖啡探店" [INFO] 执行动作:CLICK (x=210, y=185) [INFO] 执行动作:INPUT "咖啡探店" [INFO] 任务完成如果一切正常,你的手机将自动打开小红书,并在搜索框中输入“咖啡探店”。恭喜,你已激活第一个AI代理!
4. 批量任务实战:让手机同时干三件事
单任务只是热身。Open-AutoGLM 的真正威力在于批量任务调度能力——它支持将多个自然语言指令打包提交,由AI内部进行任务分解、优先级排序、资源协调与并发控制。
4.1 为什么需要批量任务?
想象这些场景:
- 你刚到一个陌生城市,想同时查美食、交通、景点——不用挨个下指令,一句话搞定
- 做市场调研,需横向对比5个平台的同一商品价格——AI自动轮询,汇总结果
- 社交运营人员,每天要同步发布内容到微博、小红书、抖音——设定模板,一键分发
批量不是简单循环,而是AI理解“这三个任务彼此独立,可并行执行,但需错开ADB操作避免冲突”。
4.2 实战演示:三任务并行执行
我们创建一个batch_tasks.py脚本(放在Open-AutoGLM根目录下):
# batch_tasks.py from phone_agent import PhoneAgent from phone_agent.model import ModelConfig import time # 配置模型服务(使用智谱BigModel) model_config = ModelConfig( base_url="https://open.bigmodel.cn/api/paas/v4", model_name="autoglm-phone", api_key="your_api_key_here" ) # 初始化代理(指定设备ID) agent = PhoneAgent( model_config=model_config, device_id="ABC123456789", # 替换为你的设备ID verbose=True # 开启详细日志,便于观察执行过程 ) # 定义三个独立任务 tasks = [ "打开小红书搜索咖啡探店", "打开微博刷同城热点", "打开高德地图搜索最近的充电站" ] print(" 开始批量执行3个任务...") start_time = time.time() # 并行提交(底层自动管理ADB会话与资源锁) results = agent.run_batch(tasks, max_concurrent=2) # 最多2个任务并发 end_time = time.time() print(f"\n⏱ 总耗时:{end_time - start_time:.1f}秒") print("\n 任务执行摘要:") for i, (task, result) in enumerate(zip(tasks, results), 1): status = " 成功" if result.success else "❌ 失败" print(f"{i}. {task[:20]}... → {status}")运行它:
python batch_tasks.py你会看到终端输出类似:
开始批量执行3个任务... [INFO] 启动任务1:打开小红书搜索咖啡探店 [INFO] 启动任务2:打开微博刷同城热点 [INFO] 任务2完成:已打开微博,正在刷新同城页... [INFO] 启动任务3:打开高德地图搜索最近的充电站 [INFO] 任务1完成:小红书已显示咖啡探店搜索结果 [INFO] 任务3完成:高德地图已定位并显示充电站列表 ⏱ 总耗时:42.3秒 任务执行摘要: 1. 打开小红书搜索咖啡探店... → 成功 2. 打开微博刷同城热点... → 成功 3. 打开高德地图搜索最近的充电站... → 成功与此同时,你的手机屏幕上会快速切换App、执行操作——不是卡顿地串行,而是流畅地“分身”处理。这就是Open-AutoGLM批量调度引擎的价值:它把手机变成了可编程的分布式终端节点。
4.3 批量任务的关键控制参数
| 参数 | 说明 | 推荐值 | 为什么重要 |
|---|---|---|---|
max_concurrent | 同时执行的最大任务数 | 1~3 | 设为1则严格串行(最稳);设为3可能因ADB带宽争抢导致偶发超时;2是真机最佳平衡点 |
timeout_per_task | 单个任务最长执行时间(秒) | 60 | 防止某个任务卡死拖垮全局,如遇到验证码可自动超时并标记失败 |
retry_on_failure | 任务失败是否自动重试 | True | 对网络抖动、界面加载延迟等常见问题提供容错 |
callback_on_safety | 敏感操作回调函数 | 自定义 | 当AI检测到“输入密码”“确认支付”时,自动暂停并调用你的函数弹窗提醒 |
小技巧:在
run_batch后,results返回的是List[TaskResult]对象,每个包含.screenshot_path(最终界面截图)、.steps(执行步骤列表)、.error(失败原因)。你可以轻松导出执行报告或做自动化验收。
5. 进阶能力:不只是“点一点”,更是“懂业务”
Open-AutoGLM 的批量能力远不止于“同时开三个App”。它的智能体现在对任务上下文和业务逻辑的理解上。
5.1 跨App串联任务:让AI自己做决策
试试这条指令:
“比价:在京东和拼多多搜索‘iPhone 15 Pro’,比较价格,把更便宜的链接发到微信文件传输助手”
AI会自动:
- 打开京东 → 搜索 → 截图价格 → 记录链接
- 打开拼多多 → 搜索 → 截图价格 → 记录链接
- 对比两个价格 → 判定更便宜平台
- 打开微信 → 找到文件传输助手 → 粘贴对应链接
这不是预设流程,而是AI基于对电商比价这一业务模式的理解,自主构建的多跳操作链。批量模式下,它可以同时启动京东+拼多多的比价流程,再合并结果。
5.2 人工接管无缝衔接:安全与效率的平衡
任何自动化都绕不开“最后一公里”——验证码、人脸识别、支付密码。Open-AutoGLM 内置了优雅的接管机制:
- 当AI识别到验证码图片、指纹图标、密码输入框时,会立即暂停执行,输出:
[SAFETY] 检测到验证码界面,请手动输入后按回车继续 - 你输入验证码后敲回车,AI自动恢复执行
- 你也可以提前注册回调函数,在接管时弹出GUI窗口或发送企业微信通知
这保证了高自动化率(90%以上常规任务全自动)与绝对安全性(100%敏感操作不越界)的统一。
5.3 远程WiFi控制:摆脱数据线束缚
不想被线缆捆在电脑旁?Open-AutoGLM 支持全WiFi远程控制:
# 1. 首次用USB连接,开启ADB无线模式 adb tcpip 5555 # 2. 断开USB,连接手机WiFi,获取IP(手机设置→关于手机→状态信息里找) # 3. 用IP连接 adb connect 192.168.1.100:5555 # 4. 在batch_tasks.py中,将device_id改为IP:端口 agent = PhoneAgent( ..., device_id="192.168.1.100:5555", # 不再是USB ID )从此,你的手机可以放在客厅,你在书房用笔记本下发指令,真正实现“无感自动化”。
6. 常见问题与避坑指南
即使按教程操作,新手也常遇到几个典型问题。这里给出直击要害的解决方案:
6.1 “adb devices 显示 offline 或 unauthorized”
- offline:手机USB调试已关闭,或数据线接触不良。重新插拔,检查手机是否弹出“允许USB调试”提示。
- unauthorized:手机弹窗点了“拒绝”。进手机「开发者选项」,找到「撤销USB调试授权」,再重新连接。
- 根本没反应:换一根支持数据传输的数据线(很多白色短线仅充电)。
6.2 “任务执行一半卡住,无报错”
- 原因:最常见是界面加载慢,AI误判为“页面未就绪”。
- 解决:在
PhoneAgent初始化时增加等待容错:agent = PhoneAgent( ..., wait_for_page_load=True, # 启用智能等待 max_wait_seconds=15 # 最长等15秒 )
6.3 “输入文字失败,光标乱跳”
- 原因:未正确启用ADB Keyboard,或系统输入法被强制切回。
- 解决:
- 确认手机「设置→语言与输入法→当前输入法」确实是ADB Keyboard
- 在
main.py或脚本中显式设置:agent.set_input_method("com.android.adbkeyboard/.AdbKeyboard")
6.4 “批量任务中某个失败,其他也停了”
- 默认行为:
run_batch默认是“尽最大努力执行”,单个失败不影响其余。 - 若想严格隔离:设置
fail_fast=False(默认即此值),确保一个挂了,其他的照常跑。
7. 总结:手机AI代理的下一站在哪?
Open-AutoGLM 不仅仅是一个开源项目,它标志着一个拐点的到来:手机的操作权,正从“手指点击”转向“自然语言委托”。
通过本文的批量任务演示,你应该已经感受到:
🔹 它足够可靠——真机实测,50+ App覆盖,失败可重试、敏感可接管
🔹 它足够易用——无需写一行ADB命令,不用学XPath,纯中文指令驱动
🔹 它足够实用——批量调度让效率倍增,跨App串联让复杂任务变简单
但这只是开始。未来可探索的方向包括:
- 与本地知识库结合:让AI记住你的常用地址、偏好品牌,自动填充表单
- 接入IoT设备:通过手机控制智能家居(“打开空调,调至26度”)
- 构建个人工作流:每天早上8点自动汇总微信未读、邮件重点、日程提醒,生成语音播报
AI代理的价值,不在于它多聪明,而在于它多愿意为你“跑腿”。当你的手机能安静地替你完成那些重复、琐碎、却不得不做的点击,你才真正拥有了属于自己的数字分身。
现在,就去连上你的手机,输入第一条批量指令吧。
--- > **获取更多AI镜像** > > 想探索更多AI镜像和应用场景?访问 [CSDN星图镜像广场](https://ai.csdn.net/?utm_source=mirror_blog_end),提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。