diff --git a/docs/uk/tools/browser.md b/docs/uk/tools/browser.md
index a9b7467f3..a502dee37 100644
--- a/docs/uk/tools/browser.md
+++ b/docs/uk/tools/browser.md
@@ -1,15 +1,15 @@
---
read_when:
- Додавання автоматизації браузера, керованої агентом
- - Налагодження причин, через які openclaw заважає вашому власному Chrome
+ - Налагодження того, чому openclaw заважає роботі вашого власного Chrome
- Реалізація налаштувань браузера та життєвого циклу в застосунку macOS
summary: Інтегрований сервіс керування браузером + команди дій
title: Браузер (керований OpenClaw)
x-i18n:
- generated_at: "2026-04-22T20:49:59Z"
+ generated_at: "2026-04-23T15:38:23Z"
model: gpt-5.4
provider: openai
- source_hash: 865b0020d66366a62939f8ed28b9cda88d56ee7f5245b1b24a4e804ce55ea42d
+ source_hash: bc2eb4c6ee3eb85d4aa599164315a4b2355d8f6c628ee62af2e913b1d4bfc516
source_path: tools/browser.md
workflow: 15
---
@@ -20,21 +20,21 @@ OpenClaw може запускати **окремий профіль Chrome/Brav
Він ізольований від вашого особистого браузера та керується через невеликий локальний
сервіс керування всередині Gateway (лише loopback).
-Пояснення для початківців:
+Погляд для початківців:
-- Думайте про це як про **окремий браузер лише для агента**.
-- Профіль `openclaw` **не** торкається профілю вашого особистого браузера.
-- Агент може **відкривати вкладки, читати сторінки, натискати та вводити текст** у безпечному середовищі.
-- Вбудований профіль `user` підключається до вашої реальної сесії Chrome, у якій виконано вхід, через Chrome MCP.
+- Сприймайте це як **окремий браузер лише для агента**.
+- Профіль `openclaw` **не** зачіпає ваш особистий профіль браузера.
+- Агент може **відкривати вкладки, читати сторінки, натискати й вводити текст** у безпечному середовищі.
+- Вбудований профіль `user` підключається до вашої справжньої сесії Chrome з виконаним входом через Chrome MCP.
## Що ви отримуєте
- Окремий профіль браузера з назвою **openclaw** (типово з помаранчевим акцентом).
- Детерміноване керування вкладками (перелік/відкриття/фокусування/закриття).
- Дії агента (натискання/введення/перетягування/вибір), знімки, скриншоти, PDF.
-- Необов’язкову підтримку кількох профілів (`openclaw`, `work`, `remote`, ...).
+- Необов’язкова підтримка кількох профілів (`openclaw`, `work`, `remote`, ...).
-Цей браузер **не** призначений для вашого щоденного використання. Це безпечна, ізольована поверхня для
+Цей браузер **не** є вашим основним щоденним браузером. Це безпечна, ізольована поверхня для
автоматизації та перевірки агентом.
## Швидкий старт
@@ -46,17 +46,15 @@ openclaw browser --browser-profile openclaw open https://example.com
openclaw browser --browser-profile openclaw snapshot
```
-Якщо ви отримуєте повідомлення “Browser disabled”, увімкніть його в конфігурації (див. нижче) і перезапустіть
+Якщо ви отримуєте “Browser disabled”, увімкніть це в конфігурації (див. нижче) і перезапустіть
Gateway.
-Якщо `openclaw browser` узагалі відсутня або агент каже, що інструмент браузера
-недоступний, перейдіть до [Відсутня команда браузера або інструмент](/uk/tools/browser#missing-browser-command-or-tool).
+Якщо `openclaw browser` повністю відсутня або агент каже, що інструмент браузера
+недоступний, перейдіть до [Відсутня команда або інструмент браузера](/uk/tools/browser#missing-browser-command-or-tool).
## Керування Plugin
-Типовий інструмент `browser` тепер є вбудованим Plugin, який постачається
-увімкненим за замовчуванням. Це означає, що ви можете вимкнути або замінити його, не видаляючи решту
-системи Plugin OpenClaw:
+Типовий інструмент `browser` — це вбудований Plugin. Вимкніть його, щоб замінити іншим plugin, який реєструє той самий інструмент із назвою `browser`:
```json5
{
@@ -70,43 +68,13 @@ Gateway.
}
```
-Вимкніть вбудований Plugin перед встановленням іншого Plugin, який надає
-те саме ім’я інструмента `browser`. Типовий режим роботи браузера потребує обох умов:
+Для значень за замовчуванням потрібні і `plugins.entries.browser.enabled`, і `browser.enabled=true`. Якщо вимкнути лише plugin, це прибере CLI `openclaw browser`, gateway-метод `browser.request`, інструмент агента та сервіс керування як єдине ціле; ваша конфігурація `browser.*` залишиться недоторканою для заміни.
-- `plugins.entries.browser.enabled` не вимкнено
-- `browser.enabled=true`
+Зміни конфігурації браузера потребують перезапуску Gateway, щоб plugin міг повторно зареєструвати свій сервіс.
-Якщо ви вимкнете лише Plugin, вбудований CLI браузера (`openclaw browser`),
-метод gateway (`browser.request`), інструмент агента та типовий сервіс керування браузером
-зникнуть одночасно. Ваш конфіг `browser.*` залишиться недоторканим, щоб його міг повторно використати
-Plugin-замінник.
+## Відсутня команда або інструмент браузера
-Вбудований Plugin браузера тепер також володіє реалізацією середовища виконання браузера.
-У core залишаються лише спільні допоміжні засоби Plugin SDK плюс сумісні повторні експорти для
-старих внутрішніх шляхів імпорту. На практиці видалення або заміна пакета Plugin браузера
-прибирає набір можливостей браузера замість того, щоб залишати позаду друге середовище виконання,
-яким володіє core.
-
-Зміни конфігурації браузера все ще потребують перезапуску Gateway, щоб вбудований Plugin
-міг повторно зареєструвати свій сервіс браузера з новими налаштуваннями.
-
-## Відсутня команда браузера або інструмент
-
-Якщо після оновлення `openclaw browser` раптово стала невідомою командою або
-агент повідомляє, що інструмент браузера відсутній, найпоширенішою причиною є
-обмежувальний список `plugins.allow`, який не містить `browser`.
-
-Приклад некоректної конфігурації:
-
-```json5
-{
- plugins: {
- allow: ["telegram"],
- },
-}
-```
-
-Виправте це, додавши `browser` до списку дозволених Plugin:
+Якщо після оновлення `openclaw browser` невідома, `browser.request` відсутній або агент повідомляє, що інструмент браузера недоступний, звичайною причиною є список `plugins.allow`, у якому немає `browser`. Додайте його:
```json5
{
@@ -116,37 +84,26 @@ Plugin-замінник.
}
```
-Важливі примітки:
+`browser.enabled=true`, `plugins.entries.browser.enabled=true` і `tools.alsoAllow: ["browser"]` не замінюють наявність у списку allowlist — allowlist керує завантаженням plugin, а політика інструментів застосовується лише після завантаження. Повне видалення `plugins.allow` також відновлює типову поведінку.
-- `browser.enabled=true` саме по собі недостатньо, коли встановлено `plugins.allow`.
-- `plugins.entries.browser.enabled=true` саме по собі також недостатньо, коли встановлено `plugins.allow`.
-- `tools.alsoAllow: ["browser"]` **не** завантажує вбудований Plugin браузера. Це лише коригує політику інструментів після того, як Plugin уже завантажено.
-- Якщо вам не потрібен обмежувальний список дозволених Plugin, видалення `plugins.allow` також відновлює типову поведінку вбудованого браузера.
-
-Типові симптоми:
-
-- `openclaw browser` є невідомою командою.
-- `browser.request` відсутній.
-- Агент повідомляє, що інструмент браузера недоступний або відсутній.
-
-## Профілі: `openclaw` і `user`
+## Профілі: `openclaw` проти `user`
- `openclaw`: керований, ізольований браузер (розширення не потрібне).
-- `user`: вбудований профіль підключення Chrome MCP до вашої **реальної сесії Chrome**
- із виконаним входом.
+- `user`: вбудований профіль підключення Chrome MCP до вашої **справжньої сесії Chrome**
+ з виконаним входом.
Для викликів інструмента браузера агентом:
-- Типово: використовувати ізольований браузер `openclaw`.
-- Надавайте перевагу `profile="user"`, коли важливі наявні сесії з виконаним входом і користувач
+- Типово: використовується ізольований браузер `openclaw`.
+- Віддавайте перевагу `profile="user"`, коли важливі наявні сесії з виконаним входом і користувач
перебуває за комп’ютером, щоб натиснути/підтвердити будь-який запит на підключення.
-- `profile` є явним перевизначенням, коли ви хочете конкретний режим браузера.
+- `profile` — це явне перевизначення, коли ви хочете конкретний режим браузера.
Установіть `browser.defaultProfile: "openclaw"`, якщо хочете, щоб керований режим був типовим.
## Конфігурація
-Налаштування браузера містяться в `~/.openclaw/openclaw.json`.
+Налаштування браузера зберігаються в `~/.openclaw/openclaw.json`.
```json5
{
@@ -187,111 +144,127 @@ Plugin-замінник.
}
```
-Примітки:
+
-- Сервіс керування браузером прив’язується до loopback на порті, похідному від `gateway.port`
- (типово: `18791`, тобто gateway + 2).
-- Якщо ви перевизначаєте порт Gateway (`gateway.port` або `OPENCLAW_GATEWAY_PORT`),
- похідні порти браузера зміщуються, щоб залишатися в тій самій «родині».
-- Якщо `cdpUrl` не задано, типово використовується керований локальний порт CDP.
-- `remoteCdpTimeoutMs` застосовується до перевірок доступності віддаленого (не-loopback) CDP.
-- `remoteCdpHandshakeTimeoutMs` застосовується до перевірок доступності рукостискання WebSocket віддаленого CDP.
-- Навігація/відкриття вкладок у браузері захищені від SSRF перед навігацією та повторно перевіряються за принципом best-effort на фінальному `http(s)` URL після навігації.
-- У строгому режимі SSRF також перевіряються виявлення/проби віддалених кінцевих точок CDP (`cdpUrl`, включно з пошуками `/json/version`).
-- `browser.ssrfPolicy.dangerouslyAllowPrivateNetwork` типово вимкнено. Установлюйте `true` лише тоді, коли ви свідомо довіряєте доступу браузера до приватної мережі.
-- `browser.ssrfPolicy.allowPrivateNetwork` залишається підтримуваним як застарілий псевдонім для сумісності.
-- `attachOnly: true` означає «ніколи не запускати локальний браузер; лише підключатися, якщо він уже працює».
-- `color` і `color` для окремого профілю тонують інтерфейс браузера, щоб ви могли бачити, який профіль активний.
-- Типовим профілем є `openclaw` (окремий браузер, яким керує OpenClaw). Використовуйте `defaultProfile: "user"`, щоб перейти на браузер користувача з виконаним входом.
-- Порядок автовиявлення: системний типовий браузер, якщо він на базі Chromium; інакше Chrome → Brave → Edge → Chromium → Chrome Canary.
-- Локальним профілям `openclaw` автоматично призначаються `cdpPort`/`cdpUrl` — задавайте їх лише для віддаленого CDP.
-- `driver: "existing-session"` використовує Chrome DevTools MCP замість сирого CDP. Не
- задавайте `cdpUrl` для цього драйвера.
-- Установіть `browser.profiles..userDataDir`, коли профіль existing-session
- має підключатися до нетипового профілю користувача Chromium, наприклад Brave або Edge.
+
-## Використання Brave (або іншого браузера на базі Chromium)
+- Сервіс керування прив’язується до loopback на порту, похідному від `gateway.port` (типово `18791` = gateway + 2). Перевизначення `gateway.port` або `OPENCLAW_GATEWAY_PORT` зміщує похідні порти в межах тієї ж групи.
+- Локальні профілі `openclaw` автоматично призначають `cdpPort`/`cdpUrl`; задавайте їх лише для віддаленого CDP. Якщо `cdpUrl` не задано, типово використовується керований локальний порт CDP.
+- `remoteCdpTimeoutMs` застосовується до перевірок доступності HTTP віддаленого (не-loopback) CDP; `remoteCdpHandshakeTimeoutMs` застосовується до handshake WebSocket для віддаленого CDP.
-Якщо вашим **системним браузером за замовчуванням** є браузер на базі Chromium (Chrome/Brave/Edge тощо),
+
+
+
+
+- Навігація браузера та open-tab захищені від SSRF перед переходом і повторно перевіряються в режимі best-effort за фінальною URL-адресою `http(s)` після цього.
+- У строгому режимі SSRF також перевіряються виявлення віддаленої CDP endpoint і запити `/json/version` (`cdpUrl`).
+- `browser.ssrfPolicy.dangerouslyAllowPrivateNetwork` типово вимкнено; вмикайте лише тоді, коли доступ браузера до приватної мережі є навмисно довіреним.
+- `browser.ssrfPolicy.allowPrivateNetwork` і далі підтримується як застарілий псевдонім.
+
+
+
+
+
+- `attachOnly: true` означає ніколи не запускати локальний браузер; лише підключатися, якщо він уже працює.
+- `color` (верхнього рівня та для кожного профілю) забарвлює UI браузера, щоб ви могли бачити, який профіль активний.
+- Типовий профіль — `openclaw` (керований автономний). Використайте `defaultProfile: "user"`, щоб перейти на браузер користувача з виконаним входом.
+- Порядок автовизначення: системний типовий браузер, якщо він на основі Chromium; інакше Chrome → Brave → Edge → Chromium → Chrome Canary.
+- `driver: "existing-session"` використовує Chrome DevTools MCP замість сирого CDP. Не задавайте `cdpUrl` для цього драйвера.
+- Установіть `browser.profiles..userDataDir`, коли профіль existing-session має підключатися до нетипового профілю користувача Chromium (Brave, Edge тощо).
+
+
+
+
+
+## Використання Brave (або іншого браузера на основі Chromium)
+
+Якщо вашим **системним типовим** браузером є браузер на основі Chromium (Chrome/Brave/Edge тощо),
OpenClaw використовує його автоматично. Установіть `browser.executablePath`, щоб перевизначити
-автовиявлення:
-
-Приклад CLI:
+автовизначення:
```bash
openclaw config set browser.executablePath "/usr/bin/google-chrome"
```
+Або задайте це в конфігурації для кожної платформи:
+
+
+
```json5
-// macOS
{
browser: {
- executablePath: "/Applications/Brave Browser.app/Contents/MacOS/Brave Browser"
- }
-}
-
-// Windows
-{
- browser: {
- executablePath: "C:\\Program Files\\BraveSoftware\\Brave-Browser\\Application\\brave.exe"
- }
-}
-
-// Linux
-{
- browser: {
- executablePath: "/usr/bin/brave-browser"
- }
+ executablePath: "/Applications/Brave Browser.app/Contents/MacOS/Brave Browser",
+ },
}
```
+
+
+```json5
+{
+ browser: {
+ executablePath: "C:\\Program Files\\BraveSoftware\\Brave-Browser\\Application\\brave.exe",
+ },
+}
+```
+
+
+```json5
+{
+ browser: {
+ executablePath: "/usr/bin/brave-browser",
+ },
+}
+```
+
+
-## Локальне та віддалене керування
+## Локальне й віддалене керування
-- **Локальне керування (типово):** Gateway запускає loopback-сервіс керування і може запускати локальний браузер.
-- **Віддалене керування (хост Node):** запустіть хост Node на машині, де є браузер; Gateway проксуватиме до нього дії браузера.
-- **Віддалений CDP:** установіть `browser.profiles..cdpUrl` (або `browser.cdpUrl`), щоб
- підключитися до віддаленого браузера на базі Chromium. У цьому випадку OpenClaw не запускатиме локальний браузер.
+- **Локальне керування (типово):** Gateway запускає loopback-сервіс керування й може запускати локальний браузер.
+- **Віддалене керування (node host):** запустіть node host на машині, де є браузер; Gateway проксуватиме до нього дії браузера.
+- **Віддалений CDP:** задайте `browser.profiles..cdpUrl` (або `browser.cdpUrl`), щоб
+ підключитися до віддаленого браузера на основі Chromium. У цьому випадку OpenClaw не запускатиме локальний браузер.
-Поведінка під час зупинки відрізняється залежно від режиму профілю:
+Поведінка зупинки відрізняється залежно від режиму профілю:
- локальні керовані профілі: `openclaw browser stop` зупиняє процес браузера, який
запустив OpenClaw
-- профілі лише для підключення та профілі віддаленого CDP: `openclaw browser stop` закриває активну
- сесію керування та скидає перевизначення емуляції Playwright/CDP (viewport,
+- профілі лише для підключення та профілі з віддаленим CDP: `openclaw browser stop` закриває активну
+ керувальну сесію та скидає перевизначення емуляції Playwright/CDP (viewport,
колірну схему, локаль, часовий пояс, офлайн-режим та подібний стан), навіть
якщо OpenClaw не запускав жодного процесу браузера
-URL віддаленого CDP можуть містити автентифікацію:
+URL-адреси віддаленого CDP можуть містити автентифікацію:
- Токени в параметрах запиту (наприклад, `https://provider.example?token=`)
- HTTP Basic auth (наприклад, `https://user:pass@provider.example`)
-OpenClaw зберігає автентифікацію під час виклику кінцевих точок `/json/*` і під час підключення
-до WebSocket CDP. Для токенів краще використовувати змінні середовища або менеджери секретів,
-а не зберігати їх у файлах конфігурації.
+OpenClaw зберігає автентифікацію під час виклику endpoint `/json/*` і під час підключення
+до WebSocket CDP. Для токенів віддавайте перевагу змінним середовища або менеджерам секретів,
+а не зберіганню їх у файлах конфігурації.
-## Проксі браузера Node (типовий режим без конфігурації)
+## Node browser proxy (типова поведінка без конфігурації)
-Якщо ви запускаєте **хост Node** на машині, де знаходиться ваш браузер, OpenClaw може
-автоматично спрямовувати виклики інструмента браузера до цього node без будь-якої додаткової конфігурації браузера.
+Якщо ви запускаєте **node host** на машині, де розташований ваш браузер, OpenClaw може
+автоматично спрямовувати виклики інструмента браузера до цього вузла без будь-якої додаткової конфігурації браузера.
Це типовий шлях для віддалених gateway.
Примітки:
-- Хост Node надає свій локальний сервер керування браузером через **проксі-команду**.
-- Профілі беруться з власного конфігу `browser.profiles` node (так само, як локально).
-- `nodeHost.browserProxy.allowProfiles` є необов’язковим. Залиште його порожнім для застарілої/типової поведінки: усі налаштовані профілі залишаються доступними через проксі, включно з маршрутами створення/видалення профілів.
-- Якщо ви встановлюєте `nodeHost.browserProxy.allowProfiles`, OpenClaw розглядає це як межу принципу найменших привілеїв: лише профілі зі списку дозволених можуть бути цільовими, а маршрути створення/видалення постійних профілів блокуються на поверхні проксі.
-- Вимкніть це, якщо не хочете використовувати:
+- Node host відкриває свій локальний сервер керування браузером через **proxy command**.
+- Профілі беруться з власної конфігурації `browser.profiles` вузла (так само, як локально).
+- `nodeHost.browserProxy.allowProfiles` — необов’язковий параметр. Залиште його порожнім для застарілої/типової поведінки: усі налаштовані профілі й далі доступні через proxy, включно з маршрутами створення/видалення профілів.
+- Якщо ви задаєте `nodeHost.browserProxy.allowProfiles`, OpenClaw трактує це як межу найменших привілеїв: можна адресувати лише профілі з allowlist, а маршрути створення/видалення постійних профілів блокуються на поверхні proxy.
+- Вимкніть це, якщо воно вам не потрібне:
- На node: `nodeHost.browserProxy.enabled=false`
- На gateway: `gateway.nodes.browser.mode="off"`
-## Browserless (розміщений віддалений CDP)
+## Browserless (хостинговий віддалений CDP)
-[Browserless](https://browserless.io) — це розміщений сервіс Chromium, який надає
-URL підключення CDP через HTTPS і WebSocket. OpenClaw може використовувати будь-яку форму, але
-для профілю віддаленого браузера найпростішим варіантом є прямий URL WebSocket
-з документації підключення Browserless.
+[Browserless](https://browserless.io) — це хостингова служба Chromium, яка надає
+URL-адреси підключення CDP через HTTPS і WebSocket. OpenClaw може використовувати обидва варіанти, але
+для віддаленого профілю браузера найпростішим варіантом є пряма URL-адреса WebSocket
+з документації Browserless щодо підключення.
Приклад:
@@ -315,43 +288,39 @@ URL підключення CDP через HTTPS і WebSocket. OpenClaw може
Примітки:
- Замініть `` на ваш реальний токен Browserless.
-- Виберіть регіональну кінцеву точку, яка відповідає вашому обліковому запису Browserless (див. їхню документацію).
-- Якщо Browserless надає вам базовий URL HTTPS, ви можете або перетворити його на
- `wss://` для прямого підключення CDP, або залишити URL HTTPS і дозволити OpenClaw
- виявити `/json/version`.
+- Виберіть endpoint регіону, що відповідає вашому обліковому запису Browserless (див. їхню документацію).
+- Якщо Browserless надає вам базову URL-адресу HTTPS, ви можете або перетворити її на
+ `wss://` для прямого підключення CDP, або залишити HTTPS URL, і тоді OpenClaw
+ сам виконає виявлення `/json/version`.
-## Провайдери прямого WebSocket CDP
+## Постачальники прямого WebSocket CDP
-Деякі розміщені сервіси браузера надають **пряму кінцеву точку WebSocket** замість
-стандартного виявлення CDP на основі HTTP (`/json/version`). OpenClaw приймає три
-форми URL CDP і автоматично вибирає правильну стратегію підключення:
+Деякі хостингові служби браузерів надають **прямий endpoint WebSocket** замість
+стандартного HTTP-виявлення CDP (`/json/version`). OpenClaw підтримує три форми
+URL-адрес CDP і автоматично вибирає правильну стратегію підключення:
-- **Виявлення HTTP(S)** — `http://host[:port]` або `https://host[:port]`.
- OpenClaw викликає `/json/version`, щоб виявити URL налагоджувача WebSocket, а потім
+- **HTTP(S)-виявлення** — `http://host[:port]` або `https://host[:port]`.
+ OpenClaw викликає `/json/version`, щоб виявити URL WebSocket debugger, а потім
підключається. Резервного переходу на WebSocket немає.
-- **Прямі кінцеві точки WebSocket** — `ws://host[:port]/devtools//` або
+- **Прямі endpoints WebSocket** — `ws://host[:port]/devtools//` або
`wss://...` зі шляхом `/devtools/browser|page|worker|shared_worker|service_worker/`.
- OpenClaw підключається напряму через рукостискання WebSocket і повністю пропускає
+ OpenClaw підключається безпосередньо через handshake WebSocket і повністю пропускає
`/json/version`.
-- **Кореневі адреси WebSocket без шляху** — `ws://host[:port]` або `wss://host[:port]` без
+- **Кореневі URL WebSocket без шляху** — `ws://host[:port]` або `wss://host[:port]` без
шляху `/devtools/...` (наприклад, [Browserless](https://browserless.io),
- [Browserbase](https://www.browserbase.com)). OpenClaw спочатку пробує HTTP
- виявлення через `/json/version` (нормалізуючи схему до `http`/`https`);
+ [Browserbase](https://www.browserbase.com)). OpenClaw спочатку пробує HTTP-виявлення
+ `/json/version` (нормалізуючи схему до `http`/`https`);
якщо виявлення повертає `webSocketDebuggerUrl`, він використовується, інакше OpenClaw
- переходить до прямого рукостискання WebSocket на корені без шляху. Це покриває
- як віддалені порти налагодження у стилі Chrome, так і провайдерів лише з WebSocket.
-
-Звичайні `ws://host:port` / `wss://host:port` без шляху `/devtools/...`,
-спрямовані на локальний екземпляр Chrome, підтримуються через резервну схему
-«спочатку виявлення» — Chrome приймає WebSocket upgrades лише на конкретному шляху
-для браузера або цілі, який повертає `/json/version`, тому одного лише рукостискання
-на корені без шляху буде недостатньо.
+ переходить до прямого handshake WebSocket на корені без шляху. Це дозволяє
+ bare `ws://`, спрямованому на локальний Chrome, все одно підключатися, оскільки Chrome
+ приймає WebSocket upgrade лише на конкретному шляху для цілі з
+ `/json/version`.
### Browserbase
[Browserbase](https://www.browserbase.com) — це хмарна платформа для запуску
-headless-браузерів із вбудованим розв’язанням CAPTCHA, stealth mode та резидентними
-проксі.
+headless-браузерів із вбудованим розв’язуванням CAPTCHA, stealth mode та
+резидентними proxy.
```json5
{
@@ -374,75 +343,75 @@ headless-браузерів із вбудованим розв’язанням
- [Зареєструйтеся](https://www.browserbase.com/sign-up) і скопіюйте свій **API Key**
з [панелі Overview](https://www.browserbase.com/overview).
-- Замініть `` на ваш справжній API key Browserbase.
-- Browserbase автоматично створює сесію браузера під час підключення WebSocket, тому
- ручний етап створення сесії не потрібен.
-- Безкоштовний рівень дозволяє одну одночасну сесію та одну браузерну годину на місяць.
- Обмеження платних планів дивіться в [pricing](https://www.browserbase.com/pricing).
-- Повний довідник API,
- посібники з SDK та приклади інтеграції дивіться в [документації Browserbase](https://docs.browserbase.com).
+- Замініть `` на свій справжній API key Browserbase.
+- Browserbase автоматично створює сесію браузера під час підключення WebSocket, тож
+ окремий крок ручного створення сесії не потрібен.
+- Безкоштовний тариф дозволяє одну одночасну сесію та одну годину браузера на місяць.
+ Див. [pricing](https://www.browserbase.com/pricing) щодо лімітів платних планів.
+- Див. [документацію Browserbase](https://docs.browserbase.com) для повного
+ довідника API, посібників зі SDK та прикладів інтеграції.
## Безпека
Ключові ідеї:
-- Керування браузером доступне лише через loopback; доступ проходить через автентифікацію Gateway або pairинг node.
-- Окремий loopback HTTP API браузера використовує **лише автентифікацію через shared secret**:
- bearer auth із токеном gateway, `x-openclaw-password` або HTTP Basic auth із
+- Керування браузером доступне лише через loopback; доступ проходить через автентифікацію Gateway або pairing вузла.
+- Автономний loopback HTTP API браузера використовує **лише автентифікацію shared-secret**:
+ bearer auth за токеном gateway, `x-openclaw-password` або HTTP Basic auth із
налаштованим паролем gateway.
-- Заголовки ідентичності Tailscale Serve і `gateway.auth.mode: "trusted-proxy"`
- **не** автентифікують цей окремий loopback API браузера.
-- Якщо керування браузером увімкнено й не налаштовано жодної shared-secret автентифікації, OpenClaw
+- Заголовки ідентифікації Tailscale Serve і `gateway.auth.mode: "trusted-proxy"`
+ **не** автентифікують цей автономний loopback API браузера.
+- Якщо керування браузером увімкнено й shared-secret автентифікацію не налаштовано, OpenClaw
автоматично генерує `gateway.auth.token` під час запуску та зберігає його в конфігурації.
-- OpenClaw **не** генерує цей токен автоматично, якщо `gateway.auth.mode` уже має значення
+- OpenClaw **не** генерує цей токен автоматично, коли `gateway.auth.mode` вже має значення
`password`, `none` або `trusted-proxy`.
-- Тримайте Gateway і будь-які хости node у приватній мережі (Tailscale); уникайте публічної доступності.
-- Ставтеся до URL/токенів віддаленого CDP як до секретів; надавайте перевагу змінним середовища або менеджеру секретів.
+- Тримайте Gateway і будь-які node host у приватній мережі (Tailscale); уникайте публічного доступу.
+- Ставтеся до URL-адрес/токенів віддаленого CDP як до секретів; віддавайте перевагу env vars або менеджеру секретів.
Поради щодо віддаленого CDP:
-- За можливості використовуйте зашифровані кінцеві точки (HTTPS або WSS) і короткоживучі токени.
+- За можливості віддавайте перевагу зашифрованим endpoint (HTTPS або WSS) і короткоживучим токенам.
- Уникайте вбудовування довгоживучих токенів безпосередньо у файли конфігурації.
## Профілі (кілька браузерів)
-OpenClaw підтримує кілька іменованих профілів (конфігурацій маршрутизації). Профілі можуть бути:
+OpenClaw підтримує кілька іменованих профілів (конфігурацій маршрутизації). Профілі можуть бути такими:
-- **openclaw-managed**: окремий екземпляр браузера на базі Chromium із власним каталогом користувацьких даних і портом CDP
-- **remote**: явний URL CDP (браузер на базі Chromium, запущений деінде)
-- **existing session**: ваш наявний профіль Chrome через автопідключення Chrome DevTools MCP
+- **керовані openclaw**: окремий екземпляр браузера на основі Chromium із власним каталогом user data + портом CDP
+- **віддалені**: явна URL-адреса CDP (браузер на основі Chromium, що працює деінде)
+- **наявна сесія**: ваш наявний профіль Chrome через автопідключення Chrome DevTools MCP
-Типові значення:
+Типова поведінка:
-- Профіль `openclaw` створюється автоматично, якщо його немає.
-- Профіль `user` вбудований для existing-session підключення Chrome MCP.
-- Профілі existing-session, окрім `user`, є добровільними; створюйте їх за допомогою `--driver existing-session`.
+- Профіль `openclaw` автоматично створюється, якщо його немає.
+- Профіль `user` вбудований для підключення до наявної сесії Chrome MCP.
+- Профілі наявної сесії, окрім `user`, вмикаються лише за бажанням; створюйте їх за допомогою `--driver existing-session`.
- Локальні порти CDP типово виділяються з діапазону **18800–18899**.
-- Видалення профілю переміщує його локальний каталог даних до Trash.
+- Видалення профілю переміщує його локальний каталог даних у Trash.
-Усі кінцеві точки керування приймають `?profile=`; CLI використовує `--browser-profile`.
+Усі endpoint керування приймають `?profile=`; CLI використовує `--browser-profile`.
## Existing-session через Chrome DevTools MCP
-OpenClaw також може підключатися до запущеного профілю браузера на базі Chromium через
+OpenClaw також може підключатися до вже запущеного профілю браузера на основі Chromium через
офіційний сервер Chrome DevTools MCP. Це повторно використовує вкладки та стан входу,
які вже відкриті в цьому профілі браузера.
-Офіційні довідкові матеріали та інструкції з налаштування:
+Офіційні довідкові матеріали та посилання на налаштування:
- [Chrome for Developers: Use Chrome DevTools MCP with your browser session](https://developer.chrome.com/blog/chrome-devtools-mcp-debug-your-browser-session)
-- [README Chrome DevTools MCP](https://github.com/ChromeDevTools/chrome-devtools-mcp)
+- [Chrome DevTools MCP README](https://github.com/ChromeDevTools/chrome-devtools-mcp)
Вбудований профіль:
- `user`
-Необов’язково: створіть власний custom existing-session профіль, якщо вам потрібні
-інша назва, колір або каталог даних браузера.
+Необов’язково: створіть власний custom-профіль existing-session, якщо хочете
+іншу назву, колір або каталог даних браузера.
Типова поведінка:
-- Вбудований профіль `user` використовує автопідключення Chrome MCP, яке спрямоване на
+- Вбудований профіль `user` використовує автопідключення Chrome MCP, яке націлюється на
типовий локальний профіль Google Chrome.
Використовуйте `userDataDir` для Brave, Edge, Chromium або нетипового профілю Chrome:
@@ -466,15 +435,15 @@ OpenClaw також може підключатися до запущеного
1. Відкрийте сторінку inspect цього браузера для віддаленого налагодження.
2. Увімкніть віддалене налагодження.
-3. Залиште браузер запущеним і підтвердьте запит на підключення, коли OpenClaw приєднається.
+3. Залиште браузер запущеним і підтвердьте запит на підключення, коли OpenClaw під’єднається.
-Поширені сторінки inspect:
+Типові сторінки inspect:
- Chrome: `chrome://inspect/#remote-debugging`
- Brave: `brave://inspect/#remote-debugging`
- Edge: `edge://inspect/#remote-debugging`
-Live attach smoke test:
+Live smoke test підключення:
```bash
openclaw browser --browser-profile user start
@@ -483,73 +452,62 @@ openclaw browser --browser-profile user tabs
openclaw browser --browser-profile user snapshot --format ai
```
-Ознаки успішного підключення:
+Як виглядає успіх:
- `status` показує `driver: existing-session`
- `status` показує `transport: chrome-mcp`
- `status` показує `running: true`
-- `tabs` перелічує вже відкриті у вас вкладки браузера
-- `snapshot` повертає refs із вибраної активної вкладки
+- `tabs` перелічує вже відкриті вкладки браузера
+- `snapshot` повертає refs з вибраної live-вкладки
Що перевірити, якщо підключення не працює:
-- цільовий браузер на базі Chromium має версію `144+`
-- на сторінці inspect цього браузера увімкнено віддалене налагодження
+- цільовий браузер на основі Chromium має версію `144+`
+- у сторінці inspect цього браузера ввімкнено віддалене налагодження
- браузер показав запит на згоду на підключення, і ви його підтвердили
-- `openclaw doctor` переносить старий конфіг браузера на основі розширення та перевіряє, що
- Chrome встановлено локально для типових профілів автопідключення, але не може
- увімкнути віддалене налагодження на стороні браузера за вас
+- `openclaw doctor` мігрує стару конфігурацію браузера на основі розширення та перевіряє,
+ що Chrome локально встановлено для типових профілів автопідключення, але він не може
+ увімкнути віддалене налагодження на боці браузера за вас
Використання агентом:
-- Використовуйте `profile="user"`, коли вам потрібен стан браузера користувача з виконаним входом.
-- Якщо ви використовуєте custom existing-session профіль, передайте явну назву цього профілю.
+- Використовуйте `profile="user"`, коли потрібен стан браузера користувача з виконаним входом.
+- Якщо ви використовуєте custom-профіль existing-session, передайте його явну назву профілю.
- Вибирайте цей режим лише тоді, коли користувач перебуває за комп’ютером, щоб підтвердити
запит на підключення.
-- Gateway або хост node може запускати `npx chrome-devtools-mcp@latest --autoConnect`
+- Gateway або node host можуть запускати `npx chrome-devtools-mcp@latest --autoConnect`
Примітки:
-- Цей шлях є ризикованішим, ніж ізольований профіль `openclaw`, оскільки він може
- діяти всередині вашої сесії браузера, у якій виконано вхід.
-- OpenClaw не запускає браузер для цього драйвера; він підключається лише до
- наявної сесії.
+- Цей шлях ризикованіший, ніж ізольований профіль `openclaw`, оскільки він може
+ виконувати дії у вашій сесії браузера з виконаним входом.
+- OpenClaw не запускає браузер для цього драйвера; він лише підключається.
- Тут OpenClaw використовує офіційний потік Chrome DevTools MCP `--autoConnect`. Якщо
- встановлено `userDataDir`, OpenClaw передає його далі, щоб націлитися на цей явний
- каталог користувацьких даних Chromium.
-- Скріншоти existing-session підтримують знімки сторінки та знімки елементів через `--ref`
- зі snapshot, але не CSS-селектори `--element`.
-- Скріншоти сторінок existing-session працюють без Playwright через Chrome MCP.
- Скріншоти елементів за ref (`--ref`) там також працюють, але `--full-page`
- не можна поєднувати з `--ref` або `--element`.
-- Дії existing-session усе ще більш обмежені, ніж у режимі керованого браузера:
- - `click`, `type`, `hover`, `scrollIntoView`, `drag` і `select` потребують
- snapshot refs замість CSS-селекторів
- - `click` підтримує лише ліву кнопку миші (без перевизначення кнопки або модифікаторів)
- - `type` не підтримує `slowly=true`; використовуйте `fill` або `press`
- - `press` не підтримує `delayMs`
- - `hover`, `scrollIntoView`, `drag`, `select`, `fill` і `evaluate` не
- підтримують перевизначення timeout для окремого виклику
- - `select` наразі підтримує лише одне значення
-- Existing-session `wait --url` підтримує точні, часткові та glob-шаблони,
- як і інші драйвери браузера. `wait --load networkidle` поки не підтримується.
-- Хуки завантаження файлів existing-session вимагають `ref` або `inputRef`, підтримують по одному файлу за раз і не підтримують націлювання через CSS `element`.
-- Хуки діалогів existing-session не підтримують перевизначення timeout.
-- Деякі можливості все ще потребують режиму керованого браузера, зокрема пакетні
- дії, експорт PDF, перехоплення завантажень і `responsebody`.
-- Existing-session може підключатися на вибраному хості або через підключений
- browser node. Якщо Chrome працює деінде й browser node не підключено, використовуйте
- віддалений CDP або хост node.
+ задано `userDataDir`, його буде передано далі для націлювання на цей каталог user data.
+- Existing-session може підключатися на вибраному host або через підключений
+ browser node. Якщо Chrome знаходиться деінде й browser node не підключено, використовуйте
+ натомість віддалений CDP або node host.
+
+
+
+Порівняно з керованим профілем `openclaw`, драйвери existing-session мають більше обмежень:
+
+- **Скриншоти** — працюють знімки сторінки та знімки елементів через `--ref`; CSS-селектори `--element` не підтримуються. `--full-page` не можна поєднувати з `--ref` або `--element`. Для скриншотів сторінки чи елементів за ref Playwright не потрібен.
+- **Дії** — `click`, `type`, `hover`, `scrollIntoView`, `drag` і `select` потребують snapshot refs (без CSS-селекторів). `click` працює лише для лівої кнопки миші. `type` не підтримує `slowly=true`; використовуйте `fill` або `press`. `press` не підтримує `delayMs`. `hover`, `scrollIntoView`, `drag`, `select`, `fill` і `evaluate` не підтримують timeout для окремого виклику. `select` приймає одне значення.
+- **Очікування / вивантаження / діалог** — `wait --url` підтримує точні збіги, підрядки та glob-шаблони; `wait --load networkidle` не підтримується. Хуки вивантаження потребують `ref` або `inputRef`, по одному файлу за раз, без CSS `element`. Хуки діалогу не підтримують перевизначення timeout.
+- **Функції лише для керованого режиму** — пакетні дії, експорт PDF, перехоплення завантажень і `responsebody` усе ще потребують шляху керованого браузера.
+
+
## Гарантії ізоляції
-- **Окремий каталог користувацьких даних**: ніколи не торкається профілю вашого особистого браузера.
-- **Окремі порти**: уникає `9222`, щоб не створювати конфліктів із робочими процесами розробки.
-- **Детерміноване керування вкладками**: націлювання на вкладки за `targetId`, а не за принципом «остання вкладка».
+- **Виділений каталог user data**: ніколи не торкається вашого особистого профілю браузера.
+- **Виділені порти**: уникає `9222`, щоб запобігти конфліктам із dev-робочими процесами.
+- **Детерміноване керування вкладками**: націлювання на вкладки через `targetId`, а не “остання вкладка”.
## Вибір браузера
-Під час локального запуску OpenClaw вибирає перший доступний:
+Під час локального запуску OpenClaw вибирає перший доступний браузер:
1. Chrome
2. Brave
@@ -561,19 +519,19 @@ openclaw browser --browser-profile user snapshot --format ai
Платформи:
-- macOS: перевіряються `/Applications` і `~/Applications`.
-- Linux: шукаються `google-chrome`, `brave`, `microsoft-edge`, `chromium` тощо.
-- Windows: перевіряються типові місця встановлення.
+- macOS: перевіряє `/Applications` і `~/Applications`.
+- Linux: шукає `google-chrome`, `brave`, `microsoft-edge`, `chromium` тощо.
+- Windows: перевіряє типові місця встановлення.
## API керування (необов’язково)
Лише для локальних інтеграцій Gateway надає невеликий loopback HTTP API:
-- Status/start/stop: `GET /`, `POST /start`, `POST /stop`
+- Стан/запуск/зупинка: `GET /`, `POST /start`, `POST /stop`
- Вкладки: `GET /tabs`, `POST /tabs/open`, `POST /tabs/focus`, `DELETE /tabs/:targetId`
-- Snapshot/screenshot: `GET /snapshot`, `POST /screenshot`
+- Snapshot/скриншот: `GET /snapshot`, `POST /screenshot`
- Дії: `POST /navigate`, `POST /act`
-- Hooks: `POST /hooks/file-chooser`, `POST /hooks/dialog`
+- Хуки: `POST /hooks/file-chooser`, `POST /hooks/dialog`
- Завантаження: `POST /download`, `POST /wait/download`
- Налагодження: `GET /console`, `POST /pdf`
- Налагодження: `GET /errors`, `GET /requests`, `POST /trace/start`, `POST /trace/stop`, `POST /highlight`
@@ -582,23 +540,23 @@ openclaw browser --browser-profile user snapshot --format ai
- Стан: `GET /storage/:kind`, `POST /storage/:kind/set`, `POST /storage/:kind/clear`
- Налаштування: `POST /set/offline`, `POST /set/headers`, `POST /set/credentials`, `POST /set/geolocation`, `POST /set/media`, `POST /set/timezone`, `POST /set/locale`, `POST /set/device`
-Усі кінцеві точки приймають `?profile=`.
+Усі endpoint приймають `?profile=`.
-Якщо налаштовано shared-secret автентифікацію gateway, маршрути HTTP браузера також вимагають автентифікації:
+Якщо налаштовано shared-secret автентифікацію gateway, HTTP-маршрути браузера також потребують автентифікації:
- `Authorization: Bearer `
- `x-openclaw-password: ` або HTTP Basic auth із цим паролем
Примітки:
-- Цей окремий loopback API браузера **не** використовує trusted-proxy або
- заголовки ідентичності Tailscale Serve.
+- Цей автономний loopback API браузера **не** використовує trusted-proxy або
+ заголовки ідентифікації Tailscale Serve.
- Якщо `gateway.auth.mode` має значення `none` або `trusted-proxy`, ці loopback-маршрути браузера
- не успадковують режими з передаванням ідентичності; залишайте їх доступними лише через loopback.
+ не успадковують ці режими з ідентифікацією; залишайте їх доступними лише через loopback.
### Контракт помилок `/act`
-`POST /act` використовує структуровану відповідь про помилку для валідації на рівні маршруту та
+`POST /act` використовує структуровану відповідь помилки для валідації на рівні маршруту та
збоїв політики:
```json
@@ -607,11 +565,11 @@ openclaw browser --browser-profile user snapshot --format ai
Поточні значення `code`:
-- `ACT_KIND_REQUIRED` (HTTP 400): `kind` відсутній або не розпізнаний.
-- `ACT_INVALID_REQUEST` (HTTP 400): нормалізація або валідація payload дії не пройшла.
-- `ACT_SELECTOR_UNSUPPORTED` (HTTP 400): `selector` використано з непідтримуваним видом дії.
+- `ACT_KIND_REQUIRED` (HTTP 400): `kind` відсутній або не розпізнається.
+- `ACT_INVALID_REQUEST` (HTTP 400): payload дії не пройшов нормалізацію або валідацію.
+- `ACT_SELECTOR_UNSUPPORTED` (HTTP 400): `selector` використано з непідтримуваним типом дії.
- `ACT_EVALUATE_DISABLED` (HTTP 403): `evaluate` (або `wait --fn`) вимкнено конфігурацією.
-- `ACT_TARGET_ID_MISMATCH` (HTTP 403): верхньорівневий або пакетний `targetId` конфліктує з ціллю запиту.
+- `ACT_TARGET_ID_MISMATCH` (HTTP 403): `targetId` верхнього рівня або пакетний `targetId` конфліктує з ціллю запиту.
- `ACT_EXISTING_SESSION_UNSUPPORTED` (HTTP 501): дія не підтримується для профілів existing-session.
Інші збої під час виконання все ще можуть повертати `{ "error": "" }` без
@@ -619,33 +577,33 @@ openclaw browser --browser-profile user snapshot --format ai
### Вимога Playwright
-Деякі можливості (navigate/act/AI snapshot/role snapshot, скриншоти елементів,
-PDF) потребують Playwright. Якщо Playwright не встановлено, ці кінцеві точки повертають
-зрозумілу помилку 501.
+Деякі функції (`navigate`/`act`/AI snapshot/role snapshot, скриншоти елементів,
+PDF) потребують Playwright. Якщо Playwright не встановлено, ці endpoint повертають
+чітку помилку 501.
Що все ще працює без Playwright:
-- ARIA snapshot
+- ARIA snapshots
- Скриншоти сторінки для керованого браузера `openclaw`, коли доступний WebSocket
CDP для окремої вкладки
- Скриншоти сторінки для профілів `existing-session` / Chrome MCP
-- Скриншоти existing-session за ref (`--ref`) з виводу snapshot
+- Скриншоти existing-session за `ref` (`--ref`) з виводу snapshot
Що все ще потребує Playwright:
- `navigate`
- `act`
-- AI snapshot / role snapshot
+- AI snapshots / role snapshots
- Скриншоти елементів за CSS-селектором (`--element`)
-- повний експорт PDF браузера
+- Повний експорт PDF браузера
-Скриншоти елементів також не приймають `--full-page`; маршрут повертає `fullPage is
+Скриншоти елементів також відхиляють `--full-page`; маршрут повертає `fullPage is
not supported for element screenshots`.
-Якщо ви бачите `Playwright is not available in this gateway build`, відновіть залежності середовища виконання
-вбудованого Plugin браузера, щоб було встановлено `playwright-core`,
-а потім перезапустіть gateway. Для пакетних установок виконайте `openclaw doctor --fix`.
-Для Docker також установіть двійкові файли браузера Chromium, як показано нижче.
+Якщо ви бачите `Playwright is not available in this gateway build`, відновіть
+runtime-залежності вбудованого browser plugin так, щоб було встановлено `playwright-core`,
+а потім перезапустіть gateway. Для пакетних встановлень виконайте `openclaw doctor --fix`.
+Для Docker також установіть бінарні файли браузера Chromium, як показано нижче.
#### Установлення Playwright у Docker
@@ -657,167 +615,159 @@ docker compose run --rm openclaw-cli \
node /app/node_modules/playwright-core/cli.js install chromium
```
-Щоб зберігати завантажені браузери, установіть `PLAYWRIGHT_BROWSERS_PATH` (наприклад,
+Щоб зберігати завантаження браузера, задайте `PLAYWRIGHT_BROWSERS_PATH` (наприклад,
`/home/node/.cache/ms-playwright`) і переконайтеся, що `/home/node` зберігається через
`OPENCLAW_HOME_VOLUME` або bind mount. Див. [Docker](/uk/install/docker).
## Як це працює (внутрішньо)
-Потік на високому рівні:
+Невеликий loopback-сервер керування приймає HTTP-запити та підключається до браузерів на основі Chromium через CDP. Розширені дії (click/type/snapshot/PDF) проходять через Playwright поверх CDP; якщо Playwright відсутній, доступні лише операції без Playwright. Агент бачить один стабільний інтерфейс, тоді як локальні/віддалені браузери та профілі вільно змінюються під ним.
-- Невеликий **сервер керування** приймає HTTP-запити.
-- Він підключається до браузерів на базі Chromium (Chrome/Brave/Edge/Chromium) через **CDP**.
-- Для розширених дій (click/type/snapshot/PDF) він використовує **Playwright** поверх
- CDP.
-- Якщо Playwright відсутній, доступні лише операції без Playwright.
+## Короткий довідник CLI
-Такий дизайн зберігає для агента стабільний, детермінований інтерфейс і водночас дає
-змогу змінювати локальні/віддалені браузери та профілі.
+Усі команди приймають `--browser-profile ` для націлювання на конкретний профіль і `--json` для машиночитаного виводу.
-## Швидкий довідник CLI
+
-Усі команди приймають `--browser-profile ` для націлювання на конкретний профіль.
-Усі команди також приймають `--json` для машиночитного виводу (стабільні payload).
+
-Основне:
+```bash
+openclaw browser status
+openclaw browser start
+openclaw browser stop # also clears emulation on attach-only/remote CDP
+openclaw browser tabs
+openclaw browser tab # shortcut for current tab
+openclaw browser tab new
+openclaw browser tab select 2
+openclaw browser tab close 2
+openclaw browser open https://example.com
+openclaw browser focus abcd1234
+openclaw browser close abcd1234
+```
-- `openclaw browser status`
-- `openclaw browser start`
-- `openclaw browser stop`
-- `openclaw browser tabs`
-- `openclaw browser tab`
-- `openclaw browser tab new`
-- `openclaw browser tab select 2`
-- `openclaw browser tab close 2`
-- `openclaw browser open https://example.com`
-- `openclaw browser focus abcd1234`
-- `openclaw browser close abcd1234`
+
-Перевірка:
+
-- `openclaw browser screenshot`
-- `openclaw browser screenshot --full-page`
-- `openclaw browser screenshot --ref 12`
-- `openclaw browser screenshot --ref e12`
-- `openclaw browser snapshot`
-- `openclaw browser snapshot --format aria --limit 200`
-- `openclaw browser snapshot --interactive --compact --depth 6`
-- `openclaw browser snapshot --efficient`
-- `openclaw browser snapshot --labels`
-- `openclaw browser snapshot --selector "#main" --interactive`
-- `openclaw browser snapshot --frame "iframe#main" --interactive`
-- `openclaw browser console --level error`
+```bash
+openclaw browser screenshot
+openclaw browser screenshot --full-page
+openclaw browser screenshot --ref 12 # or --ref e12
+openclaw browser snapshot
+openclaw browser snapshot --format aria --limit 200
+openclaw browser snapshot --interactive --compact --depth 6
+openclaw browser snapshot --efficient
+openclaw browser snapshot --labels
+openclaw browser snapshot --selector "#main" --interactive
+openclaw browser snapshot --frame "iframe#main" --interactive
+openclaw browser console --level error
+openclaw browser errors --clear
+openclaw browser requests --filter api --clear
+openclaw browser pdf
+openclaw browser responsebody "**/api" --max-chars 5000
+```
-Примітка про життєвий цикл:
+
-- Для профілів лише для підключення та профілів віддаленого CDP `openclaw browser stop` усе ще є
- правильною командою очищення після тестів. Вона закриває активну сесію керування та
- прибирає тимчасові перевизначення емуляції замість завершення базового
- браузера.
-- `openclaw browser errors --clear`
-- `openclaw browser requests --filter api --clear`
-- `openclaw browser pdf`
-- `openclaw browser responsebody "**/api" --max-chars 5000`
+
-Дії:
+```bash
+openclaw browser navigate https://example.com
+openclaw browser resize 1280 720
+openclaw browser click 12 --double # or e12 for role refs
+openclaw browser type 23 "hello" --submit
+openclaw browser press Enter
+openclaw browser hover 44
+openclaw browser scrollintoview e12
+openclaw browser drag 10 11
+openclaw browser select 9 OptionA OptionB
+openclaw browser download e12 report.pdf
+openclaw browser waitfordownload report.pdf
+openclaw browser upload /tmp/openclaw/uploads/file.pdf
+openclaw browser fill --fields '[{"ref":"1","type":"text","value":"Ada"}]'
+openclaw browser dialog --accept
+openclaw browser wait --text "Done"
+openclaw browser wait "#main" --url "**/dash" --load networkidle --fn "window.ready===true"
+openclaw browser evaluate --fn '(el) => el.textContent' --ref 7
+openclaw browser highlight e12
+openclaw browser trace start
+openclaw browser trace stop
+```
-- `openclaw browser navigate https://example.com`
-- `openclaw browser resize 1280 720`
-- `openclaw browser click 12 --double`
-- `openclaw browser click e12 --double`
-- `openclaw browser type 23 "hello" --submit`
-- `openclaw browser press Enter`
-- `openclaw browser hover 44`
-- `openclaw browser scrollintoview e12`
-- `openclaw browser drag 10 11`
-- `openclaw browser select 9 OptionA OptionB`
-- `openclaw browser download e12 report.pdf`
-- `openclaw browser waitfordownload report.pdf`
-- `openclaw browser upload /tmp/openclaw/uploads/file.pdf`
-- `openclaw browser fill --fields '[{"ref":"1","type":"text","value":"Ada"}]'`
-- `openclaw browser dialog --accept`
-- `openclaw browser wait --text "Done"`
-- `openclaw browser wait "#main" --url "**/dash" --load networkidle --fn "window.ready===true"`
-- `openclaw browser evaluate --fn '(el) => el.textContent' --ref 7`
-- `openclaw browser highlight e12`
-- `openclaw browser trace start`
-- `openclaw browser trace stop`
+
-Стан:
+
-- `openclaw browser cookies`
-- `openclaw browser cookies set session abc123 --url "https://example.com"`
-- `openclaw browser cookies clear`
-- `openclaw browser storage local get`
-- `openclaw browser storage local set theme dark`
-- `openclaw browser storage session clear`
-- `openclaw browser set offline on`
-- `openclaw browser set headers --headers-json '{"X-Debug":"1"}'`
-- `openclaw browser set credentials user pass`
-- `openclaw browser set credentials --clear`
-- `openclaw browser set geo 37.7749 -122.4194 --origin "https://example.com"`
-- `openclaw browser set geo --clear`
-- `openclaw browser set media dark`
-- `openclaw browser set timezone America/New_York`
-- `openclaw browser set locale en-US`
-- `openclaw browser set device "iPhone 14"`
+```bash
+openclaw browser cookies
+openclaw browser cookies set session abc123 --url "https://example.com"
+openclaw browser cookies clear
+openclaw browser storage local get
+openclaw browser storage local set theme dark
+openclaw browser storage session clear
+openclaw browser set offline on
+openclaw browser set headers --headers-json '{"X-Debug":"1"}'
+openclaw browser set credentials user pass # --clear to remove
+openclaw browser set geo 37.7749 -122.4194 --origin "https://example.com"
+openclaw browser set media dark
+openclaw browser set timezone America/New_York
+openclaw browser set locale en-US
+openclaw browser set device "iPhone 14"
+```
+
+
+
+
Примітки:
-- `upload` і `dialog` — це виклики **підготовки**; запускайте їх перед click/press,
- що відкриває file chooser/діалог.
-- Шляхи виводу download і trace обмежені тимчасовими коренями OpenClaw:
- - traces: `/tmp/openclaw` (резервний варіант: `${os.tmpdir()}/openclaw`)
- - downloads: `/tmp/openclaw/downloads` (резервний варіант: `${os.tmpdir()}/openclaw/downloads`)
-- Шляхи upload обмежені тимчасовим коренем upload OpenClaw:
- - uploads: `/tmp/openclaw/uploads` (резервний варіант: `${os.tmpdir()}/openclaw/uploads`)
-- `upload` також може безпосередньо задавати file input через `--input-ref` або `--element`.
-- `snapshot`:
- - `--format ai` (типово, коли встановлено Playwright): повертає AI snapshot із числовими refs (`aria-ref=""`).
- - `--format aria`: повертає дерево доступності (без refs; лише для перевірки).
- - `--efficient` (або `--mode efficient`): компактний preset role snapshot (interactive + compact + depth + нижчий maxChars).
- - Типове значення конфігурації (лише tool/CLI): установіть `browser.snapshotDefaults.mode: "efficient"`, щоб використовувати efficient snapshot, коли викликач не передає режим (див. [Конфігурація Gateway](/uk/gateway/configuration-reference#browser)).
- - Параметри role snapshot (`--interactive`, `--compact`, `--depth`, `--selector`) примусово вмикають snapshot на основі ролей із refs на зразок `ref=e12`.
- - `--frame "