news 2026/2/7 11:41:42

Open-AutoGLM与Auto.js对比:AI模型VS脚本自动化

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Open-AutoGLM与Auto.js对比:AI模型VS脚本自动化

Open-AutoGLM与Auto.js对比:AI模型VS脚本自动化

1. 两种自动化范式的本质差异

很多人第一次听说“让AI操作手机”时,第一反应是:这不就是Auto.js干的事吗?确实,Auto.js作为安卓端老牌脚本自动化工具,早已被大量开发者用于批量点击、滑动、填表等重复操作。但Open-AutoGLM代表的是一条截然不同的技术路径——它不是靠预设规则执行动作,而是靠理解、推理和规划来完成任务。

简单说:

  • Auto.js 是“手”,是执行层:你告诉它“点坐标(500,800)”、“输入文字‘美食’”、“滑动到页面底部”,它就照做。逻辑完全由人写死,换一个APP界面就可能失效。
  • Open-AutoGLM 是“眼+脑+手”的闭环:它先“看”屏幕(多模态视觉理解),再“想”下一步该做什么(大模型意图解析与动作规划),最后才“动手”(ADB指令执行)。用户只需说“打开小红书搜美食”,它自己判断要启动哪个APP、在哪个位置点搜索框、输入什么词、点哪个按钮——整个流程全自动推演。

这不是功能强弱的比较,而是自动化范式的代际差异:一个是基于坐标的确定性脚本,一个是基于语义的理解型智能体。

1.1 为什么传统脚本在真实场景中越来越难用?

我们不妨还原一个真实需求:

“帮我把微信里昨天收到的那张带‘发票’字样的图片,转发给财务群。”

用Auto.js实现,你需要:
打开微信(知道包名com.tencent.mm)
滑动找到聊天列表(可能要滑3次)
点击对应联系人(坐标需适配不同分辨率)
向上滚动查找“昨天”时间分隔线(OCR识别?还是靠固定偏移?)
定位含“发票”文字的图片消息(需截图+OCR+图像匹配)
长按弹出菜单→点击“转发”→搜索“财务群”→点击确认

每一步都依赖精确的界面状态、固定坐标、稳定控件ID。一旦微信更新了UI、换了主题、或系统语言切换,整套脚本大概率崩溃。

而Open-AutoGLM面对同一指令:
👁 先截图理解当前微信聊天界面(“这是和张三的对话,最新消息是2小时前”)
🧠 推理“昨天收到”对应哪条消息(结合时间戳+上下文)
定位含“发票”关键词的图片(视觉+文本联合检索)
🖐 自动生成ADB序列:长按该图片→点击“转发”→在搜索框输入“财务群”→点击第一个结果

它不依赖坐标,不硬编码控件ID,甚至能处理模糊指令(比如用户说“把那个报销单发过去”,它也能关联到发票图)。这才是面向真实复杂环境的自动化。

2. Open-AutoGLM:手机端AI Agent的完整工作流

Open-AutoGLM不是单一模型,而是一个端云协同的轻量化AI Agent框架。它的核心价值在于——把大模型的“思考力”和手机端的“执行力”无缝打通,且对普通开发者足够友好。

2.1 架构设计:三层解耦,各司其职

整个系统分为三个清晰层次:

层级组件职责部署位置
感知层视觉语言模型(VLM)实时分析手机屏幕截图,提取UI元素、文字、图标、布局关系云端(GPU服务器)
决策层AutoGLM-Phone推理引擎接收用户自然语言指令 + 当前屏幕状态 → 输出结构化动作序列(如:{"action":"click","x":420,"y":760}云端(vLLM加速)
执行层ADB控制模块将动作序列翻译为真实ADB命令(adb shell input tap 420 760),并反馈执行结果本地电脑(Python控制端)

这种设计带来两大优势:
🔹手机零负担:所有重计算都在云端完成,千元机也能跑;
🔹能力可升级:只需替换云端模型(如从9B升级到16B),无需重写客户端代码。

2.2 从指令到执行:一次完整任务的幕后旅程

以指令“打开抖音搜索抖音号为:dycwo11nt61d 的博主并关注他!”为例,Open-AutoGLM内部发生了什么?

  1. 截图采集:控制端通过ADB截取当前手机屏幕(adb shell screencap -p /sdcard/screen.png
  2. 上传分析:将截图+指令文本发送至云端API(POST /v1/chat/completions
  3. 多模态理解:VLM识别出当前是桌面界面,看到“抖音”图标在第2页第3行
  4. 意图拆解:AutoGLM-Phone判断需执行三步:① 启动抖音 ② 点击搜索框 ③ 输入ID并关注
  5. 动作生成:输出JSON动作流:
    [ {"action":"launch_app","package":"com.ss.android.ugc.aweme"}, {"action":"click","x":920,"y":120}, {"action":"input_text","text":"dycwo11nt61d"}, {"action":"click","x":540,"y":380} ]
  6. ADB执行:控制端逐条调用ADB命令,每步后自动截图验证结果
  7. 人工接管点:当检测到登录页或验证码弹窗时,暂停并提示用户手动操作

整个过程对用户完全透明,你只看到手机自己“动了起来”。

3. Auto.js:脚本自动化的经典范式与现实瓶颈

Auto.js诞生于2017年,是安卓自动化领域的奠基者。它用JavaScript语法封装ADB和UiObject API,让开发者能像写网页一样操作手机。至今仍有大量RPA流程、抢红包脚本、游戏挂机工具基于它构建。

3.1 它为什么曾如此成功?

  • 极低门槛:安装APK即用,无需Root,支持图形化脚本编辑器
  • 精准控制:直接操作View控件(id("tv_search").click())、坐标点击(click(500,800))、手势(swipe(500,1000,500,300,500)
  • 生态成熟:社区沉淀超10万脚本,覆盖电商比价、课程签到、短视频养号等场景

3.2 但在AI时代,它的结构性局限日益凸显

维度Auto.jsOpen-AutoGLM说明
指令表达必须写代码(text("搜索").click()支持自然语言(“搜美食”)用户无需编程基础
界面适配需手动维护控件ID/坐标/文字自动识别当前界面元素APP更新后脚本仍可用
逻辑复杂度多分支需手写if-else模型自主规划决策树如“找不到搜索框则先点放大镜图标”
异常处理依赖try-catch捕获错误视觉反馈驱动重试(截图发现没跳转则再点一次)更接近人类操作逻辑
跨APP协作需显式startActivity切换APP模型理解任务全局性(“从微信复制链接→到抖音粘贴”)真正的端到端自动化

一个典型反例:某电商比价脚本,在京东APP中通过id("price")获取价格。但京东618大促期间改版,价格控件ID变成id("current_price"),所有脚本瞬间失效。而Open-AutoGLM只需重新截图,模型就能根据视觉位置和文字内容定位新价格区域——它认的是“那个写着¥299的数字”,不是某个ID。

4. 实战部署:手把手搭建Open-AutoGLM控制端

部署Open-AutoGLM并非遥不可及。只要你的本地电脑能连手机,云端有GPU服务器,15分钟即可跑通首个指令。以下是经过实测的精简步骤。

4.1 环境准备:三步搞定基础依赖

第一步:配置ADB(一次配置,永久生效)

  • Windows用户:下载platform-tools,解压后将路径添加到系统环境变量Path
  • macOS用户:终端执行
    # 下载后解压到Downloads export PATH="$PATH:$HOME/Downloads/platform-tools" echo 'export PATH="$PATH:$HOME/Downloads/platform-tools"' >> ~/.zshrc source ~/.zshrc
  • 验证:终端输入adb version,显示版本号即成功

第二步:手机开启调试权限

  1. 连续点击“设置→关于手机→版本号”7次,开启开发者模式
  2. 进入“开发者选项”,启用“USB调试”和“USB调试(安全设置)”
  3. 关键一步:安装ADB Keyboard并设为默认输入法(否则无法输入中文)

第三步:连接设备(USB优先,WiFi备用)

# USB连接(最稳定) adb devices # 应显示 device ID # WiFi连接(需先USB连一次) adb tcpip 5555 # 切换ADB到TCP模式 adb connect 192.168.1.100:5555 # 替换为手机IP

4.2 控制端部署:5行命令启动AI代理

# 1. 克隆官方仓库(已适配最新Android 14) git clone https://github.com/zai-org/Open-AutoGLM cd Open-AutoGLM # 2. 创建虚拟环境(推荐) python -m venv venv source venv/bin/activate # Windows用 venv\Scripts\activate # 3. 安装依赖(含ADB通信库) pip install -r requirements.txt pip install -e . # 4. 运行示例指令(替换为你的真实设备ID) python main.py \ --device-id "ZY322KDL7F" \ --base-url "http://192.168.1.200:8800/v1" \ --model "autoglm-phone-9b" \ "打开知乎,搜索‘大模型入门’,点开第一个回答并收藏"

提示:首次运行会自动下载模型权重(约3GB),建议使用高速网络。后续调用秒级响应。

4.3 Python API:嵌入你自己的业务系统

如果你需要将AI操作集成到企业后台,Open-AutoGLM提供简洁的Python SDK:

from phone_agent import PhoneAgent # 初始化代理(自动管理ADB连接) agent = PhoneAgent( device_id="ZY322KDL7F", api_base="http://192.168.1.200:8800/v1", model="autoglm-phone-9b" ) # 发送指令,同步等待结果 result = agent.execute("截图当前屏幕并保存为report.png") print(f"任务状态:{result.status},耗时:{result.duration:.1f}s") # 异步执行(适合高并发场景) task_id = agent.execute_async("打开淘宝,搜索‘无线耳机’,截图商品列表")

相比Auto.js需自己封装ADB通信、处理超时重试、管理设备连接,Open-AutoGLM的SDK已内置:
设备连接池自动复用
截图-分析-执行-验证闭环
敏感操作(支付、删除)二次确认
执行失败自动降级为人工接管

5. 关键对比:何时选AI Agent?何时选脚本?

没有银弹方案。选择取决于你的具体场景。我们总结了一个决策矩阵:

场景特征推荐方案原因
界面高度稳定(如内部ERP系统,半年不更新)Auto.js脚本一次编写,长期有效;无网络依赖;执行更快(毫秒级)
需处理模糊指令(如“找上周五的会议纪要PDF”)Open-AutoGLM依赖视觉+语义理解,脚本无法处理时间推理和文档识别
跨多个APP协作(微信收链接→浏览器打开→截图→钉钉发送)Open-AutoGLMAI能理解任务全局目标,脚本需手动协调各APP生命周期
快速原型验证(老板说“试试能不能自动回评论”)Open-AutoGLM自然语言指令5分钟验证,脚本需数小时开发调试
离线环境(工厂内网无GPU服务器)Auto.js完全本地运行,无需云端依赖
高频简单操作(每天100次点击“确认订单”)Auto.js无模型加载开销,资源占用极低,稳定性更高

真实建议:用Auto.js做“稳态任务”,用Open-AutoGLM做“动态任务”。例如:

  • 用Auto.js自动化每日数据报表导出(界面固定)
  • 用Open-AutoGLM处理客服工单中的用户截图问题(每次图片内容不同,需视觉理解)

二者并非替代关系,而是互补。前沿团队已开始混合使用:用Open-AutoGLM识别复杂界面后,调用预编写的Auto.js子脚本执行高频点击,兼顾智能性与效率。

6. 总结:自动化正在从“编程”走向“对话”

回顾这场对比,本质是两种人机交互范式的碰撞:
🔹 Auto.js代表指令式编程——人类把世界拆解为原子操作,再用代码组装;
🔹 Open-AutoGLM代表对话式智能——人类用自然语言描述目标,AI自主分解、执行、验证。

这不仅是技术差异,更是生产力逻辑的升维。当你的需求从“点这个按钮”进化到“帮我解决这个问题”,答案就不再是更复杂的脚本,而是能理解、能思考、能行动的AI Agent。

Open-AutoGLM的价值,不在于它今天能多快地完成某个任务,而在于它证明了一条可行路径:让手机真正成为听懂人话的智能助理,而非需要精心编程的遥控玩具。随着多模态模型轻量化、端侧推理加速,这种能力将快速下沉到每一台设备。

下一次当你想“让手机自动做点什么”,不妨先问自己:

我是在教它做事,还是在请它帮忙?


获取更多AI镜像

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

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

logging_steps=5够频繁吗?日志监控实用建议

logging_steps5够频繁吗?日志监控实用建议 在微调大语言模型时,你是否也曾在训练窗口前反复刷新,盯着那一行行跳动的 loss: 2.143 发呆?是否疑惑过:logging_steps5 到底意味着什么?是每5步就打印一次日志&…

作者头像 李华
网站建设 2026/2/5 23:33:34

verl社区支持资源:问题排查部署指南

verl社区支持资源:问题排查部署指南 1. verl 是什么:为大模型后训练量身打造的强化学习框架 verl 是一个灵活、高效且面向生产环境的强化学习(RL)训练框架,专为大型语言模型(LLMs)的后训练阶段…

作者头像 李华
网站建设 2026/2/6 15:35:13

fft npainting lama适合哪些场景?这4种最实用

fft npainting lama适合哪些场景?这4种最实用 1. 图像修复技术的实用价值 你有没有遇到过这样的情况:一张珍贵的老照片上有划痕,或者截图时不小心带上了水印,又或者照片里有个路人破坏了构图?这些问题在过去可能需要…

作者头像 李华
网站建设 2026/2/7 4:24:24

Qwen All-in-One内存占用实测:运行时资源消耗报告

Qwen All-in-One内存占用实测:运行时资源消耗报告 1. 为什么“一个模型干两件事”值得认真测一测? 你有没有遇到过这样的情况:想在一台老笔记本、树莓派,甚至只是公司那台没显卡的测试服务器上跑点AI功能,结果刚装完…

作者头像 李华
网站建设 2026/2/5 4:21:36

Z-Image-Turbo模型热更新机制:不停机更换权重部署实战案例

Z-Image-Turbo模型热更新机制:不停机更换权重部署实战案例 1. 热更新不是“重启大法”,而是让AI服务真正活起来 你有没有遇到过这样的场景:刚上线的图像生成服务正被团队高频使用,突然发现新版本权重效果更好,但一换…

作者头像 李华
网站建设 2026/2/7 4:28:13

告别繁琐PS!Qwen-Image-Layered实现AI自动分层

告别繁琐PS!Qwen-Image-Layered实现AI自动分层 你有没有这样的经历:为了修改一张海报上的文字,不得不在Photoshop里一层层翻找图层;想换个背景色,结果边缘抠不干净,修图半小时,效果还不理想。传…

作者头像 李华