openclaw browser
Kelola permukaan kontrol browser OpenClaw dan jalankan tindakan browser (siklus hidup, profil, tab, snapshot, tangkapan layar, navigasi, input, emulasi state, dan debugging).
Terkait:
- Tool browser + API: Tool browser
Flag umum
--url <gatewayWsUrl>: URL WebSocket Gateway (default ke config).--token <token>: token Gateway (jika diperlukan).--timeout <ms>: batas waktu permintaan (ms).--expect-final: tunggu respons Gateway final.--browser-profile <name>: pilih profil browser (default dari config).--json: output yang dapat dibaca mesin (jika didukung).
Mulai cepat (lokal)
browser({ action: "doctor" }).
Pemecahan masalah cepat
Jikastart gagal dengan not reachable after start, selesaikan kesiapan CDP terlebih dahulu. Jika start dan tabs berhasil tetapi open atau navigate gagal, bidang kontrol browser sehat dan kegagalan biasanya adalah kebijakan SSRF navigasi.
Urutan minimal:
Siklus hidup
doctor --deepmenambahkan probe snapshot langsung. Ini berguna ketika kesiapan CDP dasar sudah hijau tetapi Anda menginginkan bukti bahwa tab saat ini dapat diinspeksi.- Untuk profil
attachOnlydan CDP jarak jauh,openclaw browser stopmenutup sesi kontrol aktif dan membersihkan override emulasi sementara bahkan ketika OpenClaw tidak meluncurkan proses browser itu sendiri. - Untuk profil lokal terkelola,
openclaw browser stopmenghentikan proses browser yang dibuat. openclaw browser start --headlesshanya berlaku untuk permintaan start tersebut dan hanya ketika OpenClaw meluncurkan browser lokal terkelola. Perintah ini tidak menulis ulangbrowser.headlessatau config profil, dan tidak melakukan apa pun untuk browser yang sudah berjalan.- Pada host Linux tanpa
DISPLAYatauWAYLAND_DISPLAY, profil lokal terkelola berjalan headless secara otomatis kecualiOPENCLAW_BROWSER_HEADLESS=0,browser.headless=false, ataubrowser.profiles.<name>.headless=falsesecara eksplisit meminta browser terlihat.
Jika perintah tidak ada
Jikaopenclaw browser adalah perintah yang tidak dikenal, periksa plugins.allow di
~/.openclaw/openclaw.json.
Ketika plugins.allow ada, cantumkan Plugin browser bawaan secara eksplisit
kecuali config sudah memiliki blok root browser:
browser eksplisit, misalnya browser.enabled=true atau
browser.profiles.<name>, juga mengaktifkan Plugin browser bawaan di bawah
allowlist Plugin yang restriktif.
Terkait: Tool browser
Profil
Profil adalah config routing browser bernama. Dalam praktiknya:openclaw: meluncurkan atau melampirkan ke instance Chrome khusus yang dikelola OpenClaw (direktori data pengguna terisolasi).user: mengontrol sesi Chrome Anda yang sudah login melalui Chrome DevTools MCP.- profil CDP kustom: mengarah ke endpoint CDP lokal atau jarak jauh.
Tab
tabs mengembalikan suggestedTargetId terlebih dahulu, lalu tabId stabil seperti t1,
label opsional, dan targetId mentah. Agent harus meneruskan
suggestedTargetId kembali ke focus, close, snapshot, dan tindakan. Anda dapat
menetapkan label dengan open --label, tab new --label, atau tab label; label,
id tab, id target mentah, dan prefiks target-id unik semuanya diterima.
Field permintaan tetap bernama targetId untuk kompatibilitas, tetapi menerima
referensi tab ini. Perlakukan id target mentah sebagai handle diagnostik, bukan
memori agent yang tahan lama.
Ketika Chromium mengganti target mentah yang mendasari selama navigasi atau submit
formulir, OpenClaw mempertahankan tabId/label stabil yang terpasang ke tab pengganti
ketika dapat membuktikan kecocokannya. Id target mentah tetap volatil; utamakan
suggestedTargetId.
Snapshot / tangkapan layar / tindakan
Snapshot:--full-pagehanya untuk tangkapan halaman; ini tidak dapat digabungkan dengan--refatau--element.- Profil
existing-session/usermendukung tangkapan layar halaman dan tangkapan layar--refdari output snapshot, tetapi bukan tangkapan layar CSS--element. --labelsmenimpa ref snapshot saat ini pada tangkapan layar. Pada profil berbasis Playwright, ini bekerja dengan--full-page(overlay label seluruh halaman),--ref(overlay label klip elemen berdasarkan ref ARIA), dan--element(overlay label klip elemen berdasarkan selector CSS); dalam mode klip elemen, label diproyeksikan relatif terhadap elemen. Respons juga mencakup arrayannotationsdengan kotak pembatas setiap ref. Setiap item memilikiref,number,role,nameopsional, danbox: {x, y, width, height}; koordinat berada dalam ruang gambar yang ditangkap (viewport / fullpage / relatif-elemen). Field dihilangkan saat kosong. Profilexisting-sessionmerender overlay chrome-mcp pada tangkapan layar halaman tetapi tidak menggunakan helper proyeksi Playwright dan tidak menyertakanannotations; tangkapan layar CSS--elementtidak didukung di sana. Tanpa Playwright atau chrome-mcp, tangkapan layar berlabel tidak tersedia. Rilis sebelumnya mengabaikan--full-page,--ref, dan--elementpada tangkapan layar Playwright berlabel dan selalu mengembalikan tangkapan viewport; tangkapan layar berlabel kini menghormati cakupan tersebut.snapshot --urlsmenambahkan tujuan tautan yang ditemukan ke snapshot AI agar agent dapat memilih target navigasi langsung alih-alih menebak dari teks tautan saja.
evaluate --fn menerima sumber fungsi, ekspresi, atau body statement.
Body statement dibungkus sebagai fungsi async, jadi gunakan return untuk nilai
yang ingin Anda dapatkan kembali. Gunakan evaluate --timeout-ms <ms> ketika fungsi sisi halaman mungkin
membutuhkan waktu lebih lama daripada batas waktu evaluate default.
Respons tindakan mengembalikan targetId mentah saat ini setelah penggantian halaman
yang dipicu tindakan ketika OpenClaw dapat membuktikan tab penggantinya. Skrip tetap harus
menyimpan dan meneruskan suggestedTargetId/label untuk alur kerja jangka panjang.
Helper file + dialog:
/tmp/openclaw/downloads secara default, atau root temp yang dikonfigurasi).
Gunakan waitfordownload atau download ketika agent perlu menunggu file
tertentu dan mengembalikan path-nya; waiter eksplisit tersebut memiliki unduhan berikutnya.
Unggahan menerima file dari root unggahan temp OpenClaw dan media masuk yang dikelola
OpenClaw, termasuk referensi media://inbound/<id> dan
media/inbound/<id> yang relatif sandbox. Ref media bersarang, traversal, dan path
lokal arbitrer tetap ditolak.
Ketika suatu tindakan membuka dialog modal, respons tindakan mengembalikan
blockedByDialog dengan browserState.dialogs.pending; teruskan --dialog-id untuk
menjawabnya secara langsung. Dialog yang ditangani di luar OpenClaw muncul di bawah
browserState.dialogs.recent.
State dan penyimpanan
Viewport + emulasi:Debugging
Chrome yang ada melalui MCP
Gunakan profil bawaanuser, atau buat profil existing-session Anda sendiri:
--cdp-url agar Chrome MCP melampirkan ke endpoint tersebut.
Untuk Docker, Browserless, atau setup jarak jauh lain yang tidak membutuhkan semantik Chrome MCP, gunakan
profil CDP.
Batas existing-session saat ini:
- tindakan berbasis snapshot menggunakan ref, bukan selector CSS
browser.actionTimeoutMsmenetapkan default permintaanactyang didukung ke 60000 ms saat pemanggil menghilangkantimeoutMs;timeoutMsper panggilan tetap diutamakan.clickhanya klik kiritypetidak mendukungslowly=truepresstidak mendukungdelayMshover,scrollintoview,drag,select,fill, danevaluatemenolak penimpaan timeout per panggilanselecthanya mendukung satu nilaiwait --load networkidletidak didukung pada profil sesi yang sudah ada (berfungsi pada CDP terkelola dan mentah/jarak jauh)- unggahan file memerlukan
--ref/--input-ref, tidak mendukung CSS--element, dan saat ini mendukung satu file dalam satu waktu - hook dialog tidak mendukung
--timeout - tangkapan layar mendukung tangkapan halaman dan
--ref, tetapi bukan CSS--element responsebody, intersepsi unduhan, ekspor PDF, dan tindakan batch masih memerlukan browser terkelola atau profil CDP mentah
Kontrol browser jarak jauh (proxy host node)
Jika Gateway berjalan di mesin yang berbeda dari browser, jalankan host node pada mesin yang memiliki Chrome/Brave/Edge/Chromium. Gateway akan mem-proxy tindakan browser ke node tersebut (tidak diperlukan server kontrol browser terpisah). Gunakangateway.nodes.browser.mode untuk mengontrol perutean otomatis dan gateway.nodes.browser.node untuk menetapkan node tertentu jika beberapa node terhubung.
Keamanan + penyiapan jarak jauh: Alat browser, Akses jarak jauh, Tailscale, Keamanan