barebrowse: браузер для локального AI-агента без Playwright, экономя токены | AiManual
AiManual Logo Ai / Manual.
10 Июл 2026 Инструмент

barebrowse: дайте локальному агенту браузер без Playwright — обрезанные ARIA снимки для экономии токенов

Обзор barebrowse: инструмент для подключения локальных LLM-агентов к браузеру через CDP, использует pruned ARIA snapshot для экономии контекста. Сравнение с аль

Представьте: вы собрали локального AI-агента на Qwen 8B, хотите, чтобы он сам лазал по сайтам, собирал данные, кликал по кнопкам. Берёте Playwright — и тут же упираетесь в стену: 16K контекста тает на глазах, браузер запускается отдельным процессом, а сам Playwright весит как небольшой фреймворк. Да ещё и в headless-режиме картинки не грузятся, и агент слепнет. Знакомая боль? Тогда barebrowse — это именно то, чего вам не хватало.

Коротко: barebrowse — это минималистичный CDP-драйвер для уже запущенного Chrome/Chromium. Никаких npm install 300 пакетов. Он цепляется к вашему браузеру через remote debugging, выдёргивает ARIA-дерево страницы, обрезает его до значимых элементов (pruned snapshot), и отдаёт агенту. Всё. Токены экономятся за счёт того, что в контекст не летят лишние div, span и прочий мусор.

Как это работает (и почему это гениально просто)

В основе barebrowse — Chrome DevTools Protocol (CDP). Тот же протокол, который используют все современные инструменты автоматизации, но barebrowse не навешивает поверх абстракции вроде Playwright или Puppeteer. Он просто открывает WebSocket к браузеру и дергает Runtime.evaluate с вызовом chrome.dom.getDocument() и последующим анализом ARIA-свойств.

Фишка — в pruned ARIA snapshot. Вместо полного DOM (который может быть 10 тысяч узлов) barebrowse обходит дерево, выкидывает невидимые элементы, пустые обёртки, скрипты, стили. Оставляет только то, что видит пользователь: заголовки, ссылки, кнопки, поля ввода, текст. На выходе — компактный JSON, в котором размер токенов сокращается в 5-10 раз.

Для локальных LLM с контекстом 8-16K это спасение. В статье про автоматизацию браузера на Qwen 8B+4B как раз показывали, что компактный DOM экономит до 80% токенов — barebrowse делает то же самое, только без привязки к конкретному фреймворку планирования.

Без Playwright — не значит без головы

Давайте честно: Playwright — отличная штука, но он для сценариев, где браузером управляет разработчик, а не нейросеть. Когда агент сам решает, что кликнуть, важен не набор методов page.click(), а способность видеть страницу такой, какой её видит человек. ARIA-дерево — это и есть мост между DOM и семантикой.

Прямой конкурент barebrowse — Agent-browser от Vercel. Он тоже позиционируется как альтернатива Playwright для агентов. Но Vercel пошли другим путём: они оставили Playwright под капотом и добавили свой слой для умного взаимодействия. barebrowse же — это хирургически точный инструмент: минимум зависимостей, максимум контроля. Вы сами решаете, когда запускать браузер, сами управляете профилем, сами чистите кэш. Агент получает не скриншот (его всё равно не скормишь LLM с маленьким контекстом), а структурированное представление.

💡
Кстати, о скриншотах: barebrowse вообще не использует визуальный рендеринг. Если вам нужна картинка для мультимодальной модели — это другой сценарий. Но для текстовых LLM (а таких среди локальных 90%) pruned ARIA snapshot — самый эффективный формат.

Пример: 3 строки и агент в браузере

Допустим, у вас уже запущен Chrome с флагом --remote-debugging-port=9222. Тогда использование barebrowse выглядит так:

# Установка
pip install barebrowse

# Подключение и получение pruned ARIA snapshot
barebrowse get-snapshot --port 9222 --prune > snapshot.json

Вуаля. В snapshot.json лежит список видимых элементов с их координатами, ролями и текстом. Агент может сам решить, на какой элемент нажать, куда ввести текст. Передать действие обратно в браузер — через тот же CDP: barebrowse execute --action click --target-id 42. Выглядит как чит-код, но это реальность 2026 года.

Сравнение с альтернативами

Критерий barebrowse Playwright Agent-browser (Vercel)
Зависимости Только Python + CDP Node.js + браузерный движок Node.js + Playwright + 300+ пакетов
Объём контекста для одной страницы ~500-1500 токенов (pruned) ~8000-30000 токенов (полный DOM) ~2000-4000 токенов (DOM + действия)
Управление браузером Через внешний Chrome Встроенный headless Встроенный с опциями
Идеально для Локальных LLM с контекстом до 16K E2E-тестов, CI/CD Веб-скрапинга с планировщиком

Справедливости ради: barebrowse не умеет делать скриншоты и не поддерживает многопоточность. Но если ваша задача — дать агенту компактное представление страницы, это лучший вариант из существующих. Browser-use агент в WASM, например, решил проблему по-другому — через WebAssembly и запуск прямо в браузере. Но там вы привязаны к среде выполнения, а barebrowse работает где угодно, хоть на Raspberry Pi.

Кому это реально нужно

  • Разработчикам локальных AI-агентов, которые замучились воевать с контекстом и хотят простой Python-интерфейс.
  • Всем, кто использует LocalLLaMA, Ollama, llama.cpp и мечтает дать своей модели доступ к вебу без аренды GPU-серверов.
  • Тем, кто уже пробовал LocalAgent v0.1.1 и ищет лёгкий способ добавить браузерные возможности, не устанавливая полный стек Playwright.
  • Параноикам, которые не хотят, чтобы их браузер запускался из-под чужого кода. barebrowse подключается к вашему собственному Chrome — вы контролируете профили, куки и историю.

То, о чём молчат в документации

Есть нюанс: ARIA-дерево сильно зависит от того, как сайт размечен. Если разработчик не прописал правильные роли и атрибуты (а таких сайтов — море), snapshot может быть пустым, и агент не увидит даже кнопку «Войти». В таких случаях barebrowse умеет падать на полный DOM (флаг --fallback), но тогда экономия токенов снижается. Мой совет: тестируйте на целевых сайтах заранее и при необходимости пишите кастомные пращурки.

Ещё один момент: barebrowse не предназначен для автоматизации тысяч страниц в секунду. Это инструмент для одного-двух агентов, работающих в личном кабинете или на домашнем сервере. Для продакшен-нагрузок лучше посмотреть в сторону OpenClaw и Browser Sandbox, где проблема узкого места решена на уровне кластеризации.

Прогноз: почему barebrowse может стать стандартом для локальных агентов

2026 год — время, когда AI-браузеры вроде Comet от Perplexity пытаются объединить поиск и агентность, а локальные решения требуют максимальной эффективности токенов. barebrowse занимает нишу «ничего лишнего»: он идеально ложится в архитектуру, где LLM работает на CPU, а браузер — это просто окно для выполнения действий.

Через год-два Microsoft или Google могут добавить встроенную поддержку ARIA-подобных снимков прямо в Edge/Chrome, и надобность в barebrowse отпадёт. Но сейчас, в середине 2026-го, это самый доступный способ сэкономить 60-80% токенов без покупки дополнительной памяти. Попробуйте — ваш локальный агент скажет спасибо.

Подписаться на канал