본문으로 건너뛰기

© 2026 Molayo

GH Trending릴리즈2026. 05. 26. 23:36

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)에 대해 더 읽어보기

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가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0