openclaw browser
Керуйте поверхнею керування браузером OpenClaw і виконуйте браузерні дії (життєвий цикл, профілі, вкладки, знімки стану, скриншоти, навігація, введення, емуляція стану та налагодження).
Пов’язано:
- Інструмент браузера + API: Інструмент браузера
Поширені прапорці
--url <gatewayWsUrl>: URL WebSocket Gateway (типово з конфігурації).--token <token>: токен Gateway (якщо потрібен).--timeout <ms>: тайм-аут запиту (мс).--expect-final: чекати фінальної відповіді Gateway.--browser-profile <name>: вибрати профіль браузера (типово з конфігурації).--json: машинозчитуваний вивід (де підтримується).
Швидкий старт (локально)
browser({ action: "doctor" }).
Швидке усунення несправностей
Якщоstart завершується помилкою not reachable after start, спершу усувайте несправність готовності CDP. Якщо start і tabs успішні, але open або navigate завершується помилкою, площина керування браузером справна, а збій зазвичай спричинений політикою SSRF для навігації.
Мінімальна послідовність:
Життєвий цикл
doctor --deepдодає живу перевірку знімка стану. Це корисно, коли базова готовність CDP зелена, але вам потрібен доказ, що поточну вкладку можна інспектувати.- Для профілів
attachOnlyі віддалених профілів CDPopenclaw browser stopзакриває активний сеанс керування й очищає тимчасові перевизначення емуляції, навіть якщо OpenClaw не запускав процес браузера самостійно. - Для локальних керованих профілів
openclaw browser stopзупиняє породжений процес браузера. openclaw browser start --headlessзастосовується лише до цього запиту запуску і тільки коли OpenClaw запускає локальний керований браузер. Він не переписуєbrowser.headlessабо конфігурацію профілю і є no-op для браузера, який уже працює.- На хостах 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 присутній, явно додайте вбудований Plugin браузера до списку,
якщо конфігурація ще не має кореневого блока browser:
browser, наприклад browser.enabled=true або
browser.profiles.<name>, також активує вбудований Plugin браузера за
обмежувального списку дозволених Plugin.
Пов’язано: Інструмент браузера
Профілі
Профілі — це іменовані конфігурації маршрутизації браузера. На практиці:openclaw: запускає спеціальний керований OpenClaw екземпляр Chrome або під’єднується до нього (ізольований каталог даних користувача).user: керує вашим наявним сеансом Chrome із виконаним входом через Chrome DevTools MCP.- користувацькі профілі CDP: вказують на локальну або віддалену кінцеву точку CDP.
Вкладки
tabs спершу повертає suggestedTargetId, потім стабільний tabId, як-от t1,
необов’язкову мітку та сирий targetId. Агенти мають передавати
suggestedTargetId назад у focus, close, знімки стану та дії. Ви можете
призначити мітку за допомогою open --label, tab new --label або tab label;
мітки, ідентифікатори вкладок, сирі ідентифікатори цілей і унікальні префікси
target-id усі приймаються.
Поле запиту все ще називається 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}; координати вказані у просторі захопленого зображення (viewport / fullpage / відносно елемента). Поле пропускається, коли воно порожнє. Профіліexisting-sessionрендерять накладання chrome-mcp на скриншотах сторінки, але не використовують помічник проєкції Playwright і не включаютьannotations; скриншоти CSS--elementтам не підтримуються. Без Playwright або chrome-mcp скриншоти з мітками недоступні. Попередні випуски ігнорували--full-page,--refі--elementна скриншотах Playwright із мітками та завжди повертали захоплення viewport; тепер скриншоти з мітками поважають ці області.snapshot --urlsдодає знайдені призначення посилань до знімків стану AI, щоб агенти могли вибирати прямі цілі навігації, а не здогадуватися лише за текстом посилання.
evaluate --fn приймає вихідний код функції, вираз або тіло інструкцій.
Тіла інструкцій обгортаються як async-функції, тому використовуйте return для значення,
яке хочете отримати назад. Використовуйте evaluate --timeout-ms <ms>, коли функції
на стороні сторінки може знадобитися більше часу, ніж типовий тайм-аут evaluate.
Відповіді дій повертають поточний сирий targetId після заміни сторінки,
спричиненої дією, коли OpenClaw може довести вкладку-заміщення. Скрипти все одно мають
зберігати й передавати suggestedTargetId/мітки для довготривалих робочих процесів.
Помічники для файлів і діалогів:
/tmp/openclaw/downloads типово або налаштований тимчасовий
корінь). Використовуйте waitfordownload або download, коли агенту потрібно чекати
на конкретний файл і повернути його шлях; ці явні очікувачі володіють наступним завантаженням.
Завантаження файлів приймають файли з тимчасового кореня uploads OpenClaw і керовані OpenClaw
вхідні медіа, включно з посиланнями media://inbound/<id> і відносними до пісочниці
media/inbound/<id>. Вкладені media refs, обхід каталогів і довільні
локальні шляхи залишаються відхиленими.
Коли дія відкриває модальний діалог, відповідь дії повертає
blockedByDialog з browserState.dialogs.pending; передайте --dialog-id, щоб
відповісти на нього напряму. Діалоги, оброблені поза OpenClaw, з’являються під
browserState.dialogs.recent.
Стан і сховище
Viewport + емуляція:Налагодження
Наявний Chrome через MCP
Використовуйте вбудований профільuser або створіть власний профіль existing-session:
--cdp-url, щоб Chrome MCP натомість під’єднався до цієї кінцевої точки.
Для Docker, Browserless або інших віддалених налаштувань, де семантика Chrome MCP не потрібна, використовуйте
профіль CDP.
Поточні обмеження existing-session:
- дії на основі знімків використовують посилання, а не CSS-селектори
browser.actionTimeoutMsзадає типове значення 60000 мс для підтримуваних запитівact, коли виклики не передаютьtimeoutMs;timeoutMsдля окремого виклику все одно має пріоритет.clickпідтримує лише клацання лівою кнопкоюtypeне підтримуєslowly=truepressне підтримуєdelayMshover,scrollintoview,drag,select,fillіevaluateвідхиляють перевизначення таймауту для окремого викликуselectпідтримує лише одне значенняwait --load networkidleне підтримується для профілів наявних сеансів (працює з керованими та raw/віддаленими CDP)- завантаження файлів потребує
--ref/--input-ref, не підтримує CSS--elementі наразі підтримує лише один файл за раз - хуки діалогів не підтримують
--timeout - знімки екрана підтримують захоплення сторінки та
--ref, але не CSS--element responsebody, перехоплення завантажень, експорт PDF і пакетні дії все ще потребують керованого браузера або raw CDP-профілю
Віддалене керування браузером (проксі вузла-хоста)
Якщо Gateway працює на іншій машині, ніж браузер, запустіть вузол-хост на машині, де є Chrome/Brave/Edge/Chromium. Gateway проксуватиме дії браузера до цього вузла (окремий сервер керування браузером не потрібен). Використовуйтеgateway.nodes.browser.mode, щоб керувати автоматичною маршрутизацією, і gateway.nodes.browser.node, щоб закріпити конкретний вузол, якщо підключено кілька.
Безпека + віддалене налаштування: Інструмент браузера, Віддалений доступ, Tailscale, Безпека