web-infra-dev/midscene
요약
Midscene는 비전 중심의 AI 기반 UI 자동화 도구로, 웹, iOS, Android 등 다양한 플랫폼을 제어할 수 있습니다. 사용자가 목표를 설명하면 AI가 UI를 계획하고 실행하며, MCP 통합과 다양한 디버깅 도구를 지원합니다.
핵심 포인트
- 비전 중심(Vision-driven) 방식으로 스크린샷만으로 UI 요소 파악 및 상호작용 가능
- 웹(Puppeteer/Playwright), Android, iOS 등 멀티 플랫폼 자동화 지원
- Interaction, Data Extraction, Utility 세 가지 핵심 API 제공
- MCP 통합을 통해 상위 에이전트가 자연어로 UI를 조작할 수 있도록 지원
- Chrome Extension 및 전용 Playground를 통한 강력한 디버깅 경험 제공
모든 플랫폼을 위한 AI 기반, 비전 중심 (vision-driven) UI 자동화.
OpenClaw를 사용하여 Midscene Skills로 모든 플랫폼을 제어하세요.
-
Web Automation (웹 자동화) - 웹 브라우저에서 GitHub 양식을 자동으로 등록하고 모든 필드 유효성 검사를 통과합니다.
-
iOS Automation (iOS 자동화) - Meituan 커피 주문
-
iOS Automation (iOS 자동화) - 첫 번째 @midscene_ai 트윗에 자동으로 '좋아요' 누르기
-
Android Automation (Android 자동화) - DCar: Xiaomi SU7 사양 확인
-
Android Automation (Android 자동화) - 크리스마스 호텔 예약
-
MCP Integration (MCP 통합) - Midscene MCP UI prepatch 릴리스
-
차량 내 테스트를 위한 로봇 팔 + 비전 + 음성
-
목표와 단계를 설명하면, Midscene이 사용자를 대신하여 사용자 인터페이스 (UI)를 계획하고 운영합니다.
-
Javascript SDK 또는 YAML을 사용하여 자동화 스크립트를 작성하세요.
Web Automation (웹 자동화): Puppeteer, Playwright와 통합하거나 Bridge Mode를 사용하여 데스크톱 브라우저를 제어합니다. Android Automation (Android 자동화): adb와 함께 Javascript SDK를 사용하여 로컬 Android 기기를 제어합니다. iOS Automation (iOS 자동화): WebDriverAgent와 함께 Javascript SDK를 사용하여 로컬 iOS 기기 및 시뮬레이터를 제어합니다. Any Interface Automation (모든 인터페이스 자동화): Javascript SDK를 사용하여 자체 인터페이스를 제어합니다.
세 가지 종류의 API:
- Interaction API (상호작용 API): 사용자 인터페이스와 상호작용합니다.
- Data Extraction API (데이터 추출 API): 사용자 인터페이스 및 DOM에서 데이터를 추출합니다.
- Utility API (유틸리티 API): 다음과 같은 유틸리티 함수를 제공합니다.
aiAssert()
,aiLocate()
,aiWaitFor()
.
MCP: Midscene은 원자적(atomic) Midscene Agent 동작을 MCP 도구로 노출하는 MCP 서비스를 제공하여, 상위 계층의 에이전트가 자연어로 UI를 조사하고 운영할 수 있도록 합니다. Docs
Caching for Efficiency (효율성을 위한 캐싱): 캐시를 사용하여 스크립트를 재실행하고 더 빠른 결과를 얻으세요.
Debugging Experience (디버깅 경험): Midscene.js는 시각화된 리플레이 백 리포트(replay back report) 파일, 내장된 플레이그라운드(playground), 그리고 디버깅 프로세스를 단순화하는 Chrome Extension을 제공합니다. 이것들이 바로 대부분의 개발자에게 진정으로 필요한 도구들입니다.
Chrome Extension: 코드를 전혀 작성하지 않고도 Chrome Extension을 통해 즉시 브라우저 내 경험을 시작할 수 있습니다.
Android Playground: 로컬 Android 기기를 제어할 수 있는 내장 Android playground가 있습니다.
iOS Playground: 로컬 iOS 기기를 제어할 수 있는 내장 iOS playground가 있습니다.
Midscene.js는 UI 액션(UI actions)을 위해 순수 시각(pure-vision) 경로를 전적으로 채택합니다. 요소 위치 파악(element localization)과 상호작용(interactions)은 오직 스크린샷만을 기반으로 합니다. 이는 Qwen3-VL, Doubao-1.6-vision, gemini-3-pro, 그리고 UI-TARS와 같은 시각-언어 모델(visual-language models)을 지원합니다. 데이터 추출(data extraction) 및 페이지 이해(page understanding)를 위해서는 필요할 때 여전히 DOM을 포함하도록 선택할 수 있습니다.
- UI 액션을 위한 순수 시각(Pure-vision) 위치 파악; DOM 추출 모드는 제거되었습니다.
- 웹, 모바일, 데스크톱, 그리고
<canvas>표면에서도 작동합니다. - 액션을 위해 DOM을 건너뜀으로써 토큰(tokens) 사용량을 훨씬 줄였으며, 이는 비용을 절감하고 실행 속도를 높입니다.
- 데이터 추출 및 페이지 이해가 필요할 때는 여전히 DOM을 포함할 수 있습니다.
- 셀프 호스팅(self-hosting)을 위한 강력한 오픈 소스 옵션들을 제공합니다.
모델 전략(Model Strategy)에 대해 더 읽어보기
- 공식 웹사이트: https://midscenejs.com
- 문서(Documentation): https://midscenejs.com
- 샘플 프로젝트(Sample Projects): https://github.com/web-infra-dev/midscene-example
- API 레퍼런스(API Reference): https://midscenejs.com/api
- GitHub: https://github.com/web-infra-dev/midscene
Midscene.js의 기능을 확장하는 커뮤니티 프로젝트들:
- midscene-ios - Midscene을 위한 iOS Mirror 자동화 지원
- midscene-pc - Windows, macOS, Linux를 위한 PC 조작 장치
- midscene-pc-docker - Midscene-PC 서버가 사전 설치된 Docker 이미지
- Midscene-Python - Midscene 자동화를 위한 Python SDK
- midscene-java by @Master-Frank - Midscene 자동화를 위한 Java SDK
- midscene-java by @alstafeev - Midscene 자동화를 위한 Java SDK
다음 프로젝트들에 감사를 표합니다:
- 빌드 도구(build tool)를 위한 Rsbuild 및 Rslib.
- 오픈 소스 에이전트 모델(agent model) UI-TARS를 위한 UI-TARS.
- 오픈 소스 시각-언어 모델(VL model) Qwen-VL을 위한 Qwen-VL.
- 브라우저로 Android 기기를 제어할 수 있게 해주는 scrcpy 및 yume-chan.
- adb의 JavaScript 브릿지(bridge)를 위한 appium-adb.
- XCTest를 JavaScript로 조작하기 위한 appium-webdriveragent.
- 텍스트 입력 성능을 향상시키는 yadb 도구를 위한 YADB.
- 크로스 플랫폼(cross-platform) 네이티브 키보드 및 마우스 제어를 위한 libnut-core.
- 브라우저 자동화 및 제어를 위한 Puppeteer.
- 브라우저 자동화, 제어 및 테스트를 위한 Playwright.
연구나 프로젝트에서 Midscene.js를 사용하신다면, 다음과 같이 인용해 주세요:
@software{Midscene.js,
author = {Xiao Zhou, Tao Yu, YiBing Lin},
title = {Midscene.js: Your AI Operator for Web, Android, iOS, Automation & Testing.},
...
Midscene.js는 MIT 라이선스를 따릅니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 GitHub Trending TypeScript (weekly)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기