Настройка browser-use с управляемым браузером
Настройте browser-use с явным Chromium и профилем, проверьте запуск и оставьте важные действия под контролем оператора.
BotBrowser Team
Нужна структурированная документация по теме Начало работы?
Эта статья относится к редакционной библиотеке. Для пошаговой настройки, справки и постоянных обновлений переходите сразу в соответствующий раздел docs.
browser-use умеет планировать задачи браузера, но его агентский цикл не выбирает доверенный исполняемый файл и не решает, безопасно ли важное действие. BotBrowser может предоставить Chromium с профилем для авторизованного сценария; оператор всё равно выбирает исполняемый файл и профиль, проверяет запущенный процесс и подтверждает действия, меняющие аккаунты, деньги или данные. Карта начала автоматизации браузера описывает общий первый запуск; передача управления browser-use добавляет отдельную проверку.
Для browser-use BotBrowser поддерживает явный запуск Chromium и аргумент --bot-profile; он не поставляет агентский framework, не выбирает политику задачи и не гарантирует классификацию сайта.
TL;DR
- Считайте browser-use планировщиком и контроллером, а не источником профиля или политик.
- Передавайте явный Chromium и аргумент профиля в нижележащий запуск Playwright.
- Считайте параметры процесса и страницу собственного fixture до передачи реальной задачи агенту.
- Останавливайтесь перед учётными данными, покупкой, удалением, разрешением или необратимой отправкой.
- Корректный запуск подтверждает конфигурацию, но не результат детектора или приложения.
Содержание
- Разделить планирование, запуск и подтверждение
- Настроить явный исполняемый файл и профиль
- Проверить процесс и видимый fixture
- Использовать таблицу передачи оператору
- Fixture отказа и ограниченное восстановление
- Частые вопросы
- Практический вывод
Разделить планирование, запуск и подтверждение
Если агент использует сервер MCP, а не запускает Chromium сам, в руководстве о владельце headless-браузера объясняется, какой компонент задаёт аргументы запуска и какие результаты получает агент.
browser-use превращает задачу на естественном языке в действия браузера. Документация и открытый репозиторий описывают агентский фреймворк поверх Playwright; они не делают его поставщиком браузера, издателем профилей или системой авторизации. Закрепите три роли: browser-use планирует, launcher владеет процессом и профилем, оператор подтверждает важные шаги. Руководство прямого запуска Playwright с профилем описывает нижний контракт.
Завершённый план означает лишь достижение страницы или нажатие элемента. Он не доказывает запуск нужного бинарника, загрузку профиля или принятие сессии удалённым сервисом. Это разные наблюдения, поэтому им нужны разные проверки.
Для первого запуска используйте собственный staging-маршрут. Локальный fixture может показать фиксированный идентификатор сборки, состояние согласия и безвредную кнопку; сторонняя страница способна изменить разметку или политику. Не расширяйте задачу, пока проверки процесса и fixture не совпадут.
Настроить явный исполняемый файл и профиль
Конфигурация browser-use на Python в итоге передаётся запуску Playwright. Имена конструкторов меняются между версиями, поэтому закрепите пакет и сверяйтесь с его текущей документацией. Неизменный контракт: executable_path указывает одобренный бинарник BotBrowser, а профиль передаётся аргументом браузера, а не через встроенный Chromium или скрипт страницы.
import asyncio
from browser_use import Agent, Browser, BrowserConfig
async def main():
browser = Browser(
config=BrowserConfig(
headless=True,
executable_path="/opt/botbrowser/chrome",
args=["--bot-profile=/srv/profiles/approved.enc"],
)
)
agent = Agent(
task="Open the owned staging fixture and report its build identifier. Do not sign in or submit anything.",
browser=browser,
)
await agent.run()
asyncio.run(main())
Пример показывает границу, а не обещает универсальный API. Проверьте имена параметров у закреплённой версии. Профиль является аргументом командной строки BotBrowser и должен находиться в args; используйте абсолютный путь до открытия первой страницы. Справочник флагов BotBrowser показывает синтаксис и ограничения тарифного уровня.
Не устанавливайте пакет, который молча скачивает другой Chromium, а затем не предполагайте загрузку профиля. Отключите встроенный браузер или используйте совместимый launcher. В сокращённой записи храните исполняемый файл, идентификатор профиля, версии и runId; не включайте cookies, токены, содержимое профиля или прокси-секреты.
Отделить текст задачи от политики запуска
Prompt должен описывать собственную страницу и безопасное наблюдение. Он не должен содержать новый executable, секрет или инструкцию ослабить политику. Конфигурация остаётся в проверяемом deployment-коде.
Проверить процесс и видимый fixture
Сделайте два независимых чтения. Проверьте процесс, созданный Playwright, и сравните путь и аргументы с объявленными значениями. Затем запросите в собственном fixture стабильные несекретные значения. Страница не доказывает, какой процесс её создал, а процесс не доказывает отображённое приложением состояние; нужны обе проверки.
async def verify(page, browser, expected_executable, expected_profile):
process = browser.playwright_browser.process
observed_executable = process.args[0] if process and process.args else None
observed_args = process.args if process else []
fixture = await page.evaluate("""() => ({
build: document.querySelector('[data-build]')?.dataset.build ?? null,
consent: document.querySelector('[data-consent]')?.dataset.consent ?? null,
userAgent: navigator.userAgent
})""")
return {
"executableMatches": observed_executable == expected_executable,
"profileArgumentPresent": any(expected_profile in arg for arg in observed_args),
"fixture": fixture,
}
Ожидаемый fixture может содержать staging-2026-11-06, согласие not-requested и непустой user-agent. User-agent является наблюдением, а не вердиктом детектора. При любой ошибке сравнения остановите делегирование и классифицируйте проблему как конфигурацию запуска. Статья об управлении профилями объясняет разницу между идентификатором и содержимым.
{
"runId": "browser-use-check-20261106-01",
"declared": {
"executable": "/opt/botbrowser/chrome",
"profile": "approved.enc",
"fixture": "staging-2026-11-06"
},
"observed": {
"executableMatches": true,
"profileArgumentPresent": true,
"fixtureBuild": "staging-2026-11-06",
"consent": "not-requested"
},
"firstFailure": null
}
launch_record = {"executable": "/opt/botbrowser/chrome", "profile": "approved.enc", "fixture": "staging-2026-11-06"}
assert launch_record["executable"].startswith("/opt/")
BotBrowser может предоставить Chromium с профилем для разрешённого запуска Playwright, но не поставляет browser-use и не гарантирует вердикт детектора или выполнение задачи.
Сравнить базовую запись перед расширением
Запишите исполняемый файл, профиль, версию и fixture до расширения задачи. Меняйте только одну переменную и запрашивайте новое подтверждение при изменении контракта.
Держать учётные данные вне цикла агента
Учетные данные и приватные коды передаются через проверенный поток секретов, а не через prompt или журнал агента.
Использовать таблицу передачи оператору
Агент продолжает работу только при совпадении заявленной и наблюдаемой конфигурации и обратимости следующего шага. Оператор владеет учётными данными, согласием, оплатой, удалением, выдачей разрешения и неопределённой удалённой мутацией.
| Наблюдение | Агент может продолжить | Действие оператора |
|---|---|---|
| Исполняемый файл и профиль совпали; собственный fixture только для чтения | Читать следующую staging-страницу | Проверить область задачи |
| Исполняемый файл отличается или аргумент профиля отсутствует | Нет | Исправить запуск и повторить fixture |
| Fixture просит вход или разрешение | Нет | Передать учётные данные или согласие утверждённым способом |
| Предстоит покупка, удаление, публикация или отправка | Нет | Проверить параметры и подтвердить один раз |
| Тайм-аут после возможной записи | Не повторять вслепую | Запросить идемпотентный статус или передать владельцу |
Таблица задаёт операционную границу, а не гарантию поведения модели. Реализуйте паузу явным callback подтверждения; фраза в prompt не защищает реальный аккаунт.
Fixture отказа и ограниченное восстановление
Проверьте остановку fixture, в котором намеренно отсутствует маркер сборки. Агент должен сообщить об отсутствии и остановиться, а не продолжать клики до появления другой страницы.
async def read_build(page):
value = await page.locator("[data-build]").get_attribute("data-build")
if value is None:
raise RuntimeError("owned fixture missing data-build; stop delegation")
return value
Восстанавливайте по порядку: отсутствующий аргумент означает проблему launcher; отсутствующий маркер означает проблему fixture; форма входа означает границу подтверждения; тайм-аут после записи означает неопределённый удалённый результат. Перезапуск агента во всех случаях может продублировать запись.
Частые вопросы
Делает ли browser-use сессию невидимой для детекторов?
Нет. Он координирует действия. Контролируемые executable и профиль делают запуск воспроизводимым, но не гарантируют решение детектора или сайта.
Может ли агент выбрать профиль во время работы?
Не из неограниченного каталога. Разрешённый профиль разрешается в deployment-коде, правило записывается, а изменение оставляется оператору.
Должен ли агент отправить покупку после поиска товара?
Нет, без явной точки подтверждения. Агент может подготовить корзину для проверки, а человек подтверждает получателя, сумму, согласие и отправку.
Достаточно ли видимого user-agent для проверки запуска?
Нет. Нужны чтение процесса, аргумент профиля и фиксированный fixture.
Практический вывод
Оформите browser-use как контракт проверенного запуска, собственного fixture и человеческого подтверждения. Запустите явный executable с одобренным профилем, сравните процесс и fixture, остановитесь при расхождении или важном действии. Такой путь аудируем без обещаний обхода, процента успеха или удалённого решения.
Источники
Эта статья входит в руководство: Начало работы с автоматизацией браузера: карта
Похожие статьи
Безголовый браузер для ИИ-агентов: запуск и границы инструментов
Начало работыНачало работы с автоматизацией браузера: карта
Начало работыPlaywright и согласованные профили идентичности браузера
РазвертываниеАвтоматизация браузера со Stagehand
РазвертываниеНастройка Playwright MCP для собственной сборки Chromium
ИдентичностьИзоляция профиля агента для каждой задачи
Выполните ту же проверку в BotBrowser
Загрузите профиль, сохраните внутри браузера те сигналы, о которых только что прочитали, и подтвердите результат на своей машине до раскатки.