Browser Use: автоматизация браузера с ИИ — от установки до первого агента
Как устроен Browser Use, какие модели он поддерживает и что даёт Cloud. Установка, первый запуск ИИ-агента, ограничения и проверка результатов работы.
Опубликовано

В Browser Use автоматизация браузера строится вокруг задачи: вы поручаете ИИ-агенту работу на сайте, а код автоматизации остаётся в вашем приложении. Для библиотеки с открытым исходным кодом нужен Python 3.11 или новее; Browser Use Cloud позволяет разместить в облаке браузер или агента целиком. Начните с задачи, результат которой легко проверить, например с чтения записи в личном кабинете. Разрешать отправку изменений стоит уже после этого.
Сверено с README Browser Use на GitHub и официальной документацией по ссылкам в статье 2 ноября 2026 года. Пример запуска ниже подготовлен по этой документации; это не тест производительности на практике.
Автоматизация браузера с Browser Use: как это работает
Browser Use связывает языковую модель с браузером. Благодаря этому приложение может описать цель, а не задавать каждый клик. Такой подход подходит для поиска записи в личном кабинете поставщика, чтения панели показателей или заполнения формы, в которой следующий экран зависит от предыдущего ответа. Библиотека с открытым исходным кодом предоставляет агента — программу, которая последовательно выбирает и выполняет действия для достижения цели. README библиотеки
Представьте, что языковая модель — это водитель, Browser Use — органы управления и обратная связь, а браузер — автомобиль. При этом дорога всё равно принадлежит кому-то другому: это чужой сайт. Даже хороший водитель не проедет по закрытой дороге и не решит, что поручение доставить заказ даёт право совершить постороннюю покупку.
Рабочий цикл устроен так:
- Наблюдение: агент получает текущее состояние страницы, в том числе её интерактивные элементы. Browser Use также может передавать модели скриншоты.
- Решение: большая языковая модель, или LLM, выбирает следующее действие на основе задачи и текущего состояния.
- Действие: браузер переходит по адресу, нажимает на элемент, вводит текст или выполняет другую доступную операцию.
- Повторное наблюдение: следующее решение принимается уже по изменившейся странице. Цикл продолжается, пока агент не остановится или не сработает заданное ограничение.
DOM — структурированное дерево элементов страницы — помогает определить, с какими элементами управления агент может взаимодействовать. Скриншоты дополняют эти данные визуальным контекстом. В документации Browser Use описаны и обработка DOM, и настройки работы с изображениями, поэтому сводить его работу к модели, которая просто смотрит на картинки, неверно. Настройки браузера, настройки агента

Для основателя, который разрабатывает помощника по закупкам, полезная задача может звучать так: «Найди статус доставки этого заказа». Критерий приёмки — нужный заказ, его статус и исходная запись для проверки. Убедительно написанный ответ агента такой проверкой не является.
Что нужно установить для работы с открытой библиотекой Browser Use
Базовая конфигурация — Python-пакет browser-use, браузер для управления и доступ к поддерживаемой модели. Библиотека распространяется по лицензии MIT. В README указан Python 3.11 или новее, а в руководстве по быстрому запуску используется Python 3.12. Агент может работать в процессе вашего приложения с локальным или удалённым браузером. README и установка
«Локальный» в данном случае означает место запуска процесса или браузера. Если выбрана модель с удалённым API, данные наблюдений всё равно уходят в её сервис. Локальный браузер не делает всю систему локальной.
Какие модели можно подключить?
В Browser Use есть адаптеры для нескольких провайдеров, поэтому использовать собственную модель сервиса необязательно:
- Browser Use BU2:
ChatBrowserUse(model="bu-2-0"), с ключомBROWSER_USE_API_KEY. - Модели OpenAI:
ChatOpenAI, с ключомOPENAI_API_KEY. - Модели Anthropic Claude:
ChatAnthropic, с ключомANTHROPIC_API_KEY. - Модели Google Gemini:
ChatGoogle, с ключомGOOGLE_API_KEY. - Локальные модели через Ollama:
ChatOllama, подключённый к локальному сервису моделей.
В документации по поддерживаемым моделям также перечислены интеграции с DeepSeek, Mistral, Microsoft Azure OpenAI, Amazon Web Services Bedrock и OpenRouter. Проверяйте, какие модели сейчас доступны у провайдера: старый идентификатор из примера не стоит воспринимать как рекомендацию.
Наличие адаптера не гарантирует качество работы. Та же документация предупреждает, что некоторые модели Qwen выдают неверную схему действий — то есть инструкции в формате, который агент не может выполнить. На данный момент для этой интеграции рекомендована qwen-vl-max. Прежде чем расширять полномочия модели, проверьте её на своих страницах и с теми результатами, которые вам нужны.
Веб-интерфейс Browser Use Web UI
Browser Use Web UI — отдельный проект с интерфейсом на Gradio для взаимодействия с агентом через веб-страницу. У него собственные зависимости и порядок установки. Для встраивания в приложение начните с актуальной документации Python-библиотеки; не смешивайте инструкции из репозитория Web UI с SDK облачного сервиса.
Что даёт Browser Use Cloud
Browser Use Cloud позволяет передать сервису инфраструктуру браузера, выполнение агента или и то и другое. От этого зависит, сколько кода вам придётся запускать и обслуживать самостоятельно. В актуальном руководстве по быстрому запуску Cloud эти варианты явно разделены:
Если вы запускаете собственного агента, Browser(use_cloud=True) подключает облачный браузер Browser Use и требует ключ BROWSER_USE_API_KEY. Управляемый браузер добавляет функции маскировки автоматизации, прокси и просмотр сессии в реальном времени. В README также описана работа с CAPTCHA, но прямо оговорено, что результат зависит от сайта и конкретной проверки. Руководство по облачному браузеру, README
CDP, или Chrome DevTools Protocol, — протокол удалённого управления, который используется в описанном в документации варианте подключения к инфраструктуре. Поэтому облачным браузером может управлять код, который вы продолжаете запускать у себя.
Для полностью облачного варианта нужен пакет browser-use-sdk, а не browser-use. В актуальных примерах Cloud используются API V4 и импорт Python from browser_use_sdk.v4 import BrowserUse. Ваша программа отправляет задачу и получает результат вместо того, чтобы выполнять локальный цикл Agent. Быстрый запуск облачного агента
Для разработчика это выбор способа развёртывания. Для того, кто отвечает за эксплуатацию, обязанность остаётся прежней: определить, к чему агенту разрешён доступ и какие подтверждения означают, что работа выполнена.
Когда лучше выбрать альтернативу Browser Use
Сначала определите, какую часть системы вы хотите контролировать сами. Browser Use — хорошая отправная точка, если задача целиком выполняется на сайтах и вам нужен готовый цикл браузерного агента с возможностью выбора модели. API для управления компьютером подойдёт, если вы хотите строить систему вокруг его интерфейса действий или работать за пределами веб-страниц.
OpenAI также предлагает отдельный Agents API с браузером на стороне OpenAI. Поэтому правило «для управления компьютером всегда нужно самостоятельно размещать браузер» уже не работает. У Browserbase тоже есть продукты для агентов, выходящие за рамки браузерной инфраструктуры.
Browser Use и Browserbase не обязательно исключают друг друга: Browser Use принимает cdp_url, а Browserbase предоставляет URL подключения по CDP. Эти описанные в документации интерфейсы позволяют связать библиотеку агента с такой средой выполнения, хотя в этой статье мы не утверждаем, что протестировали интеграцию. Настройки подключения Browser Use
Сохраните надёжный API или браузерный скрипт с фиксированными шагами, если они уже решают задачу. Для стабильной формы нет пользы в том, чтобы модель заново находила одну и ту же последовательность действий. В более общем руководстве по агентам для управления компьютером разобран выбор способа управления, а в статье о браузерах для ИИ-агентов сравнивается инфраструктура.
За какие риски по-прежнему отвечает ваше приложение
Главная сложность в рабочей системе — определить, что разрешено делать браузеру после входа в аккаунт. Перенос браузера на чужую инфраструктуру не делает инструкции со страниц достоверными и не отменяет последствий ошибочной отправки данных.
Промпт-инъекции в содержимом страниц
Промпт-инъекция возникает, когда прочитанное агентом содержимое пытается перенаправить его действия. Например, в личном кабинете это может быть заметка клиента с указанием загрузить отчёт по постороннему адресу. Рассматривайте такую заметку как данные, даже если в ней утверждается, что это распоряжение администратора.
Используйте отдельные аккаунты только с теми правами, которые нужны для задачи. Ограничьте переходы с помощью allowed_domains в Browser Use и обеспечьте обязательное подтверждение действий с существенными последствиями на уровне приложения или среды выполнения. На разрешённом сайте тоже может быть вредоносный пользовательский контент, поэтому одного списка доменов недостаточно, чтобы считать содержимое доверенным. Ограничения браузера, рекомендации по безопасному управлению компьютером

Промпт «спроси перед отправкой» не создаёт технического ограничения прав. Если ваша интеграция не может надёжно перехватить соответствующее действие, исключите его из полномочий агента и поручите человеку. В руководстве по промпт-инъекциям объясняется, как привязать подтверждение к конкретному разрешаемому действию.
Вход в аккаунт, сохранение сессий и журналы
Сохранённая сессия даёт доступ к аккаунту. Browser Use может использовать существующий Chrome через Browser.from_system_chrome() или загрузить сохранённые cookies и локальное хранилище через Browser(storage_state="auth.json"). Защищайте файл состояния как учётные данные, не добавляйте его в систему контроля версий и не используйте личный профиль браузера для бизнес-задач, выполняемых без присмотра. Документация по аутентификации
При переносе есть конкретное ограничение: согласно README, синхронизация локального профиля переносит cookies, но не локальное хранилище, IndexedDB или расширения. IndexedDB — ещё одно хранилище данных на стороне браузера. При этом профили Cloud могут сохранять cookies, локальное хранилище и состояние входа между облачными браузерами. Эта возможность не означает, что при синхронизации локального профиля были скопированы все виды хранилищ. На некоторых сайтах придётся войти заново. Ограничение синхронизации
Разделяйте профили конечных пользователей. Прежде чем работать с закрытыми данными из личных кабинетов, проверьте также, что попадает во входные данные модели, на скриншоты и в сохранённую историю диалога. В Browser Use есть настройки скриншотов и сохранения разговоров — задайте их осознанно. Настройки агента
Лимиты запросов и повторные попытки с неизвестным результатом
Доступная сессия облачного браузера не даёт неограниченного доступа к целевому сайту. Отдельно учитывайте лимиты сервиса моделей, ограничения Browser Use Cloud по ёмкости и частоте запросов, а также ограничения частоты обращений и проверки на самом сайте.
Ограничивайте число одновременных задач для каждого сайта, делайте паузу, когда он этого требует, и прекращайте повторные попытки, если доступ блокируется. При ошибке Cloud API выясните, связана ли она с нехваткой доступных ресурсов или с частотой запросов, и соблюдайте рекомендации по повтору, которые вернул сервис. Лимиты Cloud
Главное — не отправляйте данные повторно лишь потому, что клиент не дождался ответа. Сначала проверьте уже запущенную задачу и запись в целевой системе. Тайм-аут может означать, что действие уже выполнено, но вы пока не знаете его результат.
Первый запуск по документации Browser Use
Начните с общедоступной страницы и задачи только на чтение. Так вы проверите, что пакет, браузер и модель могут работать вместе, не затрагивая вход в аккаунт или бизнес-операции. Команды взяты из руководства по быстрому запуску открытой библиотеки. В примере используется окружение с Python 3.12 из этого руководства и явный выбор модели BU2, как в README.
Настройка browser-use для Python
Установите пакет и браузер
В macOS или Linux с установленными Python и pip откройте оболочку Bash в новой папке проекта:
Bashpip install uv uv venv --python 3.12 source .venv/bin/activate uv pip install browser-use uvx browser-use installПоследняя команда устанавливает браузер. В Windows вместо
sourceиспользуйте команду активации окружения из руководства по быстрому запуску.Задайте ключ доступа к модели
Создайте API-ключ Browser Use в панели управления, ссылка на которую есть в руководстве по быстрому запуску. В той же оболочке Bash введите ключ, не выводя его на экран:
Bashread -rsp "Browser Use API key: " BROWSER_USE_API_KEY printf '\n' export BROWSER_USE_API_KEYЭтот ключ даёт доступ к выбранному сервису модели. Сам по себе он не переносит браузер в Cloud.
Запустите небольшую задачу только на чтение
Сохраните этот код в
agent.py:Pythonimport asyncio from browser_use import Agent, ChatBrowserUse async def main(): agent = Agent( task=( "Open https://example.com and report the page heading. " "Do not follow links or submit anything." ), llm=ChatBrowserUse(model="bu-2-0"), ) history = await agent.run() print(history.final_result()) if __name__ == "__main__": asyncio.run(main())Затем выполните:
Bashpython agent.pyСамостоятельно сравните заголовок в ответе агента с заголовком на странице. Для этого безобидного примера ограничения в тексте задачи подходят как отправная точка. В рабочей системе ограничения должны обеспечиваться за пределами промпта.
Если пример не заработал, прежде чем менять модель, прочитайте сообщение об ошибке: установка браузера, аутентификация в сервисе модели и доступ к сайту — разные возможные причины сбоя. После успешного запуска зафиксируйте использованные версии зависимостей и переходите к тестовому аккаунту на нужном сайте.
Какие ожидания от Browser Use завышены?
Завершение работы агента не доказывает, что бизнес-операция выполнена. В документации Browser Use по результатам работы это различие проведено прямо: is_done() означает, что агент выдал действие завершения, а is_successful() — собственную оценку агента. Значимые внешние результаты всё равно нужно сверять с целевой системой. Значение полей результата
При смене адреса проверьте, какой адрес сохранился. При скачивании отчёта проверьте файл и отчётный период. При отправке данных сохраните подтверждение целевой системы и разберитесь с неопределённым результатом до повторной попытки.
Та же сдержанность нужна в отношении обещания «работает на любом сайте». Функции управляемого браузера могут упростить доступ, но README проекта не обещает, что любую CAPTCHA удастся избежать или решить. Более сильная модель также не может дать аккаунту права, которых у пользователя нет. Проектируйте систему с учётом реального поведения сайта, в том числе момента, когда управление должен взять человек.
С чего начать на практике
Для основателя с техническим опытом первый полезный пилот — одна узкая задача на чтение данных из личного кабинета с однозначным ответом. Используйте отдельный тестовый аккаунт, определите разрешённые страницы и запишите, как будете проверять найденную запись. Фиксируйте не только успешные запуски, но и сбои.
Переходите к подготовке форм лишь после того, как разберётесь в причинах этих сбоев. Оставьте отправку человеку, пока приложение не сможет обеспечивать обязательное подтверждение, проверять сохранённый результат и восстанавливаться после сбоев без повторного выполнения действия. Если процесс уже покрывает поддерживаемый API или стабильный скрипт, сохраните эту более простую интеграцию.
Практические заметки о том, как строить надёжные процессы с ИИ, — в рассылке.
- Опубликовано
- Категория
- Build
- Язык








