dev-browser
CLI, скилл и MCP для управления Chrome короткими скриптами Puppeteer, вкладки сохраняют состояние между вызовами
Установка
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
Скилл собирает обсуждения темы за последние 30 дней из Reddit, X, YouTube, HN, Polymarket и GitHub и сводит их в бриф
Официальный MCP-сервер команды Chrome DevTools: агент управляет живым Chrome, смотрит сеть, консоль и записывает трейсы производительности
Быстрый CLI на Rust для автоматизации браузера агентами: снимки доступности со ссылками на элементы, MCP-сервер и скиллы