Midscene.js:用自然语言让AI替你操作所有设备的完整指南
【免费下载链接】midsceneAI-powered, vision-driven UI automation for every platform.项目地址: https://gitcode.com/GitHub_Trending/mid/midscene
还在为重复的网页操作、APP测试、表单填写而烦恼吗?每天花几个小时手动点击按钮、填写信息、检查结果,不仅枯燥乏味,还容易出错。现在,Midscene.js为你提供了一套创新的跨平台自动化解决方案,让你用自然语言就能控制所有设备。Midscene.js是一个基于视觉AI的跨平台自动化工具,支持网页、Android、iOS、HarmonyOS和桌面应用,彻底告别复杂的代码编写。
想象一下:你只需要告诉AI"打开设置查看安卓版本"或"在eBay搜索栏输入关键词",AI就能像真人一样操作设备,完成所有繁琐任务。这就是Midscene带来的效率革命!
🤔 为什么你需要Midscene.js?
传统自动化面临的技术困境
作为一名开发者或测试工程师,你一定遇到过这些问题:
场景一:网站改版导致所有脚本失效昨天还能正常运行的自动化脚本,今天因为页面结构调整就完全崩溃了。你不得不重新分析DOM结构,更新所有CSS选择器,这个过程既耗时又容易出错。
场景二:跨平台测试需要多套代码为网页写一套Playwright脚本,为iOS写一套Appium代码,为Android再写一套。每增加一个平台,你的维护成本就翻倍增长。
场景三:视觉元素无法被传统工具识别纯图标按钮、canvas画布、自定义控件,这些没有标准DOM结构的元素让传统自动化工具束手无策。
场景四:非技术人员无法参与自动化流程业务人员有明确的测试需求,但不会写代码;开发人员会写代码,但不了解业务细节。这种沟通断层导致自动化测试难以落地。
Midscene.js的技术方案
Midscene.js采用纯视觉识别技术,直接从屏幕截图理解界面,不依赖DOM结构或可访问性树。这意味着:
- 零选择器维护- UI怎么变都能适配
- 跨平台统一API- 一套代码支持所有设备
- 真正的所见即所得- 只要人眼能看到,Midscene就能操作
- 自然语言驱动- 业务人员也能直接描述测试场景
🎯 Midscene.js的核心优势
纯视觉识别:告别脆弱的DOM依赖
传统UI自动化工具严重依赖页面结构,每次重构都需要更新选择器。Midscene.js基于多模态AI模型,直接从屏幕截图理解界面,实现了真正的"所见即所得"自动化。
技术实现路径:packages/core/src/agent/- 这里包含了Midscene的核心AI代理逻辑,包括视觉识别、自然语言理解和动作执行。
跨平台支持:一套方案搞定所有设备
无论是Web浏览器、Android设备、iOS系统、HarmonyOS还是桌面应用,Midscene.js提供统一的API接口。这意味着你只需要学习一次,就能应用到所有平台。
平台支持源码:
- Android自动化:
packages/android/src/ - iOS自动化:
packages/ios/src/ - Web自动化:
packages/web-integration/src/ - 桌面应用:
packages/computer/src/
自然语言交互:降低自动化门槛
不需要学习复杂的CSS选择器或XPath语法,只需要用大白话描述你的操作意图。Midscene.js的AI模型会理解你的指令,并转化为具体的界面操作。
实际使用对比:
使用前:
// 传统方式:需要精确的元素选择器 await page.click('button[data-testid="submit-btn"]'); await page.fill('input[name="username"]', 'testuser');使用后:
# Midscene方式:自然语言描述 - "点击登录按钮" - "在用户名输入框填写testuser"🛠️ Midscene.js的三大应用场景
场景一:Web自动化测试与数据采集
用户故事:小王是电商公司的数据分析师,每天需要从10个电商平台收集50个商品的价格数据。以前他需要手动操作,现在使用Midscene.js:
- 配置Chrome扩展:安装Midscene Chrome插件
- 输入自然语言指令:"打开京东,搜索iPhone 15,获取前5个商品的价格和评价数"
- 自动化执行:Midscene自动完成所有操作并返回结构化数据
- 定时任务:设置每天自动执行,数据自动保存到数据库
技术实现:通过packages/web-integration/src/中的桥接模式,Midscene可以控制浏览器执行复杂的Web操作,同时保留所有浏览器状态(cookies、登录信息等)。
场景二:移动应用自动化测试
用户故事:小李是移动应用测试工程师,需要测试应用在Android和iOS上的兼容性。以前他需要为两个平台分别编写测试脚本,现在:
- 统一测试脚本:使用YAML格式编写一次测试用例
- 多设备并行执行:同时连接Android和iOS设备
- 视觉验证:自动截图并验证UI显示效果
- 回归测试:每次版本更新自动运行完整测试套件
核心功能源码:packages/android/src/agent.ts和packages/ios/src/agent.ts包含了移动设备自动化的核心逻辑。
场景三:跨平台业务流程自动化
用户故事:某公司的客服团队需要处理来自网页、移动APP和桌面客户端的用户反馈。使用Midscene.js后:
- 统一处理流程:无论来自哪个平台,都使用相同的自动化流程
- 智能路由:根据问题类型自动分配到对应处理系统
- 状态同步:跨平台状态自动同步,避免重复处理
- 报表生成:自动生成跨平台服务报表
🚀 5分钟快速上手指南
第一步:安装Chrome扩展(零代码体验)
这是最简单的开始方式,让你立即体验Midscene.js的强大功能:
- 从源码构建:
git clone https://gitcode.com/GitHub_Trending/mid/midscene cd apps/chrome-extension pnpm install pnpm run build加载扩展:
- 打开Chrome浏览器,访问
chrome://extensions/ - 开启"开发者模式"
- 点击"加载已解压的扩展程序"
- 选择项目中的
dist目录
- 打开Chrome浏览器,访问
配置AI模型:
- 点击浏览器工具栏中的Midscene图标
- 进入设置页面
- 配置你的AI模型API密钥
第二步:配置AI模型(核心准备)
Midscene.js支持多种多模态AI模型,包括Qwen3.x、Doubao-Seed、GLM-4.6V、Gemini等。配置非常简单:
环境变量配置:
export MIDSCENE_OPENAI_API_KEY="你的API密钥" export MIDSCENE_OPENAI_BASE_URL="https://api.openai.com/v1"官方文档路径:apps/site/docs/zh/model-common-config.mdx- 这里详细介绍了所有支持的模型和配置方法。
第三步:编写你的第一个自动化脚本
如果你更喜欢代码方式,可以使用Midscene.js的JavaScript SDK:
- 安装依赖:
npm install @midscene/web playwright --save-dev- 创建测试脚本:
import { createAgent } from '@midscene/web'; const agent = await createAgent({ platform: 'web', model: 'qwen-vl-plus' }); // 用自然语言控制浏览器 await agent.ai('打开百度首页'); await agent.ai('在搜索框输入"Midscene.js"'); await agent.ai('点击搜索按钮'); await agent.ai('获取第一个搜索结果');- 运行脚本:
node your-script.js
完整示例源码:apps/site/docs/zh/quick-start.mdx提供了详细的快速开始指南。
📋 实战案例:电商价格监控系统
案例背景
某电商公司的运营团队需要监控竞争对手的价格变化。传统方式需要人工每天检查10个平台,耗时3-4小时,且容易漏掉重要价格变动。
Midscene.js解决方案
技术架构:
- 数据采集层:使用Midscene.js自动访问各电商平台
- 自然语言指令:用YAML定义采集规则
- 定时任务:通过cron job定期执行
- 数据存储:结果自动保存到数据库
- 报警系统:价格异常时自动通知
YAML脚本示例:
name: "价格监控自动化" platforms: ["web"] tasks: - name: "京东价格监控" url: "https://jd.com" actions: - "搜索{{商品名称}}" - "获取前10个商品的价格和标题" - "保存到价格数据库" - "如果价格下降超过10%,发送邮件通知" - name: "淘宝价格监控" url: "https://taobao.com" actions: - "搜索{{商品名称}}" - "获取前10个商品的价格和销量" - "保存到价格数据库"实施效果对比
| 指标 | 传统人工方式 | Midscene.js自动化 |
|---|---|---|
| 时间成本 | 3-4小时/天 | 5分钟/天 |
| 准确性 | 人工易出错 | 100%准确 |
| 及时性 | 每天一次 | 实时监控 |
| 可扩展性 | 难以增加平台 | 轻松扩展新平台 |
| 维护成本 | 高(需培训人员) | 低(脚本自动运行) |
🔧 进阶技巧与最佳实践
技巧1:智能错误处理与重试机制
自动化过程中难免遇到网络波动或页面加载问题。Midscene.js内置了智能重试机制:
tasks: - name: "稳定操作流程" action: click target: "提交按钮" retry: maxAttempts: 3 delay: 2000 conditions: - "元素未找到" - "网络超时" - "页面未完全加载"实现源码:packages/core/src/task-runner.ts- 这里包含了任务执行和错误处理的核心逻辑。
技巧2:条件分支与智能决策
Midscene.js可以像人类一样做出判断,处理复杂的业务逻辑:
tasks: - name: "智能登录处理" action: evaluate script: "检查页面是否有用户菜单" storeResultAs: "isLoggedIn" - name: "根据状态执行不同操作" if: "{{isLoggedIn}}" then: - action: click target: "退出登录" else: - action: click target: "登录按钮" - action: type target: "用户名输入框" text: "{{用户名}}"技巧3:数据提取与结构化输出
Midscene.js不仅能操作界面,还能提取和处理结构化数据:
tasks: - name: "提取商品信息" action: extract target: "商品列表" fields: - name: "title" selector: "商品标题" - name: "price" selector: "价格" transform: "parseFloat" - name: "rating" selector: "评分" transform: "parseFloat" outputFormat: "json" outputFile: "products.json"数据提取源码:packages/shared/src/extractor/- 这里包含了各种数据提取和转换工具。
📚 学习资源与社区支持
官方文档与示例
- 快速开始指南:
apps/site/docs/zh/quick-start.mdx - 平台特定指南:
apps/site/docs/zh/platforms/目录下的各个平台文档 - API参考文档:
apps/site/docs/zh/reference/ - 示例项目:项目中的
packages/*/demo/目录包含各平台示例
社区资源
- Discord社区:获取实时帮助和技术支持
- GitHub Issues:提交问题和功能请求
- 示例仓库:学习最佳实践和高级用法
- 博客文章:
apps/site/docs/public/blog/目录下的技术文章
学习路径建议
- 入门阶段:从Chrome扩展开始,体验自然语言自动化
- 基础阶段:学习YAML脚本编写,掌握基本自动化流程
- 进阶阶段:使用JavaScript SDK,构建复杂自动化系统
- 专家阶段:贡献代码,开发自定义插件和扩展
🎯 立即开始你的自动化之旅
Midscene.js不仅仅是一个工具,它是你工作效率的革命性提升。无论你是:
- 前端开发者:需要自动化测试和部署
- 测试工程师:需要跨平台自动化测试
- 数据分析师:需要自动化数据采集
- 运营人员:需要业务流程自动化
- 普通用户:想要自动化重复的网页操作
Midscene.js都能为你节省大量时间,让你专注于更有价值的工作。
今天就开始行动
- 克隆项目:
git clone https://gitcode.com/GitHub_Trending/mid/midscene - 安装扩展:按照快速指南安装Chrome扩展
- 尝试第一个任务:从简单的网页操作开始
- 逐步扩展:应用到更多场景和平台
不要再让重复劳动消耗你的时间和精力。让Midscene.js成为你的AI助手,用自然语言控制所有设备,开启高效工作的新篇章!
小贴士:建议先从简单的日常任务开始,比如自动填写表单、批量下载文件等。随着熟练度的提高,逐步尝试更复杂的自动化场景。Midscene.js社区中有大量现成的脚本模板和最佳实践,欢迎参考和学习。
【免费下载链接】midsceneAI-powered, vision-driven UI automation for every platform.项目地址: https://gitcode.com/GitHub_Trending/mid/midscene
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考