From 7deb7f0d4be826c78fb8d3bb3d8c25fca85d66e3 Mon Sep 17 00:00:00 2001 From: "openclaw-docs-i18n[bot]" Date: Sat, 25 Apr 2026 13:01:48 +0000 Subject: [PATCH] chore(i18n): refresh uk translations --- docs/uk/tools/browser.md | 472 ++++++++++++++++++++------------------- 1 file changed, 246 insertions(+), 226 deletions(-) diff --git a/docs/uk/tools/browser.md b/docs/uk/tools/browser.md index ab5320fb9..9e08c5f26 100644 --- a/docs/uk/tools/browser.md +++ b/docs/uk/tools/browser.md @@ -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 заванта -- Сервіс керування прив’язується до 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 усе ще закриває їхні явно відстежувані вкладки наприкінці сесії; основні сесії зберігають активні вкладки доступними для повторного використання, а потім у фоновому режимі закривають неактивні або зайві відстежувані вкладки. -- Навігація браузера та 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` і далі підтримується як застарілий псевдонім. - + -- `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..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..userDataDir`, коли профіль existing-session має підключатися до нетипового профілю користувача Chromium (Brave, Edge тощо). -## Використання 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 -`executablePath` для окремого профілю впливає лише на локальні керовані профілі, які OpenClaw -запускає сам. Профілі `existing-session` натомість під’єднуються до вже запущеного браузера, -а профілі віддаленого CDP використовують браузер, який стоїть за `cdpUrl`. +`executablePath` для конкретного профілю впливає лише на локальні керовані профілі, які запускає OpenClaw. +Профілі `existing-session` натомість підключаються до вже запущеного браузера, +а профілі remote CDP використовують браузер, який стоїть за `cdpUrl`. -## Локальне й віддалене керування +## Локальне та віддалене керування -- **Локальне керування (за замовчуванням):** Gateway запускає loopback-сервіс керування й може запускати локальний браузер. -- **Віддалене керування (host Node):** запустіть host Node на машині, де є браузер; Gateway проксіює до нього дії браузера. -- **Віддалений CDP:** установіть `browser.profiles..cdpUrl` (або `browser.cdpUrl`), щоб - під’єднатися до віддаленого браузера на базі Chromium. У такому разі OpenClaw не запускатиме локальний браузер. -- `headless` впливає лише на локальні керовані профілі, які запускає OpenClaw. Він не перезапускає й не змінює браузери `existing-session` або віддаленого CDP. -- `executablePath` підпорядковується тому самому правилу локального керованого профілю. Його зміна для - запущеного локального керованого профілю позначає цей профіль для restart/reconcile, щоб - наступний запуск використовував новий двійковий файл. +- **Локальне керування (типово):** Gateway запускає loopback-сервіс керування і може запускати локальний браузер. +- **Віддалене керування (вузол-хост):** запустіть вузол-хост на машині, де є браузер; Gateway проксіюватиме до нього дії браузера. +- **Remote CDP:** установіть `browser.profiles..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=`) +- Токени запиту (наприклад, `https://provider.example?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. -- Виберіть 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//` або +- **HTTP(S) discovery** — `http://host[:port]` або `https://host[:port]`. + OpenClaw викликає `/json/version`, щоб виявити URL debugger WebSocket, а потім + підключається. Без fallback на WebSocket. +- **Прямі кінцеві точки WebSocket** — `ws://host[:port]/devtools//` або `wss://...` зі шляхом `/devtools/browser|page|worker|shared_worker|service_worker/`. - 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). -- Замініть `` на ваш справжній API-ключ Browserbase. -- Browserbase автоматично створює сеанс браузера під час підключення WebSocket, тож - ручний крок створення сеансу не потрібен. -- Безкоштовний тариф дозволяє один одночасний сеанс і одну browser hour на місяць. - Див. [pricing](https://www.browserbase.com/pricing) щодо обмежень платних планів. -- Див. [документацію Browserbase](https://docs.browserbase.com) для повного - довідника API, посібників із SDK та прикладів інтеграції. +- Замініть `` на ваш справжній 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 типово виділяються з діапазону **18800–18899**. - Видалення профілю переміщує його локальний каталог даних до Trash. -Усі endpoints керування приймають `?profile=`; CLI використовує `--browser-profile`. +Усі кінцеві точки керування приймають `?profile=`; 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 або вузол-хост натомість. - +### Власний запуск 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 ` (кінцева точка HTTP discovery DevTools). +- `ws(s)://...` → `--wsEndpoint ` (прямий WebSocket CDP). + +Прапорці кінцевої точки та `userDataDir` не можна поєднувати: коли задано `cdpUrl`, +`userDataDir` ігнорується під час запуску Chrome MCP, оскільки Chrome MCP підключається до +запущеного браузера за цією кінцевою точкою, а не відкриває каталог +профілю. + + Порівняно з керованим профілем `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` усе ще потребують шляху керованого браузера. ## Гарантії ізоляції -- **Виділений каталог користувацьких даних**: ніколи не торкається профілю вашого особистого браузера. -- **Виділені порти**: уникає `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 "" is not reachable at ` - Блокування 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) — ризики керування браузером і посилення захисту