- skills/browser-operator/SKILL.md: канал по харнессу (Hermes browser_exec / pi тул browser / CC chrome-devtools), аренда «один водитель за раз», границы человек/агент, рецепты тяжёлых страниц (fetch внутри вкладки, паузы в Python, AX-дерево для кликов), таблица антипаттернов - основание — RED-прогон без скила (2026-09-11): агент ушёл в curl + browser_cookie3 + ввод пароля мимо канала и аренды и не знал адрес кабинета ЧипДипа (/order/list, а не /cabinet) - browser-cdp 0.1.1: разведены зоны (личные кабинеты оператора -> browser-operator) - hermes/mapping.yaml: browser-operator (auto/software-development) — сейчас конвертер красный из-за 14 ранее незамапленных скилов, это отдельная находка - README + README.ru: строка провенанса
3.3 KiB
3.3 KiB
name, author, version, description
| name | author | version | description |
|---|---|---|---|
| browser-cdp | ours | 0.1.1 | Веб-автоматизация через минимальные CDP CLI-тулы в bash — вместо playwright-mcp / Chrome-DevTools-MCP (подход «what if you don't need MCP»). Запуск Chrome с remote debugging, навигация, eval JS, скриншоты. Trigger: «браузер», «скрейпинг», «открой страницу», «перейди на», «сделай скриншот», «playwright», «веб-автоматизация», «web scraping», «browser». Для ЛИЧНЫХ КАБИНЕТОВ оператора (его логины, антибот) — НЕ этот скил, а `browser-operator`. |
browser-cdp
Минимальный набор браузерных тулов через bash + CDP, ноль зависимостей и ноль MCP-оверхеда.
Когда использовать
Браузерная работа со страницами: открыть/навигировать, выполнить JS в контексте страницы, снять скриншот, собрать данные (скрейпинг). Использовать вместо playwright-mcp или Chrome-DevTools-MCP.
- ⚠️ Для личных кабинетов оператора этот путь НЕ годится: здесь свой Chrome и свой
профиль (без его логинов). Нужен браузер оператора — скил
browser-operator.
Процесс
- Прочитай полную справку (обязательно, первый шаг):
read ~/projects/.common/scripts/browser/README.md— там все тулы, примеры и ограничения. - Старт (если CDP ещё не поднят):
node ~/projects/.common/scripts/browser/start.js— идемпотентно, повторный вызов просто подтверждает. - Работай через bash из любой директории:
node ~/projects/.common/scripts/browser/nav.js <url> [--new]node ~/projects/.common/scripts/browser/eval.js '<js>'— результат JSON в stdoutnode ~/projects/.common/scripts/browser/screenshot.js [out.png] [--full]node ~/projects/.common/scripts/browser/list.js— вкладки (диагностика)
- Композиция: результат eval'а можно перенаправлять в файл и обрабатывать дальше
(
> /tmp/data.json), скриншот читать черезread(PNG как изображение).
Правила
- Никаких
curl-эмуляций браузера: если нужен JS/рендер/локальная сессия — только эти тулы. - Не открывай второй Chrome поверх уже работающего:
start.jsидемпотентен, повторный вызов безвреден. - Если
eval.jsпадает сException:— исправляй выражение (часто нужноJSON.stringify(...)внутри, т.к.returnByValue). - Один тул — одно действие. Не пиши «веб-скрейпинг-скрипт», собирай из тулов.