openclaw browser
Управляйте интерфейсом управления браузером OpenClaw и выполняйте действия в браузере: управляйте жизненным циклом, профилями, вкладками, снимками, скриншотами, навигацией, вводом, эмуляцией состояния и отладкой.
См. также: Инструмент браузера
Общие флаги
--url <gatewayWsUrl>: URL WebSocket для Gateway (по умолчанию берётся из конфигурации).--token <token>: токен Gateway (если требуется).--timeout <ms>: время ожидания запроса в мс (по умолчанию:30000).--expect-final: ожидать окончательного ответа Gateway.--browser-profile <name>: выбрать профиль браузера (по умолчанию:openclawилиbrowser.defaultProfile).--json: машиночитаемый вывод (где поддерживается). Это параметр уровня браузера, поэтому для однозначной формы указывайте его перед подкомандой, напримерopenclaw browser --json status. Размещение в конце, напримерopenclaw browser status --json, также работает, если выбранная дочерняя команда не определяет собственный--json.
Быстрый запуск (локально)
browser({ action: "doctor" }).
Быстрое устранение неполадок
Еслиstart завершается ошибкой not reachable after start, сначала устраните проблемы с готовностью CDP. Если start и tabs выполняются успешно, а open или navigate завершается ошибкой, уровень управления браузером исправен, а причиной сбоя обычно является блокировка навигации политикой SSRF.
Минимальная последовательность:
Жизненный цикл
doctor --deepдобавляет оперативную проверку снимка: она полезна, когда базовая готовность CDP подтверждена, но требуется убедиться, что текущую вкладку можно проверить.- Для запущенного локального управляемого профиля
statusиdoctorвыводят кэшированную графическую диагностику Chrome: классификацию аппаратного и программного обеспечения, средство визуализации, бэкенд, устройство и драйвер, сведения о функциях и причинах их отключения, а также возможности аппаратного ускорения видео.openclaw browser --json statusвозвращает полные структурированные данные. Пассивная проверка состояния никогда не запускает Chrome только для сбора этих сведений. stopзакрывает активный сеанс управления и сбрасывает временные переопределения эмуляции даже дляattachOnlyи удалённых профилей CDP, в которых OpenClaw не запускал процесс браузера самостоятельно. Для локальных управляемых профилейstopтакже останавливает запущенный процесс браузера.start --headlessприменяется только к данному запросу запуска и только когда OpenClaw запускает локальный управляемый браузер. Он не изменяетbrowser.headlessили конфигурацию профиля и ничего не делает, если браузер уже запущен.- На хостах Linux без
DISPLAYилиWAYLAND_DISPLAYлокальные управляемые профили автоматически работают в безголовом режиме, еслиOPENCLAW_BROWSER_HEADLESS=0,browser.headless=falseилиbrowser.profiles.<name>.headless=falseявно не запрашивает браузер с видимым интерфейсом.
Если команда отсутствует
Еслиopenclaw browser является неизвестной командой, проверьте plugins.allow в ~/.openclaw/openclaw.json. Если присутствует plugins.allow, явно добавьте встроенный плагин браузера в список, если в конфигурации ещё нет корневого блока browser:
browser (например, browser.enabled=true или browser.profiles.<name>) также активирует встроенный плагин браузера при ограничивающем списке разрешённых плагинов.
См. также: Инструмент браузера
Профили
Профили — это именованные конфигурации маршрутизации браузера:openclaw(по умолчанию): запускает выделенный экземпляр Chrome под управлением OpenClaw или подключается к нему (с изолированным каталогом пользовательских данных).user: управляет существующим сеансом Chrome с выполненным входом через Chrome DevTools MCP.- пользовательские профили CDP: указывают на локальную или удалённую конечную точку CDP.
--browser-profile <name>, например openclaw browser --browser-profile work tabs.
В macOS команда system-profiles выводит реальные профили Chrome, Brave, Edge или Chromium, доступные на хосте. Команда import-profile расшифровывает их файлы cookie после однократного запроса согласия через macOS Keychain/Touch ID и внедряет их в новый профиль под управлением OpenClaw. Импортируются только файлы cookie; локальное хранилище и IndexedDB не изменяются. Некоторые сеансы Google используют привязанные к устройству учётные данные сеанса (DBSC), поэтому после импорта может всё равно потребоваться повторная аутентификация.
Когда приложение macOS использует локальный Gateway, оно может однократно предложить этот импорт и сделать изолированный импортированный профиль профилем по умолчанию для работы агентов в браузере. Для импорта всегда требуется явный щелчок; успешный импорт или отклонение предложения предотвращает последующие автоматические запросы, а Settings → General → Browser login остаётся доступным для повторного импорта.
Импорт системных профилей включён по умолчанию. Установите browser.allowSystemProfileImport=false, чтобы отключить импорт как через CLI, так и по запросу агента. Импорт выполняется локально на хосте и не может осуществляться через прокси Node браузера.
Вкладки
tabs сначала возвращает suggestedTargetId, затем стабильный tabId (например, t1), необязательную метку и необработанный targetId. Передавайте suggestedTargetId обратно в focus, close, команды создания снимков и действия. Назначьте метку с помощью open --label, tab new --label или tab label; принимаются метки, идентификаторы вкладок, необработанные идентификаторы целей и уникальные префиксы идентификаторов целей. Для совместимости поле запроса по-прежнему называется targetId, но принимает любую из этих ссылок на вкладку.
Необработанные идентификаторы целей — это нестабильные диагностические дескрипторы, а не долговременная память агента: когда Chromium заменяет базовую необработанную цель во время навигации или отправки формы, OpenClaw сохраняет привязку стабильного tabId/метки к заменившей её вкладке, если может достоверно установить соответствие. Предпочтительно использовать suggestedTargetId.
Снимки / скриншоты / действия
Снимок:--full-pageпредназначен только для снимков страницы; его нельзя сочетать с--refили--element.- Профили
existing-session/userподдерживают скриншоты страницы и скриншоты--refиз результатов снимка, но не скриншоты CSS--element. --labelsнакладывает текущие ссылки из снимка на скриншот. В профилях на основе Playwright он работает с--full-page(наложение на всю страницу),--ref(наложение на фрагмент элемента по ссылке ARIA) и--element(наложение на фрагмент элемента по селектору CSS); в режимах фрагмента элемента метки проецируются относительно элемента. Ответ также содержит массивannotations(не включается, если пуст) с ограничивающей рамкой каждой ссылки:ref,number,role, необязательное полеnameиbox: {x, y, width, height}в системе координат полученного изображения (область просмотра / вся страница / относительно элемента). Профилиexisting-sessionвизуализируют наложение chrome-mcp на скриншотах страницы, но не используют вспомогательную проекцию Playwright и не включаютannotations; скриншоты CSS--elementв них не поддерживаются. Без Playwright или chrome-mcp скриншоты с метками недоступны.snapshot --urlsдобавляет обнаруженные целевые адреса ссылок в снимки для ИИ, чтобы агенты могли выбирать прямые цели навигации, а не угадывать их только по тексту ссылок.
evaluate --fn принимает исходный код функции, выражение или тело инструкции. Тела инструкций оборачиваются в асинхронные функции, поэтому используйте return для значения, которое требуется получить. Используйте --timeout-ms, если функции на стороне страницы может потребоваться больше времени, чем предусмотрено стандартным временем ожидания вычисления. browser.evaluateEnabled=false (по умолчанию: true) отключает как evaluate, так и wait --fn.
Ответы на действия возвращают текущий необработанный targetId после вызванной действием замены страницы, если OpenClaw может достоверно определить заменившую вкладку. Для долговременных рабочих процессов скриптам всё равно следует сохранять и передавать suggestedTargetId/метки.
Вспомогательные средства для файлов и диалоговых окон:
/tmp/openclaw/downloads или настроенный корневой временный каталог). Используйте waitfordownload или download, когда агенту необходимо дождаться определённого файла и вернуть путь к нему; эти явные средства ожидания перехватывают следующую загрузку. Для отправки принимаются файлы из корневого временного каталога отправок OpenClaw и входящие медиафайлы под управлением OpenClaw, включая ссылки media://inbound/<id> и media/inbound/<id>, относительные к песочнице. Вложенные ссылки на медиафайлы, обход каталогов и произвольные локальные пути отклоняются.
Когда действие открывает модальное диалоговое окно, ответ на действие возвращает blockedByDialog с browserState.dialogs.pending; передайте --dialog-id, чтобы ответить на него напрямую. Диалоговые окна, обработанные вне OpenClaw, отображаются в browserState.dialogs.recent.
Состояние и хранилище
Область просмотра и эмуляция:Отладка
Существующий Chrome через MCP
Используйте встроенный профильuser или создайте собственный профиль existing-session:
--cdp-url, чтобы Chrome MCP подключился к этой конечной точке. Для Docker, Browserless и других удалённых конфигураций, где семантика Chrome MCP не требуется, используйте вместо этого профиль CDP.
Текущие ограничения existing-session:
- Действия на основе снимков используют ссылки, а не селекторы CSS.
browser.actionTimeoutMsпо умолчанию задаёт для поддерживаемых запросовactзначение 60000 мс, если вызывающая сторона не указалаtimeoutMs; значениеtimeoutMsдля отдельного вызова по-прежнему имеет приоритет.clickподдерживает только щелчок левой кнопкой мыши.typeне поддерживаетslowly=true.pressне поддерживаетdelayMs.hover,scrollintoview,drag,selectиfillотклоняют переопределения времени ожидания для отдельных вызовов;evaluateпринимает--timeout-ms.selectподдерживает только одно значение.wait --load networkidleне поддерживается (работает с управляемыми и необработанными/удалёнными профилями CDP).- Для загрузки файлов требуются
--ref/--input-ref; селекторы CSS--elementне поддерживаются, и за один раз можно загрузить только один файл. - Обработчики диалоговых окон не поддерживают
--timeout. - Снимки экрана поддерживают захват страниц и
--ref, но не селекторы CSS--element. responsebody, перехват загрузок, экспорт PDF и пакетные действия по-прежнему требуют управляемого браузера или необработанного профиля CDP.
Удалённое управление браузером (прокси хоста Node)
Если Gateway работает на машине, отличной от той, где запущен браузер, запустите хост Node на машине с Chrome/Brave/Edge/Chromium. Gateway проксирует действия браузера на этот узел; отдельный сервер управления браузером не требуется. Используйтеgateway.nodes.browser.mode для управления автоматической маршрутизацией и gateway.nodes.browser.node, чтобы закрепить конкретный узел, если подключено несколько узлов.
Безопасность и удалённая настройка: Инструмент браузера, Удалённый доступ, Tailscale, Безопасность