Browser Control CLI
Локальный драйвер Playwright для вашего обычного Chromium-браузера: агент работает в живом профиле с логинами через расширение и relay
- 498 ★ репозитория
- Последний коммит
- MIT
Широкий доступ
Почему такой уровень
- Расширение просит широкие права: `debugger`, `tabCapture` и скрипт статуса на всех адресах
- Агент получает доступ к залогиненным сессиям вашего профиля, включая почту, банки и рабочие кабинеты
- Browser Control не песочница: он исполняет присланный код с доступом к странице и части API Node.js
Установка
- Работает в
В терминале, через SkillFoxx CLI
npx skillfoxx add cli/browser-controlОпределит агенты на машине, покажет уровень доступа и зафиксирует версию.
Другие способы установки
Доступ и проверки
Как мы проверяемШирокий доступИнструмент может менять данные, выполнять команды или работать с секретами.
- Расширение просит широкие права: `debugger`, `tabCapture` и скрипт статуса на всех адресах
- Агент получает доступ к залогиненным сессиям вашего профиля, включая почту, банки и рабочие кабинеты
- Browser Control не песочница: он исполняет присланный код с доступом к странице и части API Node.js
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
Browser Control дает доверенному агенту управлять вашим настоящим браузером на Chromium (Chrome, Brave, Edge, Arc) через Playwright. Агент работает в вашем профиле с залогиненными сессиями и установленными расширениями, отдельный браузер без окна не запускается. Запрос идет так: агент или CLI, локальный `relay`, расширение, браузер. Драйвер работает локально и сам модель не содержит. Главный интерфейс — код. Команда `browser-control execute '...'` принимает фрагмент Playwright и возвращает результат, логи, предупреждения и сводку изменений. Сессии сохраняют страницу и переменную `state` между вызовами, а журнал лежит в `~/.browser-control/sessions/<id>/journal.jsonl`. Функция `snapshot()` отдает компактное описание страницы со ссылками вроде `[ref=e12]`, по ним агент кликает в следующем вызове. Для шагов, которые обязан пройти человек, есть `handoff()`: CAPTCHA, двухфакторный вход, подтверждение платежа. Скрипт ждет, пока вы нажмете кнопку завершения на странице. Уже открытую вкладку можно подключить командой `browser-control session adopt`. Для приложений есть клиент на TypeScript и профили секретов, которые подставляют `BC_SECRET_N` в дочерние процессы, не раскрывая значения родителю.
Для кого. Разработчикам агентов и автоматизации, которым нужны страницы за логином в их собственном браузере: личные кабинеты, внутренние панели, сервисы с двухфакторным входом.
Подходит, если
- Агенту нужна страница за логином, и входить заново в отдельном браузере без окна не хочется
- На пути встретилась CAPTCHA или двухфакторный вход, и этот шаг должен пройти человек через `handoff()`
- Вкладка уже открыта и залогинена, и скрипту надо подхватить ее: `browser-control session adopt --target-url github.com`
- Надо записать обмен запросами авторизованного приложения в HAR и потом вызывать его без браузера, подставляя секреты через `secrets run`
Не подходит, если
- Тесты идут в изолированном CI-браузере: профиля пользователя и расширения там нет
- Код агента недоверенный: Browser Control исполняет его с доступом к выбранной странице и ее сессиям
- Браузер не на Chromium: Firefox и Safari не поддерживаются
- Браузером надо управлять на другой машине: авторизованного удаленного `relay` нет
Пример запроса к агенту
Открой мою вкладку с GitHub через Browser Control и верни заголовок страницы и список открытых запросов на слияниеОграничения
Нужен Node.js 22.19 или новее и браузер семейства Chromium. Расширение пока ставится вручную как распакованное через `chrome://extensions` с режимом разработчика, в Chrome Web Store его нет. Скачивания Playwright недоступны, потому что Chromium блокирует нужные команды через `chrome.debugger`, а байты ответа записывают в файл модулем `fs`. Запись CDP требует `ffmpeg`, активирует записываемую вкладку и идет без звука. `relay` слушает только `127.0.0.1:19989`, поэтому инструмент рассчитан на доверенное локальное использование.
Как отключить. Отключите или удалите расширение на странице `chrome://extensions`, затем выполните `npm uninstall --global @opencode-ai/browser-control`. Журналы сессий остаются в `~/.browser-control/`, удалите их при желании.
Частые вопросы
Как установить Browser Control в OpenCode?
Выполните `opencode plugin add @opencode-ai/browser-control`: плагин сам подключит MCP-точку входа и зарегистрирует скилл `browser`, который вызывается как `@browser`. Скилл и MCP отдельно ставить не надо. Расширение браузера загружают вручную.
Как подключить Browser Control к Claude Code?
Поставьте пакет и скилл, затем при желании добавьте MCP командой `claude mcp add browser-control -- browser-control-mcp`. Агенту, который умеет запускать команды оболочки, достаточно скилла, а MCP нужен клиентам, которые предпочитают инструменты.
Что произойдет с моими куки и кешем?
`relay` блокирует браузерные команды CDP, которые стирают куки, чистят кеш или закрывают браузер. Это защита от случайных ошибок, а не граница безопасности: скрипт видит выбранную страницу и ее залогиненное состояние.
Как проверить, что установка работает?
Запустите `browser-control execute 'await page.goto("https://example.com"); return { title: await page.title(), url: page.url() }'`. Успешный запуск вернет заголовок Example Domain и идентификатор сессии, а `browser-control status` покажет подключенное расширение.
Что делать после обновления пакета через npm?
Перезагрузите распакованное расширение на странице расширений браузера. Если появилось предупреждение об устаревшем `relay`, завершите записи и сырую работу с CDP и выполните `browser-control relay restart`: вкладки и идентификаторы сессий сохранятся, а состояние JavaScript сбросится.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
CLI-инструментыMCP и CLI, которые дают агенту управлять вашим настоящим Chrome с его логинами и расширениями через Playwright
Браузер для агента на прямом CDP без Playwright: профили с логинами, CLI, MCP-сервер и запись сценариев в скилл
Локальная платформа автоматизации браузера: MCP-сервер, CLI и скиллы, чтобы агент управлял Chrome, заполнял формы и доставал данные со страниц
Превращает любой сайт в команду и дает агенту работать в уже залогиненном браузере пользователя через Playwright
CLI, скилл и Python-библиотека для управления браузером: агент кликает, заполняет формы и читает страницы через CDP
Скилл cdp: агент управляет вашим Chrome напрямую через протокол DevTools, 652 типизированных метода без готовых click и goto
Сравнение с похожими
Карточки с тем же главным запросом: чем они отличаются.
| Инструмент | Официальный | Авторизация | Звезды репозитория | Главное отличие |
|---|---|---|---|---|
| Browser Control (эта карточка) | нет | 498 | ||
| Playwright MCP | да | не нужна | 39 570 | официальный MCP-сервер Microsoft, который по умолчанию запускает собственный браузер, а Browser Control подключается к вашему браузеру с профилем через расширение |
| Browser Use | нет | 120 922 | библиотека и CLI со своим циклом агента, а у Browser Control драйвер без LLM, и решения принимает ваш агент |
Коротко о README
Описание начинается со схемы агент, relay, расширение, браузер и быстрого старта для OpenCode и для остальных агентов. Дальше разобраны сессии, захват вкладки, приемы осмотра страницы, передача человеку, запись трафика с секретами, границы безопасности и обновления, а в конце собраны команды для разработки и проверки самого проекта.