Midscene Skills

Скиллы Midscene управляют браузером, ПК, Android, iOS и HarmonyOS по скриншотам и пишут E2E-тесты на Vitest через Claude Code или OpenClaw

  • 321 ★ репозитория
  • Последний коммит
  • MIT
СкиллОфициальный

Широкий доступ

Почему такой уровень

  • Агент нажимает и вводит текст в любых окнах на экране, авторы сами предупреждают о непредсказуемом результате
  • Скриншоты экрана уходят во внешнюю модель, и в них могут попасть пароли, переписка и личные данные
  • Через ADB и WebDriverAgent агент получает управление телефоном
Все причины и проверки

web-infra-dev/midscene-skills

Установка

В терминале, через SkillFoxx CLI

npx skillfoxx add skills/midscene-skills

Определит агенты на машине, покажет уровень доступа и зафиксирует версию.

Другие способы установки

Доступ и проверки

Как мы проверяем

Широкий доступИнструмент может менять данные, выполнять команды или работать с секретами.

  • Агент нажимает и вводит текст в любых окнах на экране, авторы сами предупреждают о непредсказуемом результате
  • Скриншоты экрана уходят во внешнюю модель, и в них могут попасть пароли, переписка и личные данные
  • Через ADB и WebDriverAgent агент получает управление телефоном

Это чужой код. Посмотрите файлы в репозитории перед установкой.

Что делает

Репозиторий команды Midscene.js содержит семь скиллов, которые дают агенту управление интерфейсом по скриншотам. Модель видит экран, находит нужный элемент по картинке и выполняет действие, поэтому ни разметка страницы, ни метки доступности не требуются. Скилл browser запускает безголовый Chrome через Puppeteer и не занимает мышь и клавиатуру пользователя. Он умеет подключаться к уже открытому Chrome по CDP. Скилл chrome-bridge управляет собственным браузером пользователя. Для настольных систем macOS, Windows и Linux есть computer-automation, для телефонов и планшетов android-automation через ADB, ios-automation через WebDriverAgent и harmony-automation через HDC. Скилл vitest-midscene-e2e создает каркас, конвертирует и сопровождает E2E-тесты для веба, Android и iOS. По правилам скилла browser агент запускает команды Midscene строго по одной и не в фоне, читая скриншот после каждой команды до следующего шага.

Для кого. Тестировщикам и разработчикам, которым нужно проверить интерфейс на глаз ИИ в браузере, на компьютере или на телефоне, когда селекторов нет или они хрупкие.

Подходит, если

  • Агент только что собрал страницу, и надо открыть ее в браузере и проверить, что форма отправляется
  • Интерфейс без стабильных селекторов, например холст или сторонний виджет, и нужны сценарии по картинке
  • Приложение для Android проверяют на устройстве через ADB, а шаги пишут обычными фразами
  • E2E-тесты на Vitest нужно развернуть с нуля или перевести со старых сценариев
  • Подключиться к уже открытому Chrome по CDP и продолжить сценарий в готовой сессии

Не подходит, если

  • Есть быстрые тесты на Playwright с надежными селекторами: скриншотный разбор медленнее и дороже
  • Нельзя отправлять скриншоты экрана модели в чужое облако
  • На экране открыты почта, банк или менеджер паролей, а ИИ не должен их видеть и трогать
  • Нет доступа к модели с хорошей привязкой к элементам по картинке

Пример запроса к агенту

Используй скилл Midscene browser, открой страницу входа и проверь, что после ввода неверного пароля появляется сообщение об ошибке

Ограничения

  • Авторы предупреждают в README: управление интерфейсом ИИ непредсказуемо, потому что агент может нажать на любой элемент на экране.
  • Скиллы не работают без отдельно настроенной модели с сильной привязкой к элементам по картинке: ключ, имя, адрес и семейство задают в `MIDSCENE_MODEL_API_KEY`, `MIDSCENE_MODEL_NAME`, `MIDSCENE_MODEL_BASE_URL` и `MIDSCENE_MODEL_FAMILY`.
  • Нужен Node.js, а для телефонов еще ADB, WebDriverAgent или HDC.
  • Репозиторий принимает сообщения об ошибках только в основном проекте Midscene.

Как отключить. Удалите папки скиллов Midscene из каталога скиллов агента. Уберите переменные `MIDSCENE_MODEL_*` и ключ модели из окружения и из файла `.env`.

Частые вопросы

Как поставить Midscene Skills в Claude Code?

Выполните `npx skills add web-infra-dev/midscene-skills -a claude-code`. Для OpenClaw замените значение флага на `openclaw`. Нужен установленный Node.js.

Какие модели подходят?

README называет Doubao Seed 1.6, Qwen3-VL, Zhipu GLM-4.6V, Gemini-3-Pro и Gemini-3-Flash. Нужна модель с хорошей привязкой к элементам по скриншоту, а доступ настраивают переменными `MIDSCENE_MODEL_*`.

Займет ли скилл browser мою мышь?

Нет, он работает в безголовом Puppeteer и ваш курсор не трогает. Для работы в вашем браузере служит скилл chrome-bridge, а скилл computer-automation управляет всем рабочим столом.

Как управлять телефоном?

Android подключают через ADB, iOS через WebDriverAgent, HarmonyOS через HDC. Для каждой платформы есть свой скилл.

Можно ли использовать скилл для скрейпинга?

Да, скилл browser заявляет сбор данных с сайтов среди задач. Условия сайта и закон о персональных данных остаются на вас.

Обсуждение

Вопросов и отзывов пока нет.

Скиллы

Скилл проверки кода агента в настоящем браузере: читает ваши изменения, составляет план теста и прогоняет его через Playwright с вашими куки

СкиллШирокий доступ3,6 тыс.Звезды репозитория

Запускает сценарии Maestro на Android, iOS и в браузере одним бинарным файлом без JVM и ставит скилл для агента.

CLIРасширенный доступ529Звезды репозитория

Скилл, с которым агент пишет и запускает скрипты Playwright: тесты страниц, формы, скриншоты, проверки ссылок

СкиллШирокий доступ3,3 тыс.Звезды репозитория

Скилл дает Claude Code фоновый браузер: скриншоты на трех экранах, проверка фронтенда, сравнение до и после, сценарии с входом.

СкиллРасширенный доступ50Звезды репозитория

Один бинарник для автоматизации браузера агентом: CLI со скиллами browser и check, MCP-сервер и клиенты для JS, Python и Java

CLIШирокий доступ3 тыс.Звезды репозитория

Explorbot автономно исследует веб-приложение в браузере, находит ошибки и сохраняет найденные сценарии как Playwright-тесты.

CLIШирокий доступ105Звезды репозитория

Сравнение с похожими

Карточки с тем же главным запросом: чем они отличаются.

ИнструментОфициальныйАвторизацияЗвезды репозиторияГлавное отличие
Midscene Skills (эта карточка)да321
Playwright Skillнет3 287сценарии на Playwright с селекторами, а Midscene опирается на скриншоты и не требует разметки
agent-browserдане нужна50 530CLI для управления браузером через дерево доступности, без распознавания по картинке

Коротко о README

Страница открывается списком платформ и скиллов с путями в `skills/`, затем идет предупреждение об опасности. После него показаны команды установки, четыре примера настройки модели и две фразы для запроса агенту. Завершают раздел о сообщениях об ошибках и лицензия MIT.

Бейдж для README

Исходный SKILL.md

---
name: browser-automation
description: |
  Vision-driven browser automation using Midscene. Operates from screenshots — no DOM or accessibility labels needed.

  Runs in headless Puppeteer — does NOT take over the user's mouse or keyboard.
  Also supports CDP mode and Bridge mode to connect to an existing Chrome.

  Use this skill when the user wants to:
  - Browse, navigate, or open web pages
  - Scrape, extract, or collect data from websites
  - Fill out forms, upload local files, click buttons, or interact with web elements
  - Verify, validate, test, or QA frontend UI behavior
  - Take screenshots of web pages
  - Automate multi-step web workflows
  - Test what was just built, see if it works in browser
  - Connect to Chrome via CDP, DevTools Protocol, or remote debugging
  - Connect to user's Chrome browser, control my browser, operate my Chrome

  Powered by Midscene.js (https://midscenejs.com)
allowed-tools:
  - Bash
---

# Browser Automation

> **CRITICAL RULES — VIOLATIONS WILL BREAK THE WORKFLOW:**
>
> 1. **Never run midscene commands in the background.** Each command must run synchronously so you can read its output (especially screenshots) before deciding the next action. Background execution breaks the screenshot-analyze-act loop.
> 2. **Run only one midscene command at a time.** Wait for the previous command to finish, read the screenshot, then decide the next action. Never chain multiple commands together.
> 3. **Allow enough time for each command to complete.** Midscene commands involve AI inference and screen interaction, which can take longer than typical shell commands. A typical command needs about 1 minute; complex `act` commands may need even longer.
> 4. **Always report task results before finishing.** After completing the automation task, you MUST proactively summarize the results to the user — including key data found, actions completed, screenshots taken, and any relevant findings. Never silently end after the last automation step; the user expects a complete response in a single interaction.

Automate web browsing using `npx -y @midscene/web@1`. By default, launches a headless Chrome via Puppeteer that **persists across CLI calls** — no session loss between commands. Also supports **CDP mode** and **Bridge mode** to connect to an existing Chrome browser.

## What `act` Can Do

Inside a single `act` call in the browser, Midscene can click, right-click, double-click, hover, type or clear text, press keys, scroll, drag, long-press, and continue through multi-step page flows based on what is currently visible. When touch input is enabled, it can also handle swipe- or pinch-style interactions on touch-oriented pages.

## When to Use

This skill has three modes. Choose based on the user's intent:

### Mode Selection Guide

| Mode | When to use | How it works |
|------|------------|-------------|
| **Puppeteer (default)** | User wants to browse a URL, scrape data, test UI — no need for their own browser | Launches a new headless Chrome, isolated from user's browser |
| **CDP mode** | User says "connect to my Chrome", "control my browser", "CDP", "remote debugging", or wants to operate their existing browser. Also use when the task **implicitly requires login state** (e.g., "check my orders", "open my dashboard", "look at my account") | Connects to user's Chrome via DevTools Protocol. Requires remote debugging enabled (`chrome://inspect` > "Allow remote debugging"). No extension needed |
| **Bridge mode** | User explicitly mentions "bridge", "extension", or has Midscene Chrome Extension installed and prefers to use it | Connects to user's Chrome via the Midscene Chrome Extension |

**CDP vs Bridge**: Both control the user's real Chrome with login sessions preserved. CDP only needs a Chrome setting toggle; Bridge needs a Chrome Extension installed. If the user doesn't specify, prefer **CDP mode** as it has fewer prerequisites.

### Precheck: detect available CDP target

Before using CDP mode, run a quick precheck to verify Chrome's remote debugging port is reachable. This avoids long timeouts when the user hasn't enabled remote debugging.

```bash
# CDP precheck (port 9222, 2s timeout) — returns "101" if Chrome is listening for DevTools
curl -s --max-time 2 -o /dev/null -w "%{http_code}" -H "Upgrade: websocket" -H "Connection: Upgrade" -H "Sec-WebSocket-Version: 13" -H "Sec-WebSocket-Key: dGhlIHNhbXBsZSBub25jZQ==" http://127.0.0.1:9222/devtools/browser

Сообщить о проблеме