今天给大家介绍一个非常酷的开源项目——Midscene。这是一个AI驱动的视觉UI自动化工具,可以用自然语言描述来控制Web页面、iOS应用、Android应用甚至任何界面,在GitHub上热度很高,已获得12000+颗星。
项目介绍
Midscene.js是一个用自然语言驱动UI自动化的工具,核心理念是 Write Automation with Natural Language。你只需要用自然语言描述你的目标,比如”在GitHub上注册一个账号,填写表单”,Midscene就会自动规划并执行所有界面操作。
它的最大特点是纯视觉路线——元素定位和交互完全基于截图,不需要读取DOM,这让它可以在任何界面类型上工作,包括Web、iOS、Android,甚至Canvas画布。
核心特色功能
一,纯视觉UI自动化。元素定位和交互完全基于截图,不需要DOM读取。这让它能在任何UI平台上工作,从Web到移动App再到桌面应用,甚至游戏界面。
二,支持多平台。Web自动化:支持Puppeteer、Playwright或Bridge Mode控制浏览器;iOS自动化:通过WebDriverAgent控制iOS设备和模拟器;Android自动化:通过adb控制Android设备和模拟器;任何界面:提供JavaScript SDK,可控制自定义界面。
三,自然语言交互。只需描述你的目标和步骤,AI会自动规划执行路径,不需要写复杂的定位选择器。
四,MCP工具支持。Midscene提供MCP服务,将原子操作暴露为MCP工具,供上层AI Agent调用。
五,缓存机制提升效率。支持脚本缓存,重复运行时可直接获取结果,大幅提升自动化效率。
六,丰富的调试工具。可视化回放报告、内置Playground、Chrome扩展,让调试变得简单。
支持的视觉语言模型
支持Qwen3-VL、Doubao-1.6-vision、gemini-3-pro、UI-TARS等多种视觉语言模型。
安装步骤
方式一(Chrome扩展,零代码体验):
直接在Chrome应用商店安装Midscene扩展,无需编写代码,直接在浏览器中使用。
方式二(Web项目集成):
npm install @midscene/web
在Playwright项目中:
import { Midscene } from @midscene/web;
const ms = new Midscene();
await ms.aiNavigateTo(https://github.com);
await ms.aiFill(#username, myusername);
方式三(Node.js脚本模式):
npm install @midscene/node
const { Midscene } = require(@midscene/node);
方式四(桌面浏览器Bridge Mode):
适合控制本地桌面浏览器,无需安装浏览器驱动。
Android/iOS请参考官方文档进行adb和WebDriverAgent配置。
使用方法
Web自动化示例:
import { Midscene } from @midscene/web;
const ms = new Midscene();
// 用自然语言描述任务
await ms.aiNavigateTo(https://github.com/signup);
await ms.aiFill(注册表单中的用户名输入框, mytestuser);
await ms.aiClick(邮箱输入框);
await ms.aiType(test@example.com);
await ms.aiClick(注册按钮);
await ms.aiAssert(注册成功提示出现);
// 从页面提取数据
const username = await ms.aiExtract(页面上的用户名);
console.log(username);
适用场景
UI自动化测试:无需编写复杂选择器,用自然语言描述测试用例;爬虫开发:抓取需要交互才能加载的内容;RPA流程自动化:模拟人工操作各种Web和移动应用;AI Agent工具:为AI Agent提供控制界面的能力;游戏自动化:控制游戏界面(通过图像识别);批量数据录入:自动填写表单,批量处理数据。
开源协议
MIT协议,开源免费。
GitHub仓库:https://github.com/web-infra-dev/midscene
服务支持:如有兴趣不会搭建,可以联系微信:WRYD6166,开源项目搭建10-50元。








暂无评论内容