chore(i18n): refresh uk translations

This commit is contained in:
openclaw-docs-i18n[bot] 2026-04-25 13:01:48 +00:00
parent dd603265d4
commit 7deb7f0d4b

View File

@ -1,40 +1,40 @@
---
read_when:
- Додавання автоматизації браузера під керуванням агента
- З’ясування, чому openclaw втручається у ваш власний Chrome
- Реалізація налаштувань і життєвого циклу браузера в застосунку macOS
- Додавання автоматизації браузера, керованої агентом
- Налагодження причин, через які OpenClaw втручається у роботу вашого власного Chrome
- Реалізація налаштувань браузера та керування його життєвим циклом у застосунку macOS
summary: Інтегрований сервіс керування браузером + команди дій
title: Browser (керований OpenClaw)
title: Браузер (під керуванням OpenClaw)
x-i18n:
generated_at: "2026-04-25T11:57:45Z"
generated_at: "2026-04-25T12:59:48Z"
model: gpt-5.4
provider: openai
source_hash: 3f41583eea3554292822aec8858f9b2deb6d5bfd1f313039ee25f37bfb81bf8a
source_hash: 2f6915568d2119d2473fc4ee489a03582ffd34218125835d5e073476d3009896
source_path: tools/browser.md
workflow: 15
---
OpenClaw може запускати **виділений профіль Chrome/Brave/Edge/Chromium**, яким керує агент.
OpenClaw може запускати **окремий профіль Chrome/Brave/Edge/Chromium**, яким керує агент.
Він ізольований від вашого особистого браузера та керується через невеликий локальний
сервіс керування всередині Gateway (лише loopback).
Пояснення для початківців:
Погляд для початківців:
- Думайте про нього як про **окремий браузер лише для агента**.
- Профіль `openclaw` **не** торкається профілю вашого особистого браузера.
- Агент може **відкривати вкладки, читати сторінки, натискати й вводити текст** у безпечному режимі.
- Вбудований профіль `user` під’єднується до вашого справжнього сеансу Chrome з виконаним входом через Chrome MCP.
- Думайте про це як про **окремий браузер лише для агента**.
- Профіль `openclaw` **не** взаємодіє з профілем вашого особистого браузера.
- Агент може **відкривати вкладки, читати сторінки, натискати та вводити текст** у безпечному середовищі.
- Вбудований профіль `user` підключається до вашої справжньої авторизованої сесії Chrome через Chrome MCP.
## Що ви отримуєте
- Окремий профіль браузера з назвою **openclaw** (помаранчевий акцент за замовчуванням).
- Детерміноване керування вкладками (перелік/відкриття/фокусування/закриття).
- Дії агента (натискання/введення/перетягування/вибір), знімки стану, знімки екрана, PDF.
- Вбудований skill `browser-automation`, який навчає агентів циклу відновлення snapshot,
stable-tab, stale-ref і manual-blocker, коли увімкнено browser Plugin.
- Окремий профіль браузера з назвою **openclaw** (типово з помаранчевим акцентом).
- Детерміноване керування вкладками (список/відкриття/фокусування/закриття).
- Дії агента (натискання/введення/перетягування/вибір), знімки стану, скриншоти, PDF.
- Вбудований навик `browser-automation`, який навчає агентів циклу відновлення snapshot,
stable-tab, stale-ref і manual-blocker, коли ввімкнено Plugin браузера.
- Необов’язкова підтримка кількох профілів (`openclaw`, `work`, `remote`, ...).
Цей браузер **не** є вашим щоденним браузером. Це безпечна, ізольована поверхня для
Цей браузер **не** призначений для вашого повсякденного використання. Це безпечна, ізольована поверхня для
автоматизації та перевірки агентом.
## Швидкий старт
@ -47,15 +47,15 @@ openclaw browser --browser-profile openclaw open https://example.com
openclaw browser --browser-profile openclaw snapshot
```
Якщо ви бачите “Browser disabled”, увімкніть його в конфігурації (див. нижче) і перезапустіть
Якщо ви отримуєте повідомлення “Browser disabled”, увімкніть його в конфігурації (див. нижче) і перезапустіть
Gateway.
Якщо `openclaw browser` взагалі відсутній або агент каже, що browser tool
недоступний, перейдіть до [Відсутня команда або tool браузера](/uk/tools/browser#missing-browser-command-or-tool).
Якщо `openclaw browser` взагалі відсутній або агент каже, що інструмент браузера
недоступний, перейдіть до [Відсутня команда браузера або інструмент](/uk/tools/browser#missing-browser-command-or-tool).
## Керування Plugin
Типовий tool `browser` — це вбудований Plugin. Вимкніть його, щоб замінити іншим Plugin, який реєструє ту саму назву tool `browser`:
Типовий інструмент `browser` є вбудованим Plugin. Вимкніть його, щоб замінити іншим Plugin, який реєструє той самий інструмент `browser`:
```json5
{
@ -69,29 +69,29 @@ Gateway.
}
```
Типові налаштування потребують і `plugins.entries.browser.enabled`, і `browser.enabled=true`. Якщо вимкнути лише Plugin, це як єдиний блок прибирає CLI `openclaw browser`, метод Gateway `browser.request`, tool агента та сервіс керування; ваша конфігурація `browser.*` залишається недоторканою для заміни.
Для типових налаштувань потрібні і `plugins.entries.browser.enabled`, **і** `browser.enabled=true`. Якщо вимкнути лише Plugin, це прибере CLI `openclaw browser`, метод Gateway `browser.request`, інструмент агента та сервіс керування як єдине ціле; ваша конфігурація `browser.*` залишиться недоторканою для заміни.
Зміни конфігурації браузера потребують перезапуску Gateway, щоб Plugin міг повторно зареєструвати свій сервіс.
## Вказівки для агента
Browser Plugin постачається з двома рівнями вказівок для агента:
Plugin браузера постачається з двома рівнями вказівок для агента:
- Опис tool `browser` містить компактний завжди активний контракт: обрати
правильний профіль, тримати refs у межах тієї самої вкладки, використовувати `tabId`/мітки для
націлювання на вкладки та завантажувати browser skill для багатоетапної роботи.
- Вбудований skill `browser-automation` містить довший робочий цикл:
спочатку перевірити статус/вкладки, позначити мітками вкладки завдання, зробити snapshot перед дією,
повторно зробити snapshot після змін UI, один раз відновити stale refs і повідомити про блокування через login/2FA/captcha або
camera/microphone як про ручну дію, а не вгадувати.
- Опис інструмента `browser` містить компактний, завжди активний контракт: вибирати
правильний профіль, зберігати refs у межах тієї самої вкладки, використовувати `tabId`/мітки для
націлювання на вкладки та завантажувати навик браузера для багатокрокової роботи.
- Вбудований навик `browser-automation` містить довший робочий цикл:
спочатку перевіряти статус/вкладки, позначати вкладки завдання, робити snapshot перед дією,
повторно робити snapshot після змін UI, один раз відновлювати stale refs і повідомляти про блокування через login/2FA/captcha або
camera/microphone як про ручну дію замість здогадок.
Skills, вбудовані в Plugin, перелічуються в доступних Skills агента, коли
Plugin увімкнено. Повні інструкції skill завантажуються на вимогу, тому звичайні
Навички, вбудовані в Plugin, перелічуються в доступних навичках агента, коли
Plugin увімкнено. Повні інструкції навику завантажуються на вимогу, тому звичайні
ходи не сплачують повну вартість у токенах.
## Відсутня команда або tool браузера
## Відсутня команда браузера або інструмент
Якщо `openclaw browser` невідомий після оновлення, `browser.request` відсутній або агент повідомляє, що browser tool недоступний, типовою причиною є список `plugins.allow`, у якому відсутній `browser`. Додайте його:
Якщо після оновлення `openclaw browser` невідома, `browser.request` відсутній або агент повідомляє, що інструмент браузера недоступний, звичайною причиною є список `plugins.allow`, у якому немає `browser`. Додайте його:
```json5
{
@ -101,47 +101,46 @@ Plugin увімкнено. Повні інструкції skill заванта
}
```
`browser.enabled=true`, `plugins.entries.browser.enabled=true` і `tools.alsoAllow: ["browser"]` не замінюють членство в allowlist — allowlist керує завантаженням Plugin, а політика tool починає діяти лише після завантаження. Повне видалення `plugins.allow` також відновлює типову поведінку.
`browser.enabled=true`, `plugins.entries.browser.enabled=true` і `tools.alsoAllow: ["browser"]` не замінюють членство в allowlist — allowlist керує завантаженням Plugin, а політика інструментів застосовується лише після завантаження. Видалення `plugins.allow` повністю також відновлює типову поведінку.
## Профілі: `openclaw` і `user`
## Профілі: `openclaw` проти `user`
- `openclaw`: керований, ізольований браузер (розширення не потрібне).
- `user`: вбудований профіль під’єднання Chrome MCP до вашого **справжнього Chrome**
із виконаним входом.
- `user`: вбудований профіль підключення Chrome MCP до вашої **справжньої авторизованої сесії Chrome**.
Для викликів tool браузера агентом:
Для викликів інструмента браузера агентом:
- За замовчуванням: використовувати ізольований браузер `openclaw`.
- Віддавайте перевагу `profile="user"`, коли важливі наявні сеанси з виконаним входом і користувач
перебуває за комп’ютером, щоб натиснути/підтвердити будь-який запит на під’єднання.
- `profile` — це явне перевизначення, коли ви хочете конкретний режим браузера.
- Типово: використовуйте ізольований браузер `openclaw`.
- Віддавайте перевагу `profile="user"`, коли важливі наявні авторизовані сесії і користувач
перебуває за комп’ютером, щоб натиснути/підтвердити будь-який запит на підключення.
- `profile` — це явне перевизначення, коли вам потрібен конкретний режим браузера.
Установіть `browser.defaultProfile: "openclaw"`, якщо хочете, щоб керований режим був типовим.
## Конфігурація
Налаштування браузера зберігаються в `~/.openclaw/openclaw.json`.
Налаштування браузера розташовані в `~/.openclaw/openclaw.json`.
```json5
{
browser: {
enabled: true, // default: true
enabled: true, // типово: true
ssrfPolicy: {
// dangerouslyAllowPrivateNetwork: true, // opt in only for trusted private-network access
// allowPrivateNetwork: true, // legacy alias
// dangerouslyAllowPrivateNetwork: true, // вмикайте лише для довіреного доступу до приватної мережі
// allowPrivateNetwork: true, // застарілий псевдонім
// hostnameAllowlist: ["*.example.com", "example.com"],
// allowedHostnames: ["localhost"],
},
// cdpUrl: "http://127.0.0.1:18792", // legacy single-profile override
remoteCdpTimeoutMs: 1500, // remote CDP HTTP timeout (ms)
remoteCdpHandshakeTimeoutMs: 3000, // remote CDP WebSocket handshake timeout (ms)
localLaunchTimeoutMs: 15000, // local managed Chrome discovery timeout (ms)
localCdpReadyTimeoutMs: 8000, // local managed post-launch CDP readiness timeout (ms)
actionTimeoutMs: 60000, // default browser act timeout (ms)
// cdpUrl: "http://127.0.0.1:18792", // застаріле перевизначення одного профілю
remoteCdpTimeoutMs: 1500, // тайм-аут HTTP віддаленого CDP (мс)
remoteCdpHandshakeTimeoutMs: 3000, // тайм-аут рукостискання WebSocket віддаленого CDP (мс)
localLaunchTimeoutMs: 15000, // тайм-аут виявлення локального керованого Chrome (мс)
localCdpReadyTimeoutMs: 8000, // тайм-аут готовності локального керованого CDP після запуску (мс)
actionTimeoutMs: 60000, // типовий тайм-аут дії браузера (мс)
tabCleanup: {
enabled: true, // default: true
idleMinutes: 120, // set 0 to disable idle cleanup
maxTabsPerSession: 8, // set 0 to disable the per-session cap
enabled: true, // типово: true
idleMinutes: 120, // установіть 0, щоб вимкнути очищення неактивних вкладок
maxTabsPerSession: 8, // установіть 0, щоб вимкнути обмеження на сесію
sweepMinutes: 5,
},
defaultProfile: "openclaw",
@ -179,64 +178,64 @@ Plugin увімкнено. Повні інструкції skill заванта
<Accordion title="Порти та доступність">
- Сервіс керування прив’язується до loopback на порту, похідному від `gateway.port` (типово `18791` = gateway + 2). Перевизначення `gateway.port` або `OPENCLAW_GATEWAY_PORT` зсуває похідні порти в тій самій групі.
- Локальні профілі `openclaw` автоматично призначають `cdpPort`/`cdpUrl`; задавайте їх лише для віддаленого CDP. Якщо `cdpUrl` не вказано, типово використовується керований локальний порт CDP.
- `remoteCdpTimeoutMs` застосовується до перевірок доступності HTTP віддаленого (не-loopback) CDP; `remoteCdpHandshakeTimeoutMs` застосовується до WebSocket-handshake віддаленого CDP.
- `localLaunchTimeoutMs` — це бюджет часу, за який локально запущений керований процес Chrome
має відкрити свій endpoint CDP HTTP. `localCdpReadyTimeoutMs` — це
подальший бюджет часу на готовність websocket CDP після виявлення процесу.
Збільшуйте ці значення на Raspberry Pi, дешевих VPS або старішому обладнанні, де Chromium
- Сервіс керування прив’язується до loopback на порту, похідному від `gateway.port` (типово `18791` = Gateway + 2). Перевизначення `gateway.port` або `OPENCLAW_GATEWAY_PORT` зміщує похідні порти в тій самій групі.
- Локальні профілі `openclaw` автоматично призначають `cdpPort`/`cdpUrl`; задавайте їх лише для віддаленого CDP. Якщо `cdpUrl` не вказано, типово використовується локальний керований порт CDP.
- `remoteCdpTimeoutMs` застосовується до перевірок HTTP-доступності віддаленого (не loopback) CDP; `remoteCdpHandshakeTimeoutMs` застосовується до рукостискань WebSocket віддаленого CDP.
- `localLaunchTimeoutMs` — це бюджет часу для того, щоб локально запущений керований процес Chrome
відкрив свою HTTP-адресу CDP. `localCdpReadyTimeoutMs` — це
наступний бюджет часу для готовності websocket CDP після виявлення процесу.
Збільшуйте ці значення на Raspberry Pi, бюджетних VPS або старішому обладнанні, де Chromium
запускається повільно. Значення обмежені 120000 мс.
- `actionTimeoutMs` — це типовий бюджет часу для запитів browser `act`, коли виклик не передає `timeoutMs`. Клієнтський транспорт додає невелике додаткове вікно, щоб довгі очікування могли завершитися, а не обривалися на межі HTTP.
- `tabCleanup` — це best-effort очищення вкладок, відкритих основними сеансами браузера агента. Підлеглий агент, Cron і очищення життєвого циклу ACP як і раніше закривають свої явно відстежувані вкладки в кінці сеансу; основні сеанси зберігають активні вкладки придатними до повторного використання, а потім у фоновому режимі закривають неактивні або зайві відстежувані вкладки.
- `actionTimeoutMs` — це типовий бюджет часу для запитів браузера `act`, коли викликач не передає `timeoutMs`. Транспорт клієнта додає невелике додаткове вікно, щоб довгі очікування могли завершитися, а не обриватися на межі HTTP через тайм-аут.
- `tabCleanup` — це best-effort очищення вкладок, відкритих основними сесіями браузера агента. Очищення життєвого циклу Subagent, Cron і ACP усе ще закриває їхні явно відстежувані вкладки наприкінці сесії; основні сесії зберігають активні вкладки доступними для повторного використання, а потім у фоновому режимі закривають неактивні або зайві відстежувані вкладки.
</Accordion>
<Accordion title="Політика SSRF">
- Навігація браузера та open-tab захищені від SSRF перед навігацією, а потім URL `http(s)` у фінальному стані повторно перевіряється в режимі best-effort.
- У строгому режимі SSRF також перевіряються виявлення віддаленого endpoint CDP і запити `/json/version` (`cdpUrl`).
- Змінні середовища Gateway/provider `HTTP_PROXY`, `HTTPS_PROXY`, `ALL_PROXY` і `NO_PROXY` не проксіюють автоматично браузер, яким керує OpenClaw. Керований Chrome за замовчуванням запускається напряму, щоб налаштування проксі provider не послаблювали перевірки SSRF браузера.
- Щоб проксіювати сам керований браузер, передайте явні proxy-прапорці Chrome через `browser.extraArgs`, наприклад `--proxy-server=...` або `--proxy-pac-url=...`. Строгий режим SSRF блокує явну маршрутизацію браузера через proxy, якщо доступ браузера до приватної мережі не ввімкнено навмисно.
- `browser.ssrfPolicy.dangerouslyAllowPrivateNetwork` вимкнено за замовчуванням; вмикайте лише тоді, коли доступ браузера до приватної мережі є свідомо довіреним.
- Навігація браузера та open-tab захищені від SSRF перед навігацією, а після цього проходять повторну best-effort перевірку на фінальному URL `http(s)`.
- У суворому режимі SSRF також перевіряються виявлення віддалених кінцевих точок CDP і запити `/json/version` (`cdpUrl`).
- Змінні середовища Gateway/provider `HTTP_PROXY`, `HTTPS_PROXY`, `ALL_PROXY` і `NO_PROXY` не проксіюють автоматично браузер під керуванням OpenClaw. Керований Chrome типово запускається напряму, тому налаштування проксі provider не послаблюють перевірки SSRF браузера.
- Щоб проксіювати сам керований браузер, передайте явні прапорці проксі Chrome через `browser.extraArgs`, наприклад `--proxy-server=...` або `--proxy-pac-url=...`. Суворий режим SSRF блокує явну маршрутизацію браузерного проксі, якщо доступ браузера до приватної мережі не був навмисно ввімкнений.
- `browser.ssrfPolicy.dangerouslyAllowPrivateNetwork` типово вимкнено; вмикайте лише тоді, коли доступ браузера до приватної мережі навмисно вважається довіреним.
- `browser.ssrfPolicy.allowPrivateNetwork` і далі підтримується як застарілий псевдонім.
</Accordion>
<Accordion title="Поведінка профілю">
<Accordion title="Поведінка профілів">
- `attachOnly: true` означає ніколи не запускати локальний браузер; лише під’єднуватися, якщо він уже працює.
- `headless` можна задавати глобально або для окремого локального керованого профілю. Значення для профілю мають вищий пріоритет над `browser.headless`, тому один локально запущений профіль може залишатися headless, тоді як інший буде видимим.
- `attachOnly: true` означає ніколи не запускати локальний браузер; лише підключатися, якщо він уже запущений.
- `headless` можна задавати глобально або для кожного локального керованого профілю. Значення для конкретного профілю мають пріоритет над `browser.headless`, тому один локально запущений профіль може залишатися headless, тоді як інший буде видимим.
- `POST /start?headless=true` і `openclaw browser start --headless` запитують
одноразовий запуск у режимі headless для локальних керованих профілів без переписування
`browser.headless` або конфігурації профілю. Профілі existing-session, attach-only і
віддаленого CDP відхиляють це перевизначення, оскільки OpenClaw не запускає ці
remote CDP відхиляють це перевизначення, оскільки OpenClaw не запускає ці
процеси браузера.
- На хостах Linux без `DISPLAY` або `WAYLAND_DISPLAY` локальні керовані профілі
автоматично типово працюють у режимі headless, коли ні середовище, ні конфігурація профілю/глобальна
конфігурація явно не вибирають режим із вікном. `openclaw browser status --json`
- На Linux-хостах без `DISPLAY` або `WAYLAND_DISPLAY` локальні керовані профілі
типово автоматично переходять у headless, якщо ні середовище, ні конфігурація профілю/глобальна
конфігурація явно не вибирають видимий режим. `openclaw browser status --json`
повідомляє `headlessSource` як `env`, `profile`, `config`,
`request`, `linux-display-fallback` або `default`.
- `OPENCLAW_BROWSER_HEADLESS=1` примусово вмикає headless для локальних керованих запусків у
поточному процесі. `OPENCLAW_BROWSER_HEADLESS=0` примусово вмикає режим із вікном для звичайних
запусків і повертає практичну помилку на хостах Linux без сервера дисплея;
- `OPENCLAW_BROWSER_HEADLESS=1` примусово запускає локальні керовані профілі в режимі headless для
поточного процесу. `OPENCLAW_BROWSER_HEADLESS=0` примусово вмикає видимий режим для звичайних
запусків і повертає зрозумілу помилку на Linux-хостах без display server;
явний запит `start --headless` усе одно має пріоритет для цього одного запуску.
- `executablePath` можна задавати глобально або для окремого локального керованого профілю. Значення для профілю мають вищий пріоритет над `browser.executablePath`, тому різні керовані профілі можуть запускати різні браузери на базі Chromium.
- `color` (верхній рівень і рівень профілю) тонують UI браузера, щоб ви бачили, який профіль активний.
- Профіль за замовчуванням — `openclaw` (керований автономний). Використайте `defaultProfile: "user"`, щоб за замовчуванням увімкнути браузер користувача з виконаним входом.
- Порядок автовизначення: системний браузер за замовчуванням, якщо він на базі Chromium; інакше Chrome → Brave → Edge → Chromium → Chrome Canary.
- `driver: "existing-session"` використовує Chrome DevTools MCP замість raw CDP. Не задавайте `cdpUrl` для цього driver.
- Установіть `browser.profiles.<name>.userDataDir`, коли профіль existing-session має під’єднуватися до нестандартного користувацького профілю Chromium (Brave, Edge тощо).
- `executablePath` можна задавати глобально або для кожного локального керованого профілю. Значення для конкретного профілю мають пріоритет над `browser.executablePath`, тому різні керовані профілі можуть запускати різні браузери на основі Chromium.
- `color` (на верхньому рівні та для кожного профілю) тонує UI браузера, щоб ви могли бачити, який профіль активний.
- Типовий профіль — `openclaw` (керований окремий). Використовуйте `defaultProfile: "user"`, щоб перейти на авторизований браузер користувача.
- Порядок автовиявлення: системний типовий браузер, якщо він на основі Chromium; інакше Chrome → Brave → Edge → Chromium → Chrome Canary.
- `driver: "existing-session"` використовує Chrome DevTools MCP замість сирого CDP. Не встановлюйте `cdpUrl` для цього driver.
- Установіть `browser.profiles.<name>.userDataDir`, коли профіль existing-session має підключатися до нетипового профілю користувача Chromium (Brave, Edge тощо).
</Accordion>
</AccordionGroup>
## Використання Brave (або іншого браузера на базі Chromium)
## Використання Brave (або іншого браузера на основі Chromium)
Якщо вашим **системним браузером за замовчуванням** є браузер на базі Chromium (Chrome/Brave/Edge тощо),
Якщо ваш **системний типовий** браузер працює на основі Chromium (Chrome/Brave/Edge тощо),
OpenClaw використовує його автоматично. Установіть `browser.executablePath`, щоб перевизначити
автовизначення. `~` розгортається до домашнього каталогу вашої ОС:
автовиявлення. `~` розгортається до домашнього каталогу вашої ОС:
```bash
openclaw config set browser.executablePath "/usr/bin/google-chrome"
@ -275,61 +274,61 @@ openclaw config set browser.profiles.work.executablePath "/Applications/Google C
</Tab>
</Tabs>
`executablePath` для окремого профілю впливає лише на локальні керовані профілі, які OpenClaw
запускає сам. Профілі `existing-session` натомість під’єднуються до вже запущеного браузера,
а профілі віддаленого CDP використовують браузер, який стоїть за `cdpUrl`.
`executablePath` для конкретного профілю впливає лише на локальні керовані профілі, які запускає OpenClaw.
Профілі `existing-session` натомість підключаються до вже запущеного браузера,
а профілі remote CDP використовують браузер, який стоїть за `cdpUrl`.
## Локальне й віддалене керування
## Локальне та віддалене керування
- **Локальне керування (за замовчуванням):** Gateway запускає loopback-сервіс керування й може запускати локальний браузер.
- **Віддалене керування (host Node):** запустіть host Node на машині, де є браузер; Gateway проксіює до нього дії браузера.
- **Віддалений CDP:** установіть `browser.profiles.<name>.cdpUrl` (або `browser.cdpUrl`), щоб
під’єднатися до віддаленого браузера на базі Chromium. У такому разі OpenClaw не запускатиме локальний браузер.
- `headless` впливає лише на локальні керовані профілі, які запускає OpenClaw. Він не перезапускає й не змінює браузери `existing-session` або віддаленого CDP.
- `executablePath` підпорядковується тому самому правилу локального керованого профілю. Його зміна для
запущеного локального керованого профілю позначає цей профіль для restart/reconcile, щоб
наступний запуск використовував новий двійковий файл.
- **Локальне керування (типово):** Gateway запускає loopback-сервіс керування і може запускати локальний браузер.
- **Віддалене керування (вузол-хост):** запустіть вузол-хост на машині, де є браузер; Gateway проксіюватиме до нього дії браузера.
- **Remote CDP:** установіть `browser.profiles.<name>.cdpUrl` (або `browser.cdpUrl`), щоб
підключитися до віддаленого браузера на основі Chromium. У цьому випадку OpenClaw не запускатиме локальний браузер.
- `headless` впливає лише на локальні керовані профілі, які запускає OpenClaw. Це не перезапускає і не змінює браузери existing-session або remote CDP.
- `executablePath` підпорядковується тому самому правилу локальних керованих профілів. Його зміна для
запущеного локального керованого профілю позначає цей профіль для перезапуску/узгодження, щоб
наступний запуск використовував новий бінарний файл.
Поведінка зупинки відрізняється залежно від режиму профілю:
- локальні керовані профілі: `openclaw browser stop` зупиняє процес браузера, який
запустив OpenClaw
- профілі attach-only і віддаленого CDP: `openclaw browser stop` закриває активний
сеанс керування та скидає перевизначення емуляції Playwright/CDP (viewport,
- профілі attach-only і remote CDP: `openclaw browser stop` закриває активну
сесію керування та скидає перевизначення емуляції Playwright/CDP (viewport,
color scheme, locale, timezone, offline mode та подібний стан), навіть
якщо OpenClaw не запускав жодного процесу браузера
URL віддаленого CDP можуть містити автентифікацію:
- query-токени (наприклад, `https://provider.example?token=<token>`)
- Токени запиту (наприклад, `https://provider.example?token=<token>`)
- HTTP Basic auth (наприклад, `https://user:pass@provider.example`)
OpenClaw зберігає ці дані автентифікації під час виклику endpoint `\/json/*` і під час підключення
до WebSocket CDP. Для токенів віддавайте перевагу змінним середовища або менеджерам секретів замість
OpenClaw зберігає автентифікаційні дані під час викликів кінцевих точок `/json/*` і під час підключення
до WebSocket CDP. Для токенів краще використовувати змінні середовища або менеджери секретів замість
запису їх у файли конфігурації.
## Node browser proxy (zero-config за замовчуванням)
## Проксі браузера вузла (типово без конфігурації)
Якщо ви запускаєте **host Node** на машині, де є ваш браузер, OpenClaw може
автоматично маршрутизувати виклики browser tool до цього Node без жодної додаткової конфігурації браузера.
Це типовий шлях для віддалених gateway.
Якщо ви запускаєте **вузол-хост** на машині, де є ваш браузер, OpenClaw може
автоматично спрямовувати виклики інструмента браузера до цього вузла без додаткової конфігурації браузера.
Це типовий шлях для віддалених Gateway.
Примітки:
- Host Node надає свій локальний сервер керування браузером через **proxy command**.
- Профілі беруться з власної конфігурації `browser.profiles` вузла (так само, як і локально).
- `nodeHost.browserProxy.allowProfiles` необов’язковий. Залиште його порожнім для legacy/типової поведінки: усі налаштовані профілі залишаються доступними через proxy, включно з маршрутами create/delete профілів.
- Якщо ви задаєте `nodeHost.browserProxy.allowProfiles`, OpenClaw розглядає це як межу найменших привілеїв: націлюватися можна лише на профілі з allowlist, а маршрути create/delete постійних профілів блокуються на поверхні proxy.
- Вимкніть це, якщо не хочете використовувати:
- На Node: `nodeHost.browserProxy.enabled=false`
- На gateway: `gateway.nodes.browser.mode="off"`
- Вузол-хост надає свій локальний сервер керування браузером через **proxy command**.
- Профілі беруться з власної конфігурації `browser.profiles` вузла (так само, як локально).
- `nodeHost.browserProxy.allowProfiles` необов’язковий. Залиште його порожнім для застарілої/типової поведінки: усі налаштовані профілі залишаються доступними через проксі, включно з маршрутами створення/видалення профілів.
- Якщо ви задаєте `nodeHost.browserProxy.allowProfiles`, OpenClaw трактує це як межу найменших привілеїв: можна звертатися лише до профілів з allowlist, а маршрути створення/видалення постійних профілів блокуються на поверхні проксі.
- Вимкніть це, якщо воно вам не потрібне:
- На вузлі: `nodeHost.browserProxy.enabled=false`
- На Gateway: `gateway.nodes.browser.mode="off"`
## Browserless (hosted remote CDP)
## Browserless (хостинговий remote CDP)
[Browserless](https://browserless.io) — це hosted-сервіс Chromium, який надає
URL підключення CDP через HTTPS і WebSocket. OpenClaw може використовувати будь-яку форму, але
для профілю віддаленого браузера найпростішим варіантом є прямий URL WebSocket
із документації Browserless щодо підключення.
[Browserless](https://browserless.io) — це хостинговий сервіс Chromium, який надає
URL підключення CDP через HTTPS і WebSocket. OpenClaw може використовувати будь-який із цих форматів, але
для віддаленого профілю браузера найпростішим варіантом є прямий URL WebSocket
з документації з підключення Browserless.
Приклад:
@ -353,39 +352,39 @@ URL підключення CDP через HTTPS і WebSocket. OpenClaw може
Примітки:
- Замініть `<BROWSERLESS_API_KEY>` на ваш справжній токен Browserless.
- Виберіть endpoint регіону, який відповідає вашому обліковому запису Browserless (див. їхню документацію).
- Виберіть кінцеву точку регіону, яка відповідає вашому обліковому запису Browserless (див. їхню документацію).
- Якщо Browserless надає вам базовий URL HTTPS, ви можете або перетворити його на
`wss://` для прямого підключення CDP, або залишити URL HTTPS і дозволити OpenClaw
виявити `/json/version`.
## Провайдери прямого WebSocket CDP
Деякі hosted-сервіси браузера надають **прямий endpoint WebSocket** замість
стандартного HTTP-виявлення CDP (`/json/version`). OpenClaw приймає три форми
URL CDP і автоматично вибирає правильну стратегію підключення:
Деякі хостингові сервіси браузерів надають **пряму кінцеву точку WebSocket** замість
стандартного виявлення CDP на основі HTTP (`/json/version`). OpenClaw приймає три
форми URL CDP і автоматично вибирає правильну стратегію підключення:
- **HTTP(S)-виявлення** — `http://host[:port]` або `https://host[:port]`.
OpenClaw викликає `/json/version`, щоб виявити URL WebSocket debugger, а потім
підключається. Резервного переходу на WebSocket немає.
- **Прямі endpoints WebSocket** — `ws://host[:port]/devtools/<kind>/<id>` або
- **HTTP(S) discovery** — `http://host[:port]` або `https://host[:port]`.
OpenClaw викликає `/json/version`, щоб виявити URL debugger WebSocket, а потім
підключається. Без fallback на WebSocket.
- **Прямі кінцеві точки WebSocket** — `ws://host[:port]/devtools/<kind>/<id>` або
`wss://...` зі шляхом `/devtools/browser|page|worker|shared_worker|service_worker/<id>`.
OpenClaw підключається безпосередньо через WebSocket-handshake і повністю пропускає
OpenClaw підключається напряму через рукостискання WebSocket і повністю пропускає
`/json/version`.
- **Кореневі WebSocket без шляху** — `ws://host[:port]` або `wss://host[:port]` без
- **Корені bare WebSocket** — `ws://host[:port]` або `wss://host[:port]` без
шляху `/devtools/...` (наприклад, [Browserless](https://browserless.io),
[Browserbase](https://www.browserbase.com)). OpenClaw спочатку пробує
HTTP-виявлення `/json/version` (нормалізуючи схему до `http`/`https`);
якщо в результаті виявлення повертається `webSocketDebuggerUrl`, він використовується, інакше OpenClaw
переходить до прямого WebSocket-handshake на корені без шляху. Це дає змогу
підключатися й для простого `ws://`, спрямованого на локальний Chrome, оскільки Chrome лише
приймає WebSocket upgrades на конкретному шляху для цілі з
[Browserbase](https://www.browserbase.com)). OpenClaw спочатку намагається виконати HTTP
виявлення через `/json/version` (нормалізуючи схему до `http`/`https`);
якщо виявлення повертає `webSocketDebuggerUrl`, він використовується, інакше OpenClaw
переходить до прямого рукостискання WebSocket на bare-корені. Це дозволяє
bare `ws://`, спрямованому на локальний Chrome, усе одно підключатися, оскільки Chrome
приймає оновлення WebSocket лише на конкретному шляху для цілі з
`/json/version`.
### Browserbase
[Browserbase](https://www.browserbase.com) — це хмарна платформа для запуску
браузерів у режимі headless із вбудованим розв’язанням CAPTCHA, stealth mode і residential
proxy.
headless-браузерів із вбудованим розв’язанням CAPTCHA, stealth mode і резидентними
проксі.
```json5
{
@ -408,13 +407,12 @@ proxy.
- [Зареєструйтеся](https://www.browserbase.com/sign-up) і скопіюйте свій **API Key**
з [панелі Overview](https://www.browserbase.com/overview).
- Замініть `<BROWSERBASE_API_KEY>` на ваш справжній API-ключ Browserbase.
- Browserbase автоматично створює сеанс браузера під час підключення WebSocket, тож
ручний крок створення сеансу не потрібен.
- Безкоштовний тариф дозволяє один одночасний сеанс і одну browser hour на місяць.
Див. [pricing](https://www.browserbase.com/pricing) щодо обмежень платних планів.
- Див. [документацію Browserbase](https://docs.browserbase.com) для повного
довідника API, посібників із SDK та прикладів інтеграції.
- Замініть `<BROWSERBASE_API_KEY>` на ваш справжній API key Browserbase.
- Browserbase автоматично створює сесію браузера під час підключення WebSocket, тому
окремий крок ручного створення сесії не потрібен.
- Безкоштовний тариф дозволяє одну одночасну сесію та одну браузерну годину на місяць.
Обмеження платних тарифів дивіться в [pricing](https://www.browserbase.com/pricing).
- Повний довідник API, посібники з SDK та приклади інтеграції дивіться в [документації Browserbase](https://docs.browserbase.com).
## Безпека
@ -422,47 +420,47 @@ proxy.
- Керування браузером доступне лише через loopback; доступ проходить через автентифікацію Gateway або pairing вузла.
- Окремий loopback HTTP API браузера використовує **лише автентифікацію через shared-secret**:
bearer auth із токеном gateway, `x-openclaw-password` або HTTP Basic auth із
налаштованим паролем gateway.
bearer auth за токеном Gateway, `x-openclaw-password` або HTTP Basic auth із
налаштованим паролем Gateway.
- Заголовки ідентичності Tailscale Serve і `gateway.auth.mode: "trusted-proxy"`
**не** автентифікують цей окремий loopback API браузера.
- Якщо керування браузером увімкнено й не налаштовано жодної автентифікації через shared-secret, OpenClaw
автоматично генерує `gateway.auth.token` під час запуску й зберігає його в конфігурації.
- Якщо керування браузером увімкнено і не налаштовано жодної shared-secret auth, OpenClaw
автоматично генерує `gateway.auth.token` під час запуску та зберігає його в конфігурації.
- OpenClaw **не** генерує цей токен автоматично, якщо `gateway.auth.mode` уже має значення
`password`, `none` або `trusted-proxy`.
- Тримайте Gateway і будь-які host Node у приватній мережі (Tailscale); уникайте публічного доступу.
- Ставтеся до URL/токенів віддаленого CDP як до секретів; віддавайте перевагу env vars або менеджеру секретів.
- Тримайте Gateway і будь-які вузли-хости в приватній мережі (Tailscale); уникайте публічного доступу.
- Вважайте URL/токени remote CDP секретами; надавайте перевагу змінним середовища або менеджеру секретів.
Поради щодо віддаленого CDP:
Поради щодо remote CDP:
- За можливості віддавайте перевагу зашифрованим endpoint (`HTTPS` або `WSS`) і токенам із коротким строком дії.
- Уникайте вбудовування токенів із довгим строком дії безпосередньо у файли конфігурації.
- За можливості віддавайте перевагу зашифрованим кінцевим точкам (HTTPS або WSS) і короткоживучим токенам.
- Уникайте вбудовування довгоживучих токенів безпосередньо у файли конфігурації.
## Профілі (кілька браузерів)
OpenClaw підтримує кілька іменованих профілів (конфігурацій маршрутизації). Профілі можуть бути:
- **керованими OpenClaw**: виділений екземпляр браузера на базі Chromium із власним каталогом користувацьких даних + портом CDP
- **віддаленими**: явний URL CDP (браузер на базі Chromium, запущений деінде)
- **наявним сеансом**: ваш наявний профіль Chrome через автопідключення Chrome DevTools MCP
- **під керуванням OpenClaw**: окремий екземпляр браузера на основі Chromium із власним каталогом даних користувача + портом CDP
- **віддалені**: явний URL CDP (браузер на основі Chromium запущено деінде)
- **наявна сесія**: ваш наявний профіль Chrome через автопідключення Chrome DevTools MCP
Типова поведінка:
Типові значення:
- Профіль `openclaw` створюється автоматично, якщо відсутній.
- Профіль `user` вбудований для attach до наявного сеансу Chrome MCP.
- Профілі existing-session, крім `user`, вмикаються лише явно; створюйте їх через `--driver existing-session`.
- Профіль `user` вбудований для підключення existing-session через Chrome MCP.
- Профілі existing-session, окрім `user`, вмикаються лише явно; створюйте їх через `--driver existing-session`.
- Локальні порти CDP типово виділяються з діапазону **1880018899**.
- Видалення профілю переміщує його локальний каталог даних до Trash.
Усі endpoints керування приймають `?profile=<name>`; CLI використовує `--browser-profile`.
Усі кінцеві точки керування приймають `?profile=<name>`; CLI використовує `--browser-profile`.
## Наявний сеанс через Chrome DevTools MCP
## Наявна сесія через 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)
- [Chrome DevTools MCP README](https://github.com/ChromeDevTools/chrome-devtools-mcp)
@ -498,17 +496,17 @@ OpenClaw також може під’єднуватися до запущено
Потім у відповідному браузері:
1. Відкрийте сторінку inspect цього браузера для віддаленого налагодження.
2. Увімкніть віддалене налагодження.
3. Залиште браузер запущеним і підтвердьте запит на підключення, коли OpenClaw приєднається.
1. Відкрийте сторінку inspect цього браузера для remote debugging.
2. Увімкніть remote debugging.
3. Не закривайте браузер і підтвердьте запит на підключення, коли OpenClaw приєднається.
Типові сторінки inspect:
Поширені сторінки inspect:
- Chrome: `chrome://inspect/#remote-debugging`
- Brave: `brave://inspect/#remote-debugging`
- Edge: `edge://inspect/#remote-debugging`
Smoke-тест live attach:
Живий smoke test підключення:
```bash
openclaw browser --browser-profile user start
@ -517,60 +515,82 @@ 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 із вибраної live-вкладки
- `tabs` перелічує вже відкриті вкладки вашого браузера
- `snapshot` повертає refs із вибраної живої вкладки
Що перевірити, якщо підключення не працює:
- цільовий браузер на базі Chromium має версію `144+`
- у сторінці inspect цього браузера увімкнено віддалене налагодження
- браузер показав запит на згоду для підключення, і ви його підтвердили
- `openclaw doctor` мігрує стару конфігурацію браузера на основі розширення й перевіряє, що
Chrome локально встановлений для типових профілів автопідключення, але він не може
увімкнути віддалене налагодження на боці браузера за вас
- цільовий браузер на основі Chromium має версію `144+`
- remote debugging увімкнено на сторінці inspect цього браузера
- браузер показав запит на згоду на підключення, і ви його прийняли
- `openclaw doctor` мігрує стару конфігурацію браузера на основі розширення і перевіряє,
що Chrome локально встановлено для типових профілів автопідключення, але він не може
увімкнути remote debugging у браузері замість вас
Використання агентом:
- Використовуйте `profile="user"`, коли вам потрібен браузер користувача зі станом входу.
- Використовуйте `profile="user"`, коли вам потрібен стан авторизованого браузера користувача.
- Якщо ви використовуєте власний профіль existing-session, передайте явну назву цього профілю.
- Вибирайте цей режим лише тоді, коли користувач перебуває за комп’ютером, щоб підтвердити запит
на підключення.
- Gateway або host Node може запускати `npx chrome-devtools-mcp@latest --autoConnect`
- Вибирайте цей режим лише тоді, коли користувач перебуває за комп’ютером, щоб підтвердити
запит на підключення.
- Gateway або вузол-хост може запускати `npx chrome-devtools-mcp@latest --autoConnect`
Примітки:
- Цей шлях має вищий ризик, ніж ізольований профіль `openclaw`, оскільки він може
виконувати дії у вашому браузері з виконаним входом.
- OpenClaw не запускає браузер для цього driver; він лише під’єднується.
виконувати дії у вашій авторизованій сесії браузера.
- OpenClaw не запускає браузер для цього driver; він лише підключається.
- Тут OpenClaw використовує офіційний потік Chrome DevTools MCP `--autoConnect`. Якщо
задано `userDataDir`, його буде передано далі для націлювання на цей каталог користувацьких даних.
- Existing-session може під’єднуватися на вибраному host або через підключений
browser Node. Якщо Chrome розташований деінде й не підключено browser Node, використовуйте
натомість віддалений CDP або host Node.
задано `userDataDir`, його буде передано далі для націлювання на цей каталог даних користувача.
- Existing-session може підключатися на вибраному хості або через підключений
browser Node. Якщо Chrome розташований деінде і жоден browser Node не підключено, використовуйте
remote CDP або вузол-хост натомість.
<Accordion title="Обмеження функцій existing-session">
### Власний запуск Chrome MCP
Перевизначте сервер Chrome DevTools MCP, який запускається для конкретного профілю, коли типовий
потік `npx chrome-devtools-mcp@latest` вам не підходить (офлайн-хости,
закріплені версії, вендорні бінарні файли):
| Поле | Що воно робить |
| ------------ | -------------------------------------------------------------------------------------------------------------------------- |
| `mcpCommand` | Виконуваний файл, який запускати замість `npx`. Розв’язується як є; абсолютні шляхи підтримуються. |
| `mcpArgs` | Масив аргументів, який без змін передається до `mcpCommand`. Замінює типові аргументи `chrome-devtools-mcp@latest --autoConnect`. |
Коли для профілю existing-session задано `cdpUrl`, OpenClaw пропускає
`--autoConnect` і автоматично передає кінцеву точку до Chrome MCP:
- `http(s)://...``--browserUrl <url>` (кінцева точка HTTP discovery DevTools).
- `ws(s)://...``--wsEndpoint <url>` (прямий WebSocket CDP).
Прапорці кінцевої точки та `userDataDir` не можна поєднувати: коли задано `cdpUrl`,
`userDataDir` ігнорується під час запуску Chrome MCP, оскільки Chrome MCP підключається до
запущеного браузера за цією кінцевою точкою, а не відкриває каталог
профілю.
<Accordion title="Обмеження можливостей existing-session">
Порівняно з керованим профілем `openclaw`, драйвери existing-session мають більше обмежень:
- **Знімки екрана** — працюють захоплення сторінки та захоплення елемента через `--ref`; CSS-селектори `--element` не працюють. `--full-page` не можна поєднувати з `--ref` або `--element`. Для знімків екрана сторінки або елемента за `ref` Playwright не потрібен.
- **Скриншоти** — знімки сторінки та знімки елементів через `--ref` працюють; CSS-селектори `--element` — ні. `--full-page` не можна поєднувати з `--ref` або `--element`. Playwright не потрібен для скриншотів сторінки або елементів на основі ref.
- **Дії**`click`, `type`, `hover`, `scrollIntoView`, `drag` і `select` потребують snapshot refs (без CSS-селекторів). `click-coords` натискає видимі координати viewport і не потребує snapshot ref. `click` підтримує лише ліву кнопку миші. `type` не підтримує `slowly=true`; використовуйте `fill` або `press`. `press` не підтримує `delayMs`. `type`, `hover`, `scrollIntoView`, `drag`, `select`, `fill` і `evaluate` не підтримують тайм-аути для окремих викликів. `select` приймає одне значення.
- **Очікування / завантаження файлу / діалог**`wait --url` підтримує точний збіг, підрядок і glob-шаблони; `wait --load networkidle` не підтримується. Hooks завантаження файлів потребують `ref` або `inputRef`, по одному файлу за раз, без CSS `element`. Hooks діалогів не підтримують перевизначення тайм-ауту.
- **Функції лише для керованого режиму** — пакетні дії, експорт PDF, перехоплення завантажень і `responsebody` як і раніше потребують шляху керованого браузера.
- **Очікування / завантаження файлів / діалогові вікна** — `wait --url` підтримує точний збіг, підрядок і glob-шаблони; `wait --load networkidle` не підтримується. Хуки завантаження файлів потребують `ref` або `inputRef`, по одному файлу за раз, без CSS `element`. Хуки діалогових вікон не підтримують перевизначення тайм-ауту.
- **Можливості лише для керованого режиму** — пакетні дії, експорт PDF, перехоплення завантажень і `responsebody` усе ще потребують шляху керованого браузера.
</Accordion>
## Гарантії ізоляції
- **Виділений каталог користувацьких даних**: ніколи не торкається профілю вашого особистого браузера.
- **Виділені порти**: уникає `9222`, щоб не створювати конфліктів із робочими процесами розробки.
- **Детерміноване керування вкладками**: `tabs` спочатку повертає `suggestedTargetId`, а потім
- **Окремий каталог даних користувача**: ніколи не взаємодіє з профілем вашого особистого браузера.
- **Окремі порти**: уникає `9222`, щоб не створювати конфліктів із робочими процесами розробки.
- **Детерміноване керування вкладками**: `tabs` спочатку повертає `suggestedTargetId`, потім
стабільні дескриптори `tabId`, такі як `t1`, необов’язкові мітки та сирий `targetId`.
Агенти мають повторно використовувати `suggestedTargetId`; сирі id залишаються доступними для
Агентам слід повторно використовувати `suggestedTargetId`; сирі id залишаються доступними для
налагодження та сумісності.
## Вибір браузера
@ -583,7 +603,7 @@ openclaw browser --browser-profile user snapshot --format ai
4. Chromium
5. Chrome Canary
Ви можете перевизначити це за допомогою `browser.executablePath`.
Ви можете перевизначити це через `browser.executablePath`.
Платформи:
@ -595,14 +615,14 @@ openclaw browser --browser-profile user snapshot --format ai
## API керування (необов’язково)
Для автоматизації сценаріями та налагодження Gateway надає невеликий **loopback-only HTTP
API керування** плюс відповідний CLI `openclaw browser` (snapshot, refs, можливості wait,
вивід JSON, робочі процеси налагодження). Див.
Для сценаріїв і налагодження Gateway надає невеликий **HTTP API керування
лише для loopback**, а також відповідний CLI `openclaw browser` (snapshots, refs, wait
power-ups, вивід JSON, робочі процеси налагодження). Див.
[API керування браузером](/uk/tools/browser-control) для повного довідника.
## Усунення несправностей
Щодо проблем, специфічних для Linux (особливо snap Chromium), див.
Для проблем, специфічних для Linux (особливо snap Chromium), див.
[Усунення несправностей браузера](/uk/tools/browser-linux-troubleshooting).
Для конфігурацій із розділеними хостами WSL2 Gateway + Windows Chrome див.
@ -613,15 +633,15 @@ API керування** плюс відповідний CLI `openclaw browser`
Це різні класи помилок, і вони вказують на різні шляхи коду.
- **Помилка запуску або готовності CDP** означає, що OpenClaw не може підтвердити, що площина керування браузером справна.
- **Блокування SSRF під час навігації** означає, що площина керування браузером справна, але ціль навігації сторінки відхиляється політикою.
- **Блокування SSRF під час навігації** означає, що площина керування браузером справна, але ціль переходу сторінки відхиляється політикою.
Типові приклади:
Поширені приклади:
- Помилка запуску або готовності CDP:
- `Chrome CDP websocket for profile "openclaw" is not reachable after start`
- `Remote CDP for profile "<name>" is not reachable at <cdpUrl>`
- Блокування SSRF під час навігації:
- потоки `open`, `navigate`, snapshot або відкриття вкладки завершуються помилкою політики браузера/мережі, тоді як `start` і `tabs` усе ще працюють
- потоки `open`, `navigate`, snapshot або відкриття вкладок завершуються з помилкою політики браузера/мережі, тоді як `start` і `tabs` усе ще працюють
Використайте цю мінімальну послідовність, щоб відрізнити одне від іншого:
@ -635,44 +655,44 @@ openclaw browser --browser-profile openclaw open https://example.com
- Якщо `start` завершується помилкою `not reachable after start`, спочатку усувайте проблему готовності CDP.
- Якщо `start` успішний, але `tabs` завершується помилкою, площина керування все ще несправна. Розглядайте це як проблему доступності CDP, а не проблему навігації сторінки.
- Якщо `start` і `tabs` успішні, але `open` або `navigate` завершується помилкою, площина керування браузером працює, а проблема в політиці навігації або цільовій сторінці.
- Якщо `start` і `tabs` успішні, але `open` або `navigate` завершуються помилкою, площина керування браузером працює, а збій пов’язаний із політикою навігації або цільовою сторінкою.
- Якщо `start`, `tabs` і `open` усі успішні, базовий шлях керування керованим браузером справний.
Важливі подробиці поведінки:
Важливі деталі поведінки:
- Конфігурація браузера за замовчуванням використовує fail-closed об’єкт політики SSRF, навіть якщо ви не налаштовуєте `browser.ssrfPolicy`.
- Для локального керованого профілю loopback `openclaw` перевірки справності CDP навмисно пропускають застосування доступності SSRF браузера для власної локальної площини керування OpenClaw.
- Захист навігації є окремим. Успішний результат `start` або `tabs` не означає, що пізніша ціль `open` або `navigate` буде дозволена.
- Конфігурація браузера типово використовує об’єкт політики SSRF fail-closed, навіть якщо ви не налаштовуєте `browser.ssrfPolicy`.
- Для локального керованого профілю loopback `openclaw` перевірки справності CDP навмисно пропускають застосування перевірок доступності SSRF браузера для власної локальної площини керування OpenClaw.
- Захист навігації є окремим. Успішний результат `start` або `tabs` не означає, що пізніша ціль `open` або `navigate` дозволена.
Вказівки з безпеки:
- **Не** послаблюйте політику SSRF браузера за замовчуванням.
- Віддавайте перевагу вузьким виняткам для host, таким як `hostnameAllowlist` або `allowedHostnames`, замість широкого доступу до приватної мережі.
- **Не** послаблюйте політику SSRF браузера типово.
- Віддавайте перевагу вузьким виняткам для хостів, таким як `hostnameAllowlist` або `allowedHostnames`, замість широкого доступу до приватної мережі.
- Використовуйте `dangerouslyAllowPrivateNetwork: true` лише в навмисно довірених середовищах, де доступ браузера до приватної мережі потрібен і перевірений.
## Tools агента + як працює керування
## Інструменти агента + як працює керування
Агент отримує **один tool** для автоматизації браузера:
Агент отримує **один інструмент** для автоматизації браузера:
- `browser` — doctor/status/start/stop/tabs/open/focus/close/snapshot/screenshot/navigate/act
Як це зіставляється:
Як це відображається:
- `browser snapshot` повертає стабільне дерево UI (AI або ARIA).
- `browser act` використовує ідентифікатори `ref` зі snapshot для click/type/drag/select.
- `browser screenshot` захоплює пікселі (повна сторінка, елемент або refs із мітками).
- `browser doctor` перевіряє готовність Gateway, Plugin, профілю, браузера та вкладки.
- `browser act` використовує ID `ref` зі snapshot для click/type/drag/select.
- `browser screenshot` захоплює пікселі (повна сторінка, елемент або позначені refs).
- `browser doctor` перевіряє готовність Gateway, Plugin, профілю, браузера і вкладки.
- `browser` приймає:
- `profile` для вибору іменованого профілю браузера (openclaw, chrome або remote CDP).
- `target` (`sandbox` | `host` | `node`) для вибору місця, де розташований браузер.
- У sandboxed sessions `target: "host"` потребує `agents.defaults.sandbox.browser.allowHostControl=true`.
- Якщо `target` не вказано: sandboxed sessions за замовчуванням використовують `sandbox`, а не-sandbox sessions`host`.
- Якщо підключено Node із підтримкою браузера, tool може автоматично маршрутизуватися до нього, якщо ви не зафіксуєте `target="host"` або `target="node"`.
- У sandboxed-сесіях `target: "host"` вимагає `agents.defaults.sandbox.browser.allowHostControl=true`.
- Якщо `target` не вказано: sandboxed-сесії типово використовують `sandbox`, несandbox-сесії`host`.
- Якщо підключено Node із підтримкою браузера, інструмент може автоматично маршрутизуватися до нього, якщо ви явно не зафіксуєте `target="host"` або `target="node"`.
Це зберігає детермінованість агента й дає змогу уникати крихких селекторів.
Це зберігає детермінованість агента та допомагає уникати крихких селекторів.
## Пов’язане
- [Огляд Tools](/uk/tools) — усі доступні tools агента
- [Sandboxing](/uk/gateway/sandboxing) — керування браузером у sandboxed environments
- [Огляд інструментів](/uk/tools) — усі доступні інструменти агента
- [Пісочниця](/uk/gateway/sandboxing) — керування браузером у sandboxed-середовищах
- [Безпека](/uk/gateway/security) — ризики керування браузером і посилення захисту