Midscene Skills
Скиллы Midscene управляют браузером, ПК, Android, iOS и HarmonyOS по скриншотам и пишут E2E-тесты на Vitest через Claude Code или OpenClaw
- 321 ★ репозитория
- Последний коммит
- MIT
Широкий доступ
Почему такой уровень
- Агент нажимает и вводит текст в любых окнах на экране, авторы сами предупреждают о непредсказуемом результате
- Скриншоты экрана уходят во внешнюю модель, и в них могут попасть пароли, переписка и личные данные
- Через ADB и WebDriverAgent агент получает управление телефоном
Установка
- Работает в
В терминале, через 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 с вашими куки
Запускает сценарии Maestro на Android, iOS и в браузере одним бинарным файлом без JVM и ставит скилл для агента.
Скилл, с которым агент пишет и запускает скрипты Playwright: тесты страниц, формы, скриншоты, проверки ссылок
Скилл дает Claude Code фоновый браузер: скриншоты на трех экранах, проверка фронтенда, сравнение до и после, сценарии с входом.
Один бинарник для автоматизации браузера агентом: CLI со скиллами browser и check, MCP-сервер и клиенты для JS, Python и Java
Explorbot автономно исследует веб-приложение в браузере, находит ошибки и сохраняет найденные сценарии как Playwright-тесты.
Сравнение с похожими
Карточки с тем же главным запросом: чем они отличаются.
| Инструмент | Официальный | Авторизация | Звезды репозитория | Главное отличие |
|---|---|---|---|---|
| Midscene Skills (эта карточка) | да | 321 | ||
| Playwright Skill | нет | 3 287 | сценарии на Playwright с селекторами, а Midscene опирается на скриншоты и не требует разметки | |
| agent-browser | да | не нужна | 50 530 | CLI для управления браузером через дерево доступности, без распознавания по картинке |
Коротко о 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