首页
/ Midscene.js:AI驱动的跨平台自动化操作解决方案

Midscene.js:AI驱动的跨平台自动化操作解决方案

2026-04-03 09:38:18作者:薛曦旖Francesca

Midscene.js是一款开源的视觉驱动AI操作助手,专为Web、Android和iOS平台设计,让AI成为你的自动化浏览器操作员。通过自然语言指令,它能轻松实现从简单网页操作到复杂移动设备控制的全流程自动化,为开发者和测试人员提供高效、智能的解决方案。

价值定位:重新定义自动化操作体验

在数字化时代,自动化测试和操作已成为提升效率的关键。Midscene.js通过将AI视觉识别与跨平台控制能力相结合,打破了传统自动化工具对代码和元素定位的依赖,开创了一种更自然、更智能的操作方式。无论是需要快速验证UI功能的开发者,还是希望实现重复任务自动化的测试人员,都能通过Midscene.js大幅提升工作效率。

核心价值主张

  • 视觉驱动:基于AI的视觉识别技术,无需复杂的元素定位
  • 跨平台支持:统一的操作方式覆盖Web、Android和iOS平台
  • 自然语言交互:用日常语言描述操作意图,降低技术门槛
  • 开源免费:MIT许可证,完全开源,支持自托管模型部署
  • 灵活扩展:模块化架构设计,支持自定义脚本和集成方案

核心能力:全方位自动化解决方案

Midscene.js采用先进的AI模型和灵活的架构设计,提供了一系列强大功能,满足不同场景下的自动化需求。

多平台自动化控制

Midscene.js支持三大主流平台的自动化操作,实现了跨设备的统一控制体验。

Midscene.js Android设备自动化界面 Midscene.js Android设备自动化界面,展示设备信息监控和操作流程

  • Android自动化:通过scrcpy技术实现屏幕投射与控制,支持应用管理、界面交互和系统信息查询
  • iOS自动化:基于WebDriverAgent实现iOS设备控制,支持各类原生应用操作
  • Web自动化:通过Chrome扩展和桥接模式,实现浏览器的精准控制和页面交互

AI视觉理解与交互

借助先进的AI模型,Midscene.js能够像人类一样理解屏幕内容并做出相应操作:

  • 智能定位:自动识别界面元素,无需手动编写选择器
  • 场景分析:理解页面结构和内容关系,实现上下文感知操作
  • 多模态交互:结合视觉信息和自然语言指令,实现复杂操作序列

Midscene.js网页自动化操作界面 Midscene.js网页自动化操作界面,展示eBay页面的交互控制

灵活的操作模式

Midscene.js提供多种操作模式,满足不同场景需求:

  • 直接操作:通过自然语言指令直接控制设备
  • 脚本执行:支持YAML格式的自动化脚本,实现复杂流程
  • 桥接模式:连接本地终端与浏览器,实现脚本与手动操作的无缝切换

Midscene.js桥接模式界面 Midscene.js桥接模式界面,展示如何通过代码控制桌面Chrome浏览器

实践指南:快速上手Midscene.js

环境准备

在开始使用Midscene.js前,请确保系统满足以下要求:

系统要求

  • 内存:至少8GB RAM
  • 磁盘空间:至少2GB可用空间
  • 网络:能够访问AI模型服务

必需软件

  • Node.js 18.19.0或更高版本
  • pnpm 9.3.0或更高版本
  • Git版本控制工具

版本验证

node --version  # 应显示18.19.0或更高
pnpm --version   # 应显示9.3.0或更高

安装与配置

步骤1:获取项目源码

git clone https://gitcode.com/GitHub_Trending/mid/midscene.git
cd midscene

步骤2:安装依赖

pnpm install

步骤3:构建项目

pnpm run build

步骤4:配置AI模型

Midscene.js环境变量配置界面 Midscene.js环境变量配置界面,用于设置API密钥和模型参数

在应用中打开环境配置面板,设置必要的AI模型参数:

  • OPENAI_API_KEY:你的OpenAI API密钥
  • MIDSCENE_MODEL:选择使用的AI模型
  • 其他可选参数:根据需要配置超时时间、缓存策略等

步骤5:启动应用

根据需要启动不同的应用模块:

网页 playground

pnpm run dev:playground

Android playground

pnpm run dev:android-playground

常见场景解决方案

场景1:网页自动化测试

使用Midscene.js实现网页自动化测试非常简单,只需描述你想要执行的操作:

// 导入Midscene.js库
import { Agent } from '@midscene/web-integration';

// 创建代理实例
const agent = new Agent();

// 执行AI驱动的操作
async function runTest() {
  // 导航到目标网页
  await agent.goto('https://example.com');
  
  // 使用自然语言指令执行操作
  await agent.aiAction('点击"登录"按钮,输入用户名"test"和密码"password",然后点击提交');
  
  // 验证结果
  const result = await agent.aiQuery('登录是否成功?页面上有什么提示信息?');
  console.log(result);
}

runTest();

场景2:移动应用自动化

Midscene.js可以轻松控制Android设备执行各种任务:

# 保存为: check_android_version.yaml
name: 检查Android系统版本
steps:
  - action: 打开设置应用
  - action: 滚动到"关于手机"
  - query: 读取Android版本号
  - assert: 版本号大于等于10.0

运行脚本:

pnpm midscene run check_android_version.yaml

进阶探索:深入Midscene.js生态

架构解析

Midscene.js采用monorepo架构,主要包含两大模块集合:

应用模块 (apps/)

  • android-playground - Android设备自动化演示平台
  • chrome-extension - Chrome浏览器扩展,实现网页控制
  • playground - 网页自动化交互平台
  • recorder-form - 操作录制工具
  • report - 自动化执行报告生成器
  • site - 官方文档网站

核心包模块 (packages/)

  • core - 核心功能实现,包括AI模型集成和任务调度
  • cli - 命令行工具接口
  • android/ios - 移动平台自动化支持
  • web-integration - Web集成解决方案
  • mcp - 模型控制协议实现

自定义脚本开发

Midscene.js支持YAML格式的脚本,让你可以轻松定义复杂的自动化流程:

# 电商网站商品搜索示例
name: 电商网站商品搜索
steps:
  - action: 打开浏览器并访问"https://example-ecommerce.com"
  - action: 在搜索框中输入"无线耳机"
  - action: 点击搜索按钮
  - query: 获取搜索结果数量
  - action: 点击第一个搜索结果
  - query: 提取商品价格和评分
  - assert: 价格低于500元

性能优化最佳实践

为了获得最佳的自动化体验,建议遵循以下最佳实践:

  1. 内存优化:对于大型自动化任务,增加Node.js内存限制

    export NODE_OPTIONS="--max-old-space-size=4096"
    
  2. 缓存策略:合理配置缓存以提高重复操作的执行速度

    # 在脚本中配置缓存
    cache:
      enabled: true
      ttl: 3600  # 缓存有效期(秒)
    
  3. 错误处理:实现健壮的错误处理机制

    try {
      await agent.aiAction('执行关键操作');
    } catch (error) {
      console.error('操作失败:', error);
      // 执行恢复操作或记录错误信息
      await agent.takeScreenshot('error-screenshot.png');
    }
    
  4. 并行执行:对于独立任务,使用并行执行提高效率

    pnpm midscene run --parallel script1.yaml script2.yaml
    

扩展与集成

Midscene.js设计为可扩展的平台,可以与多种工具和框架集成:

  • CI/CD集成:将自动化测试集成到你的CI/CD流程
  • 测试报告:生成详细的测试报告,支持多种格式
  • 监控告警:结合监控工具,实现自动化异常检测和告警
  • 自定义AI模型:集成自定义AI模型,满足特定场景需求

总结

Midscene.js通过AI视觉驱动技术,重新定义了跨平台自动化操作的方式。它不仅降低了自动化测试的技术门槛,还为各种重复操作提供了智能解决方案。无论是开发人员、测试工程师还是自动化爱好者,都能通过Midscene.js提升工作效率,释放更多创造力。

随着AI技术的不断发展,Midscene.js将继续进化,为用户提供更智能、更自然的自动化体验。现在就加入这个开源项目,开始你的AI自动化之旅吧!

登录后查看全文
热门项目推荐
相关项目推荐