Как подружить нейросеть с живым браузером через Browser Harness
Каждый, кто пытался автоматизировать веб с помощью языковых моделей, знает эту боль. Агент бодро начинает кликать по кнопкам, но на первом же нестандартном поле ввода или хитрой капче намертво застревает. Традиционные фреймворки предлагают жестко заданный набор инструментов: кликнуть, ввести текст, проскроллить. Если нужного действия нет в кодовой базе агента, задача разваливается.
Команда из browser-use предложила другой подход в проекте browser-harness. Вместо того чтобы пытаться предусмотреть все возможные сценарии веб-страниц заранее, они создали обвязку, которая подключает LLM к вашему реальному браузеру по протоколу Chrome DevTools Protocol (CDP) и дает модели возможность дописывать недостающие функции прямо на ходу.
В чем идея самообучающейся обвязки
Обычный браузерный агент работает в изоляции. Ему дают изолированный headless-браузер, где нет ваших сохраненных сессий, кук и авторизаций. В итоге половина времени уходит на попытки залогиниться.
Browser Harness подключается прямо к вашему запущенному Chrome через отладочный порт. Модель сразу видит открытые вкладки, ваши профили и рабочее окружение.
Самое любопытное кроется в механике работы с кодом:
- Агенту поступает задача, например, скачать двадцать последних видео из профиля в социальной сети или заполнить сложную форму с дропзоной для файлов.
- Модель проверяет локальный файл
agent-workspace/agent_helpers.py. Если подходящей функции для работы с элементом нет, агент пишет вспомогательный скрипт сам. - Скрипт тут же выполняется в контексте страницы. Если он сработал успешно, функция сохраняется в рабочем пространстве.
- При выполнении следующей похожей задачи агент уже не изобретает велосипед, а берет написанный ранее хелпер.
При этом ядро самой библиотеки в папке src/browser_harness/ остается защищенным от изменений. Модель дополняет только свое локальное рабочее пространство, поэтому риск сломать базовую логику минимален.
Как устроен запуск
Проект тесно интегрируется с агентными средами разработки вроде Claude Code или Codex. Для старта достаточно скормить вашему ассистенту готовый установочный промпт:
Install or upgrade browser-harness to the latest stable version with uv using Python 3.12, register the skill from `browser-harness skill`, and connect it to my browser. Ask whether I want local browser recordings enabled; default to no and preserve my existing preference on upgrades. Follow https://github.com/browser-use/browser-harness/blob/main/install.md if setup or connection fails.
После выполнения команды откроется вкладка chrome://inspect/#remote-debugging. Там нужно поставить галочку удаленной отладки, чтобы агент получил доступ к вебсокету CDP:
Вся связка держится на трех понятных файлах:
- Инструкция
install.mdотвечает за первичное подключение к браузеру через порт отладки. - Файл
SKILL.mdописывает для LLM паттерны взаимодействия со страницами. - Модули в каталоге
src/browser_harness/держат постоянный сокет и передают команды.
Что внутри и какие технологии задействованы
Под капотом у проекта Python 3.12 и менеджер пакетов uv. Для управления сессиями используется прямой WebSocket к CDP, без тяжелых оберток вроде Selenium.
Такой подход дает два практических плюса:
- Минимальная задержка при передаче событий ввода, скролла и кликов.
- Полный доступ к DOM, сетевым запросам и хранилищу браузера без необходимости пробрасывать дополнительные мосты.
Если вам требуется запускать десятки задач параллельно, создатели предлагают облачную инфраструктуру Browser Use Cloud с готовыми прокси, защитой от бот-детекторов и решением капч. Но для повседневной рутины локального запуска на собственном браузере хватает за глаза.
Практические сценарии
Где такой инструмент действительно экономит время:
- Сбор данных из закрытых личных кабинетов, где нет публичного API и настроена двухфакторная аутентификация. Вы авторизуетесь руками один раз, а рутину по выгрузке отчетов отдаете агенту.
- Массовая выгрузка медиафайлов. Агент открывает страницу, скроллит ленту, находит нужные селекторы видеоплееров и сохраняет файлы в локальную папку.
- Тестирование верстки и пользовательских сценариев. Агент проходит путь пользователя, сам пишет недостающие проверки и складывает их в хелперы.
- Заполнение однотипных форм в корпоративных CRM-системах, когда нужно перенести пачку данных из таблицы.
Стоит ли пробовать
Если вы активно используете агентные CLI-инструменты вроде Claude Code и устали руками копировать данные со страниц в терминал, проект определенно стоит пощупать. Концепция, когда агент сам расширяет свой инструментарий через сохраняемые хелперы, выглядит куда более жизнеспособной, чем бесконечное раздувание системного промпта.
Из минусов отмечу, что проект требует аккуратности с безопасностью: отдавая LLM доступ к вашему основному браузеру, вы делитесь всеми открытыми сессиями. Поэтому для экспериментов разумнее создать отдельный профиль в Chrome без привязанных банковских карт и критичных сервисов. Начните с простых сценариев парсинга, посмотрите, как агент генерирует первые функции в agent_helpers.py, и оцените, насколько такой формат вписывается в ваш привычный стек.

