dev-browser

CLI, скилл и MCP для управления Chrome короткими скриптами Puppeteer, вкладки сохраняют состояние между вызовами

CLIВысокий риск

sawyerhood/dev-browser

Установка

npm install -g dev-browser
dev-browser install

Вторая команда нужна, только если dev-browser не нашел Chrome.

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

Что делает

dev-browser запускает фоновый процесс с Chrome, и агент управляет им небольшими JavaScript-скриптами через API Puppeteer. Именованные вкладки живут между вызовами, поэтому агент может один раз открыть страницу, изучить ее, выполнить действие и проверить результат, не начиная заново. Снимок дерева доступности выдает компактный текст со ссылками на элементы вида e12, по которым удобно кликать. Можно запустить изолированный профиль или подключиться к уже открытому браузеру. Тот же процесс доступен как MCP-сервер, а в комплекте есть SKILL.md для Claude Code, Codex и других агентов.

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

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

  • Нужно, чтобы агент проверил свою правку во фронтенде в браузере
  • Нужна многошаговая автоматизация сайта с сохранением состояния между шагами
  • Нужно собрать данные со страниц, которые рендерятся скриптами

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

  • Работаете на Windows или Linux с musl: пока не поддерживаются
  • Нужна изоляция недоверенных скриптов: node:vm не является песочницей

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

Открой localhost:3000, заполни форму регистрации тестовыми данными и сделай скриншот результата

Ограничения

Поддерживаются macOS и Linux на glibc. Chromium из snap не читает каталог по умолчанию, нужен dev-browser install или переменная DEV_BROWSER_CHROME. Скрипты выполняются в node:vm, это не граница безопасности. Версия 1.0 несовместима со скриптами версии 0.2.

Как отключить. Остановите процесс командой dev-browser stop, удалите пакет через npm uninstall -g dev-browser и папку dev-browser из каталога скиллов, при необходимости уберите MCP-сервер командой claude mcp remove dev-browser.

Проверка безопасности

  • Выполняет произвольный JavaScript в браузере
  • Может подключаться к браузеру пользователя с активными входами

Коротко о README

README описывает установку через npm, быстрый старт в безголовом режиме и с подключением к Chrome, установку скилла для Codex, Claude и общего каталога агентов. Разобраны таймаут простоя, API скриптов со снимками и ссылками на элементы, подключение к существующему браузеру и MCP-сервер с пятью инструментами. Есть заметки о переходе на 1.0 и замеры скорости. Лицензия MIT.

SKILL.md

---
name: dev-browser
description: Browser automation with persistent named pages via the dev-browser CLI. Use when users ask to navigate websites, fill forms, take screenshots, extract web data, test web apps, log into sites, or automate browser workflows. Trigger phrases include "go to [url]", "click on", "fill out the form", "take a screenshot", "scrape", "automate", "test the website", "log into", "open the browser", or any browser interaction request.
---

# dev-browser

CLI for controlling a real Chrome with short Puppeteer scripts. One warm daemon; named pages persist between runs.

```bash
npm install -g dev-browser   # bun add -g dev-browser works too; the first run downloads the binary if the install script was blocked
dev-browser install          # only if the first run says "No Chrome found"
```

Run `dev-browser --help` (full guide; `dev-browser help <topic>` for one section) before non-trivial work. Quick start:

```bash
dev-browser <<'EOF'
const page = await browser.getPage("main");        // named page persists across runs
await page.goto("https://example.com");            // default waitUntil: domcontentloaded
await page.snapshot({ interactive: true })         // ARIA tree with refs; last expression is printed
EOF
dev-browser -e 'const p = await browser.getPage("main"); await p.click("ref/e6"); await p.waitForLoad(); p.url()'
```

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

Закроется ли мой браузер после простоя?

Нет. Запущенные dev-browser браузеры закрываются через 30 минут без скриптов, а подключенные браузеры пользователя таймаут не трогает.

Как не подтверждать каждую команду в Claude Code?

Добавьте Bash(dev-browser *) в список allow в .claude/settings.json, но только если доверяете запускаемым скриптам.

Выбор редакции

CLI, скилл и Python-библиотека для управления браузером: агент кликает, заполняет формы и читает страницы через CDP

CLIВысокий риск114,6 тыс.
Выбор редакции

Скилл собирает обсуждения темы за последние 30 дней из Reddit, X, YouTube, HN, Polymarket и GitHub и сводит их в бриф

СкиллВысокий риск62 тыс.
Выбор редакции

Официальный MCP-сервер команды Chrome DevTools: агент управляет живым Chrome, смотрит сеть, консоль и записывает трейсы производительности

MCP-серверСредний риск51,9 тыс.
Выбор редакции

Быстрый CLI на Rust для автоматизации браузера агентами: снимки доступности со ссылками на элементы, MCP-сервер и скиллы

CLIВысокий риск42,6 тыс.