Midscene.js - AI 驱动,带来 愉悦的 UI 自动化体验
视觉模型驱动,支持全平台的 UI 自动化 SDK
📣 v1.0 正式发布公告
我们已发布 v1.0 版本。 目前已在 npm 发布。
最新文档与代码请查看 https://midscenejs.com/ 以及main分支。
历史文档请访问 https://v0.midscenejs.com/。
v1.0 变更记录: https://midscenejs.com/zh/changelog
功能特性
用自然语言编写自动化脚本
- 描述你的目标和步骤,Midscene 会为你规划和操作用户界面。
- 使用 JavaScript SDK 或 YAML 格式编写自动化脚本。
Web & Mobile App & 任意界面
- 网页自动化:可以与 Puppeteer 集成,与 Playwright 集成或使用桥接模式来控制桌面浏览器。
- Android 自动化:使用 JavaScript SDK 配合 adb 来控制本地 Android 设备。
- iOS 自动化:使用 JavaScript SDK 配合 WebDriverAgent 来控制本地 iOS 设备与模拟器。
- 任意界面自动化:使用 JavaScript SDK 来控制你自己的界面。
面向开发者
- 三种类型的 API:
- MCP: Midscene 提供 MCP 服务,将 Midscene Agent 的原子操作暴露为 MCP 工具,上层 Agent 可以用自然语言检查和操作界面。文档
- 使用缓存,提高执行效率: 使用缓存能力重放脚本,提高执行效率。
- 调试体验: Midscene.js 提供可视化回放报告、内置 Playground 和 Chrome 插件,帮助开发者更高效地定位与排障。
演示案例
在 Web 浏览器中自主注册 Github 表单,通过所有字段校验:
此外还有这些实战案例:
- iOS 自动化 - 美团下单咖啡
- iOS 自动化 - Twitter 自动点赞 @midscene_ai 首条推文
- Android 自动化 - 懂车帝查看小米 SU7 参数
- Android 自动化 - Booking 预订东京圣诞酒店
- MCP 集成 - Midscene MCP 操作界面发布 prepatch 版本
零代码快速体验
- Chrome 插件:通过 Chrome 插件 立即开始浏览器内体验,无需编写任何代码。
- Android Playground:使用 Android playground 来控制你的本地 Android 设备。
- iOS Playground:使用 iOS playground 来控制你的本地 iOS 设备。
视觉语言模型驱动
Midscene.js 在 UI 操作上采用纯视觉(pure-vision)路线:元素定位和交互只基于截图完成。支持视觉语言模型,例如 Qwen3-VL、Doubao-1.6-vision、gemini-3-pro、gemini-3-flash 和 UI-TARS。在数据提取和页面理解场景中,需要时仍可选择附带 DOM 信息。
- UI 操作采用纯视觉定位,不再提供 DOM 提取兼容模式。
- 适用于 Web、移动端、桌面应用,甚至
<canvas>场景。 - UI 操作无需 DOM,Token 更少、成本更低、运行更快。
- 数据提取和页面理解可按需附带 DOM 信息。
- 支持开源模型,方便自托管。
更多信息请阅读 模型策略。
两种自动化风格
自动规划
AI 自主规划执行流程,完成任务
工作流风格
将复杂逻辑拆分为多个步骤,以提高自动化代码的稳定性。
有关工作流风格的更多详细信息,请参阅 使用 JavaScript 优化 AI 自动化代码
资源
- 主页和文档:https://midscenejs.com
- 示例项目:https://github.com/web-infra-dev/midscene-example
- API 参考:https://midscenejs.com/api.html
- GitHub:https://github.com/web-infra-dev/midscene
社区
致谢
我们要感谢以下项目:
- Rsbuild 和 Rslib 提供构建工具。
- UI-TARS 提供开源智能体模型 UI-TARS。
- Qwen2.5-VL 提供开源 VL 模型 Qwen2.5-VL。
- scrcpy 和 yume-chan 让我们能够用浏览器控制 Android 设备。
- appium-adb 提供 adb 的 JavaScript 桥接。
- appium-webdriveragent 用于 JavaScript 操作 XCTest。
- YADB 提供 yadb 工具,提升文本输入性能。
- libnut-core 提供跨平台的原生键盘和鼠标控制。
- Puppeteer 提供浏览器自动化和控制。
- Playwright 提供浏览器自动化、控制和测试。
License
Midscene.js 使用 MIT 许可协议。

