midscene/README.zh.md
yuyutaotao b7c252f729
docs(core): update index page (#800)
* docs(core): update index page

* docs(core): update index page
2025-06-19 11:52:01 +08:00

7.9 KiB
Raw Permalink Blame History

Midscene.js

Midscene.js

English | 简体中文

开源的 AI 操作助手,适用于 Web、移动端、自动化和测试

npm version hugging face model downloads License discord twitter Ask DeepWiki.com

案例

指令 视频
用 JS 代码驱动编排任务,搜集周杰伦演唱会的信息,并写入 Google Docs
控制地图 App 在 Android 上导航到目的地
使用 midscene mcp 的方法,浏览页面( https://www.saucedemo.com/ ),进行登录,添加商品、下单商品最终根据 mcp 执行的步骤和 playwright example 生成最终的测试用例

💡 特性

用自然语言编写自动化脚本

  • 描述你的目标和步骤Midscene 会为你规划和操作用户界面。
  • 使用 Javascript SDK 或 YAML 格式编写自动化脚本。

Web & Mobile App

工具

  • 用于调试的可视化报告 🎞️: 通过我们的测试报告和 Playground你可以轻松理解、回放和调试整个过程。
  • 使用缓存,提高执行效率 🔄: 使用缓存能力重放脚本,提高执行效率。
  • MCP 🔗: 允许其他 MCP Client 直接使用 Midscene 的能力。

三种类型的 API

👉 无需代码,快速体验

选择 AI 模型

Midscene.js 支持多模态 LLM 模型,如 gpt-4o,以及视觉语言模型,如 Qwen2.5-VLgemini-2.5-proUI-TARS

视觉语言模型是 UI 自动化场景的首选。

更多信息请查看 选择 AI 模型

💡 两种风格的自动化

自动规划

Midscene 会自动规划步骤并执行。它可能较慢,并且深度依赖于 AI 模型的质量。

await aiAction('click all the records one by one. If one record contains the text "completed", skip it');

工作流风格

将复杂逻辑拆分为多个步骤,以提高自动化代码的稳定性。

const recordList = await agent.aiQuery('string[], the record list')
for (const record of recordList) {
  const hasCompleted = await agent.aiBoolean(`check if the record contains the text "completed"`)
  if (!hasCompleted) {
    await agent.aiTap(record)
  }
}

有关工作流风格的更多详细信息,请参阅 Blog - 使用 JavaScript 优化 AI 自动化代码

👀 与其它工具比较

  • 调试体验: 你很快就会发现调试和维护自动化脚本才是真正的痛点。无论模型多么强大你仍然需要调试过程以确保其保持长期稳定。Midscene.js 提供了可视化报告、内置的 Playground 和 Chrome 插件,以调试整个运行过程。这是大多数开发者真正需要的特性,我们也在持续努力改进调试体验。

  • 开源、免费、部署灵活: Midscene.js 是一个开源项目。它与云服务和模型提供商解耦,你可以选择公共或私有部署。总会有一个适合你的方案。

  • 与 Javascript 集成: 你可以永远相信 Javascript 😎

📄 资源

🤝 社区

📝 致谢

我们感谢以下项目:

  • Rsbuild 用于构建工具。
  • UI-TARS 用于开源的 AI 模型 UI-TARS。
  • Qwen2.5-VL 用于开源的视觉语言模型 Qwen2.5-VL。
  • scrcpyyume-chan 允许我们使用浏览器控制 Android 设备。
  • appium-adb 用于 javascript 桥接 adb。
  • YADB 用于提高文本输入的兼容性。
  • Puppeteer 用于浏览器自动化与控制。
  • Playwright 用于浏览器自动化与控制和测试。

📝 引用

如果您在研究或项目中使用了 Midscene.js请引用

@software{Midscene.js,
  author = {Xiao Zhou, Tao Yu, YiBing Lin},
  title = {Midscene.js: Your AI Operator for Web, Android, Automation & Testing.},
  year = {2025},
  publisher = {GitHub},
  url = {https://github.com/web-infra-dev/midscene}
}

📝 授权许可

Midscene.js 遵循 MIT 许可协议


如果本项目对你有帮助或启发,请给我们一个