dev-browser CLI

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

  • 6 707 ★ репозитория
  • Последний коммит
  • MIT
CLI

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

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

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

sawyerhood/dev-browser

Установка

Работает в

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

npx skillfoxx add cli/dev-browser

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

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

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

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

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

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

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

Что делает

Агент передает команде dev-browser JavaScript-скрипт через stdin или флаг -e, а тот выполняется в фоновом процессе, который держит Chrome открытым между вызовами. В скрипте доступны browser.getPage("main") для именованной вкладки, listPages, newPage, closePage и обычные методы Puppeteer Page. Метод page.snapshot({ interactive: true }) возвращает дерево доступности со ссылками вроде e12, а page.click("ref/e12") кликает по ним, page.shot() сохраняет скриншот в JPEG, page.waitForLoad() ждет, пока страница успокоится. Режим --headless запускает свой изолированный Chrome, а dev-browser chrome стартует отдельный профиль, к которому цепляется флаг --connect. Файлы скрипты читают и пишут через saveFile и readFile только в каталоге ~/.dev-browser/v1/tmp.

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

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

  • Вы поправили форму регистрации и хотите, чтобы агент открыл localhost:3000, прошел шаги, снял скриншот и сравнил результат с ожидаемым
  • Нужен сценарий из десяти шагов с входом в личный кабинет: вкладка main хранит сессию между скриптами, и агенту не приходится логиниться заново
  • Страницу собирает JavaScript, и текст из исходного HTML бесполезен: агент берет снимок дерева доступности и читает уже отрисованное
  • Агент работает в Claude Code или Codex, и вы хотите дать ему браузер через dev-browser install-skill, а не через тяжелые схемы инструментов
  • Нужно подключиться к браузеру, который уже открыт с вашим профилем work, командой dev-browser chrome --profile work и --connect

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

  • Вы на Windows или на Linux с musl: они пока не поддерживаются, поищите замену вроде Playwright CLI из каталога
  • Нужно управлять вашим обычным Chrome с расширением и открытыми вкладками без отдельного профиля: ближе Browser MCP
  • Скрипты приходят из недоверенного источника: node:vm разделяет глобальные переменные, но песочницей не служит

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

Запусти dev-browser, открой localhost:3000/signup, заполни поля email и пароль тестовыми значениями, нажми кнопку регистрации и покажи скриншот страницы после ответа сервера

Ограничения

Доступ: широкий. Агент выполняет произвольный JavaScript в реальном Chrome, читает страницы, куки и состояние входа, а в режиме --connect работает с уже открытым браузером и его сессиями. Профили, куки и логины остаются на диске в ~/.dev-browser/v1 и после закрытия запущенного браузера. Поддерживаются macOS и Linux на glibc, Windows и musl нет. Chromium из snap не читает каталог по умолчанию, поэтому на Ubuntu нужен dev-browser install или переменная DEV_BROWSER_CHROME. Версия 1.0 заменила реализацию 0.2 на Puppeteer и Bun, старые скрипты с snapshotForAI() и getByRef() придется переписать. Лицензия MIT.

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

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

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

Нет. Браузеры, которые запустил сам dev-browser, закрываются через 30 минут без скриптов, срок меняется флагом --idle-timeout или полем idleTimeout в config.json. Подключенный вами браузер таймаут не трогает.

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

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

Как установить и проверить, что все работает?

Выполните npm install -g dev-browser, а если Chrome не найден, еще dev-browser install. Затем запустите скрипт из README с browser.getPage и page.title на example.com: в консоль должен прийти заголовок страницы.

Как подключить dev-browser к агенту?

Есть два пути. Скилл ставится командой dev-browser install-skill с флагом --claude, --codex или --agents. MCP-сервер добавляется командой claude mcp add dev-browser -- dev-browser mcp --headless и дает инструменты dev_browser_run, dev_browser_pages и другие.

Чем dev-browser отличается от Playwright CLI?

Dev-browser держит один процесс с открытым Chrome и именованные вкладки, а скрипты пишутся на API Puppeteer с короткими ссылками на элементы. Playwright CLI опирается на официальный Playwright и подходит, если вы уже работаете на его стеке.

Что делать, если менеджер пакетов заблокировал скрипты установки?

README советует выполнить npm rebuild -g dev-browser, pnpm approve-builds -g dev-browser или bun pm -g trust dev-browser. Бинарник также пробует скачаться при первом запуске.

Обсуждение

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

Скилл для Amp, Claude Code и Cursor: агент управляет вашим живым Chrome с открытыми вкладками и входами в аккаунты через один переключатель отладки

СкиллШирокий доступ3,3 тыс.Звезды репозитория
Официальный

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

CLIШирокий доступ44,8 тыс.Звезды репозитория
Официальный

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

MCP-серверШирокий доступ1,4 тыс.Звезды репозитория
Официальный

Скилл cdp: агент управляет вашим Chrome напрямую через протокол DevTools, 652 типизированных метода без готовых click и goto

СкиллШирокий доступ496Звезды репозитория
Официальный

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

MCP-серверРасширенный доступ54,4 тыс.Звезды репозитория

Плагин для Claude Code, который управляет вашим Chrome через DevTools Protocol: вкладки, формы, выгрузка страниц и скриншоты без сторонних зависимостей

ПлагинШирокий доступ365Звезды репозитория

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

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

ЗаписьОфициальныйЗвезды репозиторияГлавное отличие
dev-browser (эта запись)нет6 707
Vibiumнет2 934один бинарник для автоматизации браузера агентом
Browser Harnessнет18 686скилл и CLI от Browser Use

Коротко о README

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

Бейдж для README

Исходный 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()'
```

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

Foxx AIdev-browser
Foxx AI

Я Foxx AI и уже разобрал этот инструмент. Спросите про установку, настройку или что угодно еще, отвечу простыми словами.