Midscene:字节跳动开源的AI视觉驱动UI自动化工具,支持Web/iOS/Android全平台

今天给大家介绍一款来自字节跳动的开源AI自动化工具——Midscene。这是一个AI驱动、视觉导向的UI自动化框架,支持Web、iOS、Android等全平台,可以用自然语言编写自动化脚本。

项目介绍

Midscene是由字节跳动Web Infra团队开源的UI自动化工具,主打AI能力和视觉驱动的自动化执行。项目在GitHub上已获得超过12000颗星标,并且提供了与OpenClaw集成的Midscene Skills,可以用来控制各种平台。

特色功能

1. 自然语言编写自动化
用户只需用自然语言描述目标和步骤,Midscene就会自动规划和操作用户界面。无需关心具体的UI元素定位,一切由AI驱动。

2. 全平台支持
Web自动化:支持Puppeteer、Playwright或Bridge模式控制浏览器
iOS自动化:使用JavaScript SDK配合WebDriverAgent控制iOS设备和模拟器
Android自动化:使用JavaScript SDK配合adb控制本地Android设备
任意界面:提供通用JavaScript SDK,可控制自定义界面

3. 三类API设计
交互API(Interaction API):与用户界面交互
数据提取API(Data Extraction API):从界面和DOM中提取数据
工具API(Utility API):辅助功能如aiAssert()、aiLocate()、aiWaitFor()等

4. MCP服务
Midscene提供MCP服务,将原子化的Agent操作暴露为MCP工具,上层Agent可以用自然语言检查和操作UI。

5. 缓存机制提升效率
支持脚本回放缓存,可以更快地获取执行结果。

6. 完善的调试体验
提供可视化回放报告文件、内置Playground和Chrome扩展,大大简化调试过程。

7. Chrome扩展
提供浏览器扩展,可以零代码立即体验,无需编写任何代码即可开始自动化。

安装步骤

Web自动化安装(Puppeteer示例):

npm install @midscene/web puppeteer

编写脚本:

const { Midscene } = require(‘@midscene/web’);
const puppeteer = require(‘puppeteer’);

(async () => {
const browser = await puppeteer.launch({ headless: false });
const page = await browser.newPage();
const midscene = new Midscene({ page });

await midscene.goto(‘https://example.com’);
await midscene aiAction(‘点击登录按钮’);
await midscene aiQuery(‘获取用户名输入框的位置’);

await browser.close();
})();

Chrome扩展体验:

直接在Chrome应用商店搜索Midscene安装,无需编写代码即可开始浏览器自动化。

使用方法

1. 编写自动化脚本
使用JavaScript SDK或YAML编写自动化脚本,用自然语言描述操作步骤。

2. 执行脚本
运行脚本,Midscene会自动分析界面并执行相应操作。

3. 调试和优化
使用可视化回放报告和Playground工具调试脚本。

4. 与MCP集成
如需在更复杂的Agent系统中使用,可以通过MCP协议调用Midscene的能力。

适用场景

自动化测试:Web应用、iOS应用、Android应用的UI测试
RPA机器人:业务流程自动化、网页数据采集
AI Agent工具:作为Agent的感知和操作模块
爬虫替代:用自然语言指令实现复杂网页操作

开源协议

Midscene采用MIT开源协议,完全免费开源。

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


服务支持:如有兴趣不会搭建,可以联系微信:WRYD6166,开源项目搭建10-50元。

© 版权声明
THE END
喜欢就支持一下吧
点赞12 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容