Browser Use: автоматизация браузера с ИИ — от установки до первого агента

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

Опубликовано

Автор
Browser Use: автоматизация браузера с ИИ — от установки до первого агента

В Browser Use автоматизация браузера строится вокруг задачи: вы поручаете ИИ-агенту работу на сайте, а код автоматизации остаётся в вашем приложении. Для библиотеки с открытым исходным кодом нужен Python 3.11 или новее; Browser Use Cloud позволяет разместить в облаке браузер или агента целиком. Начните с задачи, результат которой легко проверить, например с чтения записи в личном кабинете. Разрешать отправку изменений стоит уже после этого.

Сверено с README Browser Use на GitHub и официальной документацией по ссылкам в статье 2 ноября 2026 года. Пример запуска ниже подготовлен по этой документации; это не тест производительности на практике.

Автоматизация браузера с Browser Use: как это работает

Browser Use связывает языковую модель с браузером. Благодаря этому приложение может описать цель, а не задавать каждый клик. Такой подход подходит для поиска записи в личном кабинете поставщика, чтения панели показателей или заполнения формы, в которой следующий экран зависит от предыдущего ответа. Библиотека с открытым исходным кодом предоставляет агента — программу, которая последовательно выбирает и выполняет действия для достижения цели. README библиотеки

Сайт Browser Use с продуктами для автоматизации браузера
Browser Use

Представьте, что языковая модель — это водитель, Browser Use — органы управления и обратная связь, а браузер — автомобиль. При этом дорога всё равно принадлежит кому-то другому: это чужой сайт. Даже хороший водитель не проедет по закрытой дороге и не решит, что поручение доставить заказ даёт право совершить постороннюю покупку.

Рабочий цикл устроен так:

  1. Наблюдение: агент получает текущее состояние страницы, в том числе её интерактивные элементы. Browser Use также может передавать модели скриншоты.
  2. Решение: большая языковая модель, или LLM, выбирает следующее действие на основе задачи и текущего состояния.
  3. Действие: браузер переходит по адресу, нажимает на элемент, вводит текст или выполняет другую доступную операцию.
  4. Повторное наблюдение: следующее решение принимается уже по изменившейся странице. Цикл продолжается, пока агент не остановится или не сработает заданное ограничение.

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Цикл агента и логика приложенияИнфраструктура браузера
Облачные Browser Use AgentsОтправка задач, обработка результатов и проверки по правилам бизнесаВыполнение агента и инфраструктура браузера

Если вы запускаете собственного агента, 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 для управления компьютером подойдёт, если вы хотите строить систему вокруг его интерфейса действий или работать за пределами веб-страниц.

ВариантКогда выбиратьЧто нужно предусмотреть на своей стороне
Google Gemini Computer UseНужны действия в интерфейсе по скриншотам от Gemini в поддерживаемых средахКлиент выполняет действия, возвращает данные наблюдений и принимает решения по безопасности
OpenAI computer useПриложение использует интерфейсы OpenAI для управления браузером или рабочим столомПри работе через Responses нужно предоставить среду выполнения и определить права доступа
Anthropic Claude computer useClaude нужны скриншоты и инструменты мыши и клавиатуры в контролируемой среде рабочего столаПриложение выполняет в этой среде вызовы клиентских инструментов
Браузерная инфраструктура BrowserbaseУ вас уже есть агент или код автоматизации и нужны управляемые браузерные сессииПодключить выбранный инструмент управления и определить способ проверки результата задачи

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

  1. Установите пакет и браузер

    В macOS или Linux с установленными Python и pip откройте оболочку Bash в новой папке проекта:

    Bash
    pip install uv
    uv venv --python 3.12
    source .venv/bin/activate
    uv pip install browser-use
    uvx browser-use install

    Последняя команда устанавливает браузер. В Windows вместо source используйте команду активации окружения из руководства по быстрому запуску.

  2. Задайте ключ доступа к модели

    Создайте API-ключ Browser Use в панели управления, ссылка на которую есть в руководстве по быстрому запуску. В той же оболочке Bash введите ключ, не выводя его на экран:

    Bash
    read -rsp "Browser Use API key: " BROWSER_USE_API_KEY
    printf '\n'
    export BROWSER_USE_API_KEY

    Этот ключ даёт доступ к выбранному сервису модели. Сам по себе он не переносит браузер в Cloud.

  3. Запустите небольшую задачу только на чтение

    Сохраните этот код в agent.py:

    Python
    import 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())

    Затем выполните:

    Bash
    python agent.py

    Самостоятельно сравните заголовок в ответе агента с заголовком на странице. Для этого безобидного примера ограничения в тексте задачи подходят как отправная точка. В рабочей системе ограничения должны обеспечиваться за пределами промпта.

Если пример не заработал, прежде чем менять модель, прочитайте сообщение об ошибке: установка браузера, аутентификация в сервисе модели и доступ к сайту — разные возможные причины сбоя. После успешного запуска зафиксируйте использованные версии зависимостей и переходите к тестовому аккаунту на нужном сайте.

Какие ожидания от Browser Use завышены?

Завершение работы агента не доказывает, что бизнес-операция выполнена. В документации Browser Use по результатам работы это различие проведено прямо: is_done() означает, что агент выдал действие завершения, а is_successful() — собственную оценку агента. Значимые внешние результаты всё равно нужно сверять с целевой системой. Значение полей результата

При смене адреса проверьте, какой адрес сохранился. При скачивании отчёта проверьте файл и отчётный период. При отправке данных сохраните подтверждение целевой системы и разберитесь с неопределённым результатом до повторной попытки.

Та же сдержанность нужна в отношении обещания «работает на любом сайте». Функции управляемого браузера могут упростить доступ, но README проекта не обещает, что любую CAPTCHA удастся избежать или решить. Более сильная модель также не может дать аккаунту права, которых у пользователя нет. Проектируйте систему с учётом реального поведения сайта, в том числе момента, когда управление должен взять человек.

С чего начать на практике

Для основателя с техническим опытом первый полезный пилот — одна узкая задача на чтение данных из личного кабинета с однозначным ответом. Используйте отдельный тестовый аккаунт, определите разрешённые страницы и запишите, как будете проверять найденную запись. Фиксируйте не только успешные запуски, но и сбои.

Переходите к подготовке форм лишь после того, как разберётесь в причинах этих сбоев. Оставьте отправку человеку, пока приложение не сможет обеспечивать обязательное подтверждение, проверять сохранённый результат и восстанавливаться после сбоев без повторного выполнения действия. Если процесс уже покрывает поддерживаемый API или стабильный скрипт, сохраните эту более простую интеграцию.

Практические заметки о том, как строить надёжные процессы с ИИ, — в рассылке.

Опубликовано
Категория
Build
Похожие статьи
Обзор Zernio: API для соцсетей, тарифы и ограничения

Обзор Zernio: API для соцсетей, тарифы и ограничения

Обзор Zernio для разработчиков: API для соцсетей, требования к аккаунтам, тарифы, вебхуки и MCP. Разбираем ограничения и сравниваем с Ayrshare и Postiz.1 нояб. 2026 г.Build
Airtable или Notion: что выбрать для команды

Airtable или Notion: что выбрать для команды

Airtable или Notion: сравниваем CRM, проекты, базы знаний, автоматизации, ИИ и клиентский доступ. Разбираем цены, лимиты и случаи, когда нужны оба сервиса.1 нояб. 2026 г.Build
Закрытие Google Jules: как сохранить работу и сменить агента

Закрытие Google Jules: как сохранить работу и сменить агента

Закрытие Google Jules: сроки, экспорт данных и перенос задач в Antigravity, Codex, Claude Code или GitHub Copilot. Что сохранить и как проверить новую среду.1 нояб. 2026 г.Build
smolagents: как устроены ИИ-агенты, выполняющие Python

smolagents: как устроены ИИ-агенты, выполняющие Python

Как smolagents выполняет действия на Python: инструменты, модели, песочницы и пример с Docker. Когда выбрать эту библиотеку, LangGraph или OpenAI Agents SDK.31 окт. 2026 г.Build
Обзор Warp: стоит ли менять терминал и ИИ-агента

Обзор Warp: стоит ли менять терминал и ИИ-агента

Стоит ли переходить на Warp? Разбираем терминал, ИИ-агентов, тарифы, Warp Drive и ограничения работы с данными, от которых зависит выбор разработчика и команды.31 окт. 2026 г.Build
Обзор Kilo Code: модели, цены и альтернативы для разработки

Обзор Kilo Code: модели, цены и альтернативы для разработки

Обзор Kilo Code: работа в VS Code, JetBrains, терминале и облаке, выбор моделей и реальные статьи расходов. Кому он подойдёт вместо Cline или Claude Code.31 окт. 2026 г.Build
Bedrock AgentCore: как устроен и когда нужен вашим ИИ-агентам

Bedrock AgentCore: как устроен и когда нужен вашим ИИ-агентам

Разбираем компоненты Bedrock AgentCore, архитектуру и границы ответственности: что берет на себя AWS, что остается команде и как провести первый пилот.30 окт. 2026 г.Build
Спекулятивное декодирование: настройка и пределы ускорения LLM

Спекулятивное декодирование: настройка и пределы ускорения LLM

Как работает спекулятивное декодирование, когда оно ускоряет ответы LLM и как настроить vLLM, SGLang и TensorRT-LLM, сохранив точную проверку токенов.30 окт. 2026 г.Build
Рассылка

Одно письмо, каждое воскресенье.Работающие системы, а не горячие мнения.

Еженедельно. Без спама. Отписка в любой момент.