Для налаштування, конфігурації та усунення несправностей див. Browser. Ця сторінка є довідником для локального керівного HTTP API, CLIDocumentation Index
Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
openclaw browser
та шаблонів скриптингу (знімки, refs, очікування, налагоджувальні потоки).
Керівний API (необов’язково)
Лише для локальних інтеграцій Gateway надає невеликий loopback HTTP API:- Стан/запуск/зупинка:
GET /,POST /start,POST /stop - Вкладки:
GET /tabs,POST /tabs/open,POST /tabs/focus,DELETE /tabs/:targetId - Знімок/скриншот:
GET /snapshot,POST /screenshot - Дії:
POST /navigate,POST /act - Хуки:
POST /hooks/file-chooser,POST /hooks/dialog - Завантаження:
POST /download,POST /wait/download - Дозволи:
POST /permissions/grant - Налагодження:
GET /console,POST /pdf - Налагодження:
GET /errors,GET /requests,POST /trace/start,POST /trace/stop,POST /highlight - Мережа:
POST /response/body - Стан:
GET /cookies,POST /cookies/set,POST /cookies/clear - Стан:
GET /storage/:kind,POST /storage/:kind/set,POST /storage/:kind/clear - Налаштування:
POST /set/offline,POST /set/headers,POST /set/credentials,POST /set/geolocation,POST /set/media,POST /set/timezone,POST /set/locale,POST /set/device
?profile=<name>. POST /start?headless=true запитує
одноразовий headless-запуск для локально керованих профілів без зміни збереженої
конфігурації браузера; профілі attach-only, віддалені CDP та existing-session відхиляють
це перевизначення, оскільки OpenClaw не запускає ці процеси браузера.
Якщо налаштована автентифікація Gateway зі спільним секретом, HTTP-маршрути браузера також потребують автентифікації:
Authorization: Bearer <gateway token>x-openclaw-password: <gateway password>або HTTP Basic auth із цим паролем
- Цей автономний loopback API браузера не використовує заголовки ідентичності trusted-proxy або Tailscale Serve.
- Якщо
gateway.auth.modeмає значенняnoneабоtrusted-proxy, ці loopback-маршрути браузера не успадковують ці режими з ідентичністю; тримайте їх лише loopback-only.
Контракт помилок /act
POST /act використовує структуровану відповідь про помилку для валідації на рівні маршруту та
збоїв політик:
code:
ACT_KIND_REQUIRED(HTTP 400):kindвідсутній або не розпізнаний.ACT_INVALID_REQUEST(HTTP 400): payload дії не пройшов нормалізацію або валідацію.ACT_SELECTOR_UNSUPPORTED(HTTP 400):selectorвикористано з непідтримуваним типом дії.ACT_EVALUATE_DISABLED(HTTP 403):evaluate(абоwait --fn) вимкнено конфігурацією.ACT_TARGET_ID_MISMATCH(HTTP 403): верхньорівневий або пакетнийtargetIdконфліктує з ціллю запиту.ACT_EXISTING_SESSION_UNSUPPORTED(HTTP 501): дія не підтримується для профілів existing-session.
{ "error": "<message>" } без поля
code.
Вимога Playwright
Деякі функції (navigate/act/AI snapshot/role snapshot, скриншоти елементів, PDF) потребують Playwright. Якщо Playwright не встановлено, ці кінцеві точки повертають зрозумілу помилку 501. Що все ще працює без Playwright:- ARIA-знімки
- Role-style знімки доступності (
--interactive,--compact,--depth,--efficient), коли доступний CDP WebSocket для кожної вкладки. Це fallback для інспекції та виявлення refs; Playwright залишається основним рушієм дій. - Скриншоти сторінки для керованого браузера
openclaw, коли доступний CDP WebSocket для кожної вкладки - Скриншоти сторінки для профілів
existing-session/ Chrome MCP - Скриншоти на основі refs для
existing-session(--ref) з виводу snapshot
navigateact- AI-знімки, які залежать від нативного формату AI snapshot Playwright
- Скриншоти елементів за CSS-селектором (
--element) - повний експорт браузера в PDF
--full-page; маршрут повертає fullPage is not supported for element screenshots.
Якщо ви бачите Playwright is not available in this gateway build, у запакованому
Gateway бракує основної залежності runtime браузера. Перевстановіть або оновіть
OpenClaw, потім перезапустіть gateway. Для Docker також встановіть бінарні файли
браузера Chromium, як показано нижче.
Встановлення Docker Playwright
Якщо ваш Gateway працює в Docker, уникайтеnpx playwright (конфлікти npm override).
Натомість використовуйте вбудований CLI:
PLAYWRIGHT_BROWSERS_PATH (наприклад,
/home/node/.cache/ms-playwright) і переконайтеся, що /home/node зберігається через
OPENCLAW_HOME_VOLUME або bind mount. Див. Docker.
Як це працює (внутрішньо)
Невеликий loopback-керівний сервер приймає HTTP-запити та підключається до браузерів на базі Chromium через CDP. Розширені дії (click/type/snapshot/PDF) проходять через Playwright поверх CDP; коли Playwright відсутній, доступні лише операції без Playwright. Агент бачить один стабільний інтерфейс, тоді як локальні/віддалені браузери та профілі вільно замінюються під ним.Короткий довідник CLI
Усі команди приймають--browser-profile <name> для вибору конкретного профілю та --json для машинозчитуваного виводу.
Basics: status, tabs, open/focus/close
Basics: status, tabs, open/focus/close
Inspection: screenshot, snapshot, console, errors, requests
Inspection: screenshot, snapshot, console, errors, requests
Actions: navigate, click, type, drag, wait, evaluate
Actions: navigate, click, type, drag, wait, evaluate
State: cookies, storage, offline, headers, geo, device
State: cookies, storage, offline, headers, geo, device
uploadіdialogє викликами підготовки; запускайте їх перед click/press, який викликає chooser/dialog.click/type/тощо потребуютьrefзіsnapshot(числовий12, role refe12або actionable ARIA refax12). CSS-селектори навмисно не підтримуються для дій. Використовуйтеclick-coords, коли видима позиція у viewport є єдиною надійною ціллю.- Шляхи download, trace та upload обмежені тимчасовими коренями OpenClaw:
/tmp/openclaw{,/downloads,/uploads}(fallback:${os.tmpdir()}/openclaw/...). uploadтакож може напряму задавати файлові input через--input-refабо--element.
suggestedTargetId з tabs.
Прапорці snapshot коротко:
--format ai(типово з Playwright): AI snapshot із числовими refs (aria-ref="<n>").--format aria: дерево доступності з refsaxN. Коли Playwright доступний, OpenClaw прив’язує refs з backend DOM ids до живої сторінки, щоб подальші дії могли їх використовувати; інакше розглядайте вивід лише як інспекційний.--efficient(або--mode efficient): компактний preset role snapshot. Задайтеbrowser.snapshotDefaults.mode: "efficient", щоб зробити це типовим (див. конфігурацію Gateway).--interactive,--compact,--depth,--selectorпримусово створюють role snapshot із refsref=e12.--frame "<iframe>"обмежує role snapshots iframe.--labelsдодає скриншот лише viewport із накладеними labels refs (друкуєMEDIA:<path>).--urlsдодає виявлені цільові адреси посилань до AI snapshots.
Snapshots і refs
OpenClaw підтримує два стилі “snapshot”:-
AI snapshot (числові refs):
openclaw browser snapshot(типово;--format ai)- Вивід: текстовий snapshot, що містить числові refs.
- Дії:
openclaw browser click 12,openclaw browser type 23 "hello". - Внутрішньо ref розв’язується через
aria-refPlaywright.
-
Role snapshot (role refs на кшталт
e12):openclaw browser snapshot --interactive(або--compact,--depth,--selector,--frame)- Вивід: role-based список/дерево з
[ref=e12](і необов’язковим[nth=1]). - Дії:
openclaw browser click e12,openclaw browser highlight e12. - Внутрішньо ref розв’язується через
getByRole(...)(плюсnth()для дублікатів). - Додайте
--labels, щоб включити скриншот viewport із накладеними labelse12. - Додайте
--urls, коли текст посилання неоднозначний і агенту потрібні конкретні цілі навігації.
- Вивід: role-based список/дерево з
-
ARIA snapshot (ARIA refs на кшталт
ax12):openclaw browser snapshot --format aria- Вивід: дерево доступності як структуровані вузли.
- Дії:
openclaw browser click ax12працює, коли шлях snapshot може прив’язати ref через Playwright і Chrome backend DOM ids.
-
Якщо Playwright недоступний, ARIA snapshots все ще можуть бути корисними для
інспекції, але refs можуть бути непридатними для дій. Повторно зробіть snapshot з
--format aiабо--interactive, коли вам потрібні refs для дій. -
Docker-доказ для fallback-шляху raw-CDP:
pnpm test:docker:browser-cdp-snapshotзапускає Chromium із CDP, виконуєbrowser doctor --deepі перевіряє, що role snapshots містять URL посилань, clickables, підвищені курсором, та metadata iframe.
- Refs не стабільні між навігаціями; якщо щось не вдається, повторно виконайте
snapshotі використайте свіжий ref. /actповертає поточний необробленийtargetIdпісля заміни, спричиненої дією, коли може довести вкладку-заміну. Продовжуйте використовувати стабільні ідентифікатори/мітки вкладок для подальших команд.- Якщо рольовий snapshot було зроблено з
--frame, рольові refs обмежені цим iframe до наступного рольового snapshot. - Невідомі або застарілі refs
axNшвидко завершуються помилкою замість переходу до селектора Playwrightaria-ref. Коли це трапляється, виконайте свіжий snapshot на тій самій вкладці.
Посилені можливості очікування
Можна очікувати не лише на час/текст:- Очікування URL (globs підтримуються Playwright):
openclaw browser wait --url "**/dash"
- Очікування стану завантаження:
openclaw browser wait --load networkidle
- Очікування JS-предиката:
openclaw browser wait --fn "window.ready===true"
- Очікування, доки селектор стане видимим:
openclaw browser wait "#main"
Робочі процеси налагодження
Коли дія не вдається (наприклад, “not visible”, “strict mode violation”, “covered”):openclaw browser snapshot --interactive- Використайте
click <ref>/type <ref>(у інтерактивному режимі віддавайте перевагу рольовим refs) - Якщо все ще не вдається:
openclaw browser highlight <ref>, щоб побачити, на що націлюється Playwright - Якщо сторінка поводиться дивно:
openclaw browser errors --clearopenclaw browser requests --filter api --clear
- Для глибокого налагодження: запишіть trace:
openclaw browser trace start- відтворіть проблему
openclaw browser trace stop(виводитьTRACE:<path>)
Виведення JSON
--json призначено для скриптів і структурованих інструментів.
Приклади:
refs і невеликий блок stats (lines/chars/refs/interactive), щоб інструменти могли оцінювати розмір і щільність payload.
Стан і параметри середовища
Вони корисні для робочих процесів “змусити сайт поводитися як X”:- Cookies:
cookies,cookies set,cookies clear - Сховище:
storage local|session get|set|clear - Offline:
set offline on|off - Заголовки:
set headers --headers-json '{"X-Debug":"1"}'(застарілеset headers --json '{"X-Debug":"1"}'і далі підтримується) - Базова HTTP-автентифікація:
set credentials user pass(або--clear) - Геолокація:
set geo <lat> <lon> --origin "https://example.com"(або--clear) - Медіа:
set media dark|light|no-preference|none - Часовий пояс / локаль:
set timezone ...,set locale ... - Пристрій / viewport:
set device "iPhone 14"(пресети пристроїв Playwright)set viewport 1280 720
Безпека та приватність
- Профіль браузера openclaw може містити активні сеанси входу; ставтеся до нього як до конфіденційного.
browser act kind=evaluate/openclaw browser evaluateіwait --fnвиконують довільний JavaScript у контексті сторінки. Prompt injection може спрямовувати це. Вимкніть це за допомогоюbrowser.evaluateEnabled=false, якщо воно вам не потрібне.- Примітки щодо входів і антибот-захисту (X/Twitter тощо) дивіться в Вхід у браузері + публікація в X/Twitter.
- Тримайте хост Gateway/Node приватним (loopback або лише tailnet).
- Віддалені кінцеві точки CDP мають широкі можливості; тунелюйте та захищайте їх.
Пов’язане
- Браузер - огляд, конфігурація, профілі, безпека
- Вхід у браузері - вхід на сайти
- Усунення несправностей браузера в Linux
- Усунення несправностей браузера WSL2