Skip to content
← Tools / Skills
ToolMidscene/10 trustMetrics-checked
Midscene logo

Midscene

Open-source vision-driven UI automation — describe steps in natural language, no selectors.

Visit official site →

About

Midscene is an open-source, vision-first UI automation SDK. Instead of reading the DOM or accessibility tree, it works from screenshots alone: you describe each step in natural language (aiAct, aiQuery, aiAssert), and the model finds and interacts with whatever a human could see — icon-only buttons, canvas elements, native apps, even cross-origin iframes. It covers web, Android, iOS, HarmonyOS, and desktop through one API, plugs into Playwright/Vitest suites, and exposes Skills and MCP for AI agents.

The honest picture: vision-based automation is slower and more token-hungry than selector-based tests, so large suites get expensive and flaky in different ways (model misreads rather than selector breaks). You can self-host the UI-TARS open model for privacy and cost control, but that needs GPU infra. The project is community-driven, so enterprise support is essentially DIY. For visually complex UIs where selectors fail, though, it's unmatched.

What it can do

  • Screenshot-only element targeting
  • Natural-language actions, queries, and assertions
  • Web, Android, iOS, HarmonyOS, and desktop support
  • Playwright and Vitest integration
  • MCP and Skills for AI agent control

Setup

Install the JS SDK or use the Chrome extension to start without code. Bring your own LLM key (GPT-4o, Gemini, Qwen-VL) or self-host UI-TARS.

Prerequisites

Node.js; an LLM API key or self-hosted UI-TARS; Playwright/Vitest optional for test integration.

Use cases

test-automationui-automationopen-sourceai-agents

Works with

Trust score — 7/10

/10 trustMetrics-checked

Scored 7/10 (metrics tier, metrics-v1). Evidence: Verified via vendor site/docs/GitHub and reputable coverage, wave 49; Trending score 67/100 from researcher assessment.

Sources

Every fact above was checked against these sources. Where a claim comes from the provider and couldn't be independently verified, the text says so.