介绍一款革命性的、开源的 AI 驱动自动化操作工具——Midscene

介绍一款革命性的、开源的 AI 驱动自动化操作工具——Midscene

Midscene 是一款革命性的、开源的 AI 驱动自动化操作工具(AI Operator),其核心理念是“让 AI 成为你的浏览器操作员”。它打破了传统自动化测试依赖复杂代码和固定选择器(如 XPath、CSS Selector)的模式,允许用户使用自然语言直接描述任务目标,由 AI 自主规划并执行界面操作。该工具主要面向 Web 端,同时也支持移动端(Android/iOS)的自动化场景,广泛应用于软件测试、RPA(机器人流程自动化)及日常办公提效。它由阿里巴巴国际数字商业集团(AIDC)的测试团队发起并维护,代码托管在 GitHub 上,遵循 MIT 许可证。这意味着大家可以免费将其用于个人学习、公司内部项目甚至商业产品中,无需支付授权费用。

官网/文档:https://midscenejs.com/

GitHub 仓库: https://github.com/web-infra-dev/midscene

核心依赖: 它本身是免费的,但运行时需要调用大模型(LLM)。默认情况下,它支持接入阿里云百炼(DashScope)、OpenAI 或其他兼容 OpenAI 协议的模型接口。注意:虽然工具免费,但调用大模型 API 可能会产生少量的 Token 费用(取决于选择的模型和用量),不过它也支持部署本地模型以实现完全零成本。

一、核心功能与特点

1. 自然语言驱动 (Natural Language Driven)

这是 Midscene 最显著的特征。用户无需学习复杂的自动化框架 API,只需用通俗的语言描述意图。

  • 示例:用户输入“在 Google 搜索‘Android Studio’并点击下载第一个结果”,Midscene 会自动理解语义,定位搜索框、输入文本、点击搜索按钮、识别下载链接并执行点击。
  • 优势:降低了自动化门槛,非技术人员(如产品经理、业务运营)也能编写自动化脚本。
2. 视觉驱动的元素定位 (Vision-Based Localization)

传统工具(如 Selenium、Playwright)依赖 DOM 结构和固定的选择器,一旦页面结构微调(如 class 名变更),脚本就会失效。

  • Midscene 的机制:基于多模态大模型(如 Qwen-VL 等视觉语言模型),通过“看”屏幕截图来理解界面元素。它能像人类一样识别按钮、输入框、文本内容,即使页面布局发生变化,只要视觉特征未变,AI 仍能准确操作。
  • 抗干扰性:对动态类名、混淆代码具有极强的鲁棒性。
3. 多平台支持
  • Web 端:作为浏览器插件或 Node.js 库运行,控制 Chrome/Edge 等浏览器。
  • 移动端:支持 Android 和 iOS 设备的自动化操作,原理同样是基于屏幕视觉分析。
4. 灵活的脚本格式

支持多种方式来定义任务:

  • 自然语言直接交互:在插件对话框中输入指令。
  • YAML 格式:适合编写结构化的测试用例,便于版本管理和协作。
  • JavaScript SDK:可嵌入到现有的 Node.js 项目中,与传统代码逻辑结合。
5. 智能规划与反思 (Agentic Planning)

Midscene 不仅仅是一个执行器,它具备 Agent(智能体)特性。在执行复杂任务时,它会:

  • 拆解步骤:将一个大目标拆解为多个子操作。
  • 自我修正:如果某一步操作失败(如点击无反应),AI 会尝试重新分析页面或换一种方式操作,而不是直接报错停止。

二、应用场景

1. 智能化 UI 自动化测试 (QA & Testing)

这是 Midscene 最核心的应用场景。

  • 端到端测试 (E2E):快速构建覆盖登录、搜索、下单、支付等完整业务流程的测试用例。
  • 回归测试:当产品迭代导致 UI 频繁变动时,传统脚本维护成本极高,而 Midscene 凭借视觉识别能力,能大幅减少脚本维护工作。
  • 跨浏览器/跨设备测试:一套自然语言脚本可适配不同分辨率或轻微差异的界面。
2. 办公自动化与 RPA (Robotic Process Automation)

替代重复性的人工网页操作,提升白领工作效率。

  • 数据抓取与录入:自动从多个网站抓取数据并填入内部系统。
  • 报表生成:自动登录后台,下载指定时间段的报表,整理后发送邮件。
  • 日常事务处理:如自动抢票、自动填写表单、批量处理电商订单等。
3. 原型验证与产品演示

产品经理可以使用自然语言快速录制或生成操作流程,用于向开发团队演示预期行为,或制作自动化的产品演示视频,无需编写任何代码。

4. 无障碍辅助 (Accessibility)

虽然主要定位为自动化工具,但其视觉理解和自然语言交互的特性,理论上可辅助视障人士通过语音指令操作复杂的网页应用。

三、技术架构与生态

  • 底层模型:Midscene 通常对接强大的视觉语言模型(VLM)。根据社区评测,它对 Qwen-VL (千问视觉版) 系列模型有较好的支持,利用其强大的 OCR 和图像理解能力来解析 UI 界面。
  • 运行环境:
    • 浏览器插件:提供直观的界面,适合手动触发和调试。
    • Node.js 库:@midscene/web 等包,方便集成到 CI/CD 流水线中。
  • 开源生态:项目在 GitHub 上开源,拥有活跃的社区,支持自定义模型接入(如通过 OpenRouter 接入其他大模型)。

四、Midscene 与传统工具的对比

特性传统工具 (Selenium/Playwright)Midscene (AI 驱动)
脚本编写需编写代码,熟悉 API自然语言描述,低代码/无代码
元素定位依赖 DOM/XPath/CSS,脆弱依赖视觉识别,鲁棒性强
维护成本高(UI 变动即需修改代码)低(适应 UI 变化)
执行速度极快(直接调用接口)略慢(需经过模型推理)
适用场景稳定系统的精确回归测试快速迭代系统、复杂交互、非技术人员使用

五、总结与展望

Midscene 代表了自动化测试和 RPA 领域的未来趋势:从“基于规则”向“基于意图”转变。在 2025-2026 年,随着多模态大模型能力的进一步提升(如更快的推理速度、更精准的上下文理解),Midscene 这类工具将变得更加稳定和高效。它特别适合那些UI 变动频繁、业务逻辑复杂且缺乏专业自动化测试团队的项目。对于希望快速落地自动化流程的企业和个人来说,Midscene 是一个极具价值的选择。

六、常见问题与提示

  1. 模型选择建议:Midscene 强依赖模型的视觉理解能力 (Vision)。推荐使用 Qwen-VL-Max (阿里云)、GPT-4o (OpenAI) 或 Claude 3.5 Sonnet。如果使用纯文本模型(如 GPT-3.5),它将无法“看”到屏幕,导致功能失效。
  2. 关于费用:工具本身免费。API 调用费用:一次简单的搜索操作可能消耗几千个 Token。以 Qwen-VL 为例,成本非常低(几分钱人民币可以跑几十次简单任务)。如果是高频大规模使用,建议评估成本或搭建本地 Ollama + 视觉模型服务。
  3. 稳定性:由于是基于概率的 AI 生成,极少数复杂场景下可能会出现误操作。建议在关键流程中加入“断言”(Assert)步骤,例如让 AI 确认“页面上是否出现了某某文字”,以确保流程正确。
  4. 进阶用法:YAML 脚本:你可以将一系列操作写成 YAML 文件,便于版本控制和 CI/CD 集成。混合模式:可以在 Playwright 代码中穿插传统代码(如直接请求接口)和 Midscene 的 AI 操作,兼顾速度与灵活性。

Read more

计算机的种类详解:从32位到64位,一文读懂不同架构的核心差异

在日常使用计算机(电脑、服务器、嵌入式设备)的过程中,我们总会听到“32位计算机”“64位计算机”“x86架构”“ARM架构”这样的说法,甚至在安装系统、软件时,还会遇到“选择32位版本还是64位版本”的问题。 很多人对这些概念一知半解,误以为“32位和64位”只是简单的性能差异,实则二者的核心区别在于CPU的寻址能力、数据处理能力,而不同架构、不同位数的计算机,适用场景也天差地别。 本文将从“核心分类维度”出发,详细拆解计算机的各类划分方式,重点讲解32位与64位计算机的差异,同时补充其他常见分类,帮你彻底理清计算机的种类与适用场景。 一、计算机的核心分类维度(先理清逻辑) 计算机的分类方式有很多,不同维度对应不同的种类,核心分类维度主要有3种: 1. 按CPU位数(数据总线/地址总线宽度)分类:这是最贴近日常使用的分类,也是本文重点,包括8位、16位、32位、64位计算机; 2.

By Ne0inhk
大话Rust的前生今世

大话Rust的前生今世

(本故事纯属戏说,如有雷同,那绝对是因为Rust太耀眼) 文章目录 * 混沌初开,天神震怒 * 十年磨一剑,霜刃未曾试 * 独门绝技,震惊武林 * 第一式:所有权系统 - 内存管理的太极拳 * 第二式:生命周期 - 变量的生死簿 * 第三式:零成本抽象 - 白嫖的性能 * 攻城略地,诸侯臣服 * WebAssembly:新世界的开拓者 * 区块链:信任的基石 * 操作系统:旧王座的挑战者 * 嵌入式:小车扛大炮 * 生态繁荣,万国来朝 * Crates.io:包罗万象的藏经阁 * 社区:最友好的极客聚集地 * 工具链:程序员的美梦成真 * 群雄逐鹿,谁与争锋 * 未来已来,星辰大海 * 修行之路,痛并快乐 * 传奇继续,代码不朽 * Rust说

By Ne0inhk
【爬虫】Python实现爬取淘宝商品信息(超详细)

【爬虫】Python实现爬取淘宝商品信息(超详细)

【更新说明】项目代码已在2025年11月23日16点30进行更新,如有问题可评论或私信与我联系! 目录 项目介绍 代码部分 引用第三方库 全局定义 主函数 爬虫主函数代码 搜索“关键词” 翻页函数代码 编辑 获取商品列表信息代码 完整代码 项目介绍 项目使用ChromeDriver插件,基于Python的第三方库Selenium模拟浏览器运行、PyQuery解析和操作HTML文档,获取淘宝平台中某类商品的详细信息(商品标题、价格、销量、商铺名称、地区、商品详情页链接、商铺链接等),并基于第三方库openpyxl建立、存储于Excel表格中。 【说明】若允许代码出现翻译错误、代码能正常运行但是Excel没有数据等问题,可能是淘宝网页更新了父元素类选择器的缘故,大家可以参照教程检查一下元素是否更新;若网页元素更新,则可参照教程自行修改;【爬虫】教你如何获取淘宝网页父元素类选择器标签(超详细)-ZEEKLOG博客 效果预览: 代码部分 引用第三方库 # 代码说明: ''' 代码功能: 基于ChromeDriver爬取taobao(

By Ne0inhk