CLI commands
Peramban
openclaw browser
Kelola permukaan kontrol browser OpenClaw dan jalankan tindakan browser: siklus hidup, profil, tab, snapshot, tangkapan layar, navigasi, input, emulasi status, dan debugging.
Terkait: Alat browser
Flag umum
--url <gatewayWsUrl>: URL WebSocket Gateway (nilai default berasal dari konfigurasi).--token <token>: token Gateway (jika diperlukan).--timeout <ms>: batas waktu permintaan dalam ms (default:30000).--expect-final: tunggu respons akhir Gateway.--browser-profile <name>: pilih profil browser (default:openclaw, ataubrowser.defaultProfile).--json: output yang dapat dibaca mesin (jika didukung). Ini adalah opsi tingkat browser, jadi letakkan sebelum subperintah agar bentuknya tidak ambigu, sepertiopenclaw browser --json status. Penempatan di bagian akhir sepertiopenclaw browser status --jsonjuga berfungsi jika perintah turunan yang dipilih tidak mendefinisikan--jsonmiliknya sendiri.
Mulai cepat (lokal)
openclaw browser profilesopenclaw browser --browser-profile openclaw startopenclaw browser --browser-profile openclaw open https://example.comopenclaw browser --browser-profile openclaw snapshotAgen dapat menjalankan pemeriksaan kesiapan yang sama dengan browser({ action: "doctor" }).
Pemecahan masalah cepat
Jika start gagal dengan not reachable after start, pecahkan masalah kesiapan CDP terlebih dahulu. Jika start dan tabs berhasil tetapi open atau navigate gagal, bidang kontrol browser berfungsi dengan baik dan kegagalan tersebut biasanya merupakan pemblokiran oleh kebijakan SSRF navigasi.
Urutan minimal:
openclaw browser --browser-profile openclaw doctoropenclaw browser --browser-profile openclaw startopenclaw browser --browser-profile openclaw tabsopenclaw browser --browser-profile openclaw open https://example.comPanduan terperinci: Pemecahan masalah browser
Siklus hidup
openclaw browser statusopenclaw browser doctoropenclaw browser doctor --deepopenclaw browser startopenclaw browser start --headlessopenclaw browser stopopenclaw browser --browser-profile openclaw reset-profiledoctor --deepmenambahkan pemeriksaan snapshot langsung: berguna saat kesiapan dasar CDP berstatus baik, tetapi Anda menginginkan bukti bahwa tab saat ini dapat diperiksa.- Untuk profil lokal terkelola yang sedang berjalan,
statusdandoctormelaporkan diagnostik grafis yang di-cache dari Chrome: klasifikasi perangkat keras/perangkat lunak, perender, backend, perangkat/driver, detail fitur dan status penonaktifan, serta kemampuan video terakselerasi.openclaw browser --json statusmengembalikan seluruh payload terstruktur. Status pasif tidak pernah meluncurkan Chrome hanya untuk mengumpulkan informasi ini. stopmenutup sesi kontrol aktif dan menghapus penggantian emulasi sementara, bahkan untuk profilattachOnlydan CDP jarak jauh tempat OpenClaw tidak meluncurkan proses browser itu sendiri. Untuk profil lokal terkelola,stopjuga menghentikan proses browser yang dijalankan.start --headlesshanya berlaku untuk permintaan mulai tersebut, dan hanya saat OpenClaw meluncurkan browser lokal terkelola. Opsi ini tidak menulis ulangbrowser.headlessatau konfigurasi profil, dan tidak berpengaruh pada browser yang sudah berjalan.- Pada host Linux tanpa
DISPLAYatauWAYLAND_DISPLAY, profil lokal terkelola otomatis berjalan secara headless kecualiOPENCLAW_BROWSER_HEADLESS=0,browser.headless=false, ataubrowser.profiles.<name>.headless=falsesecara eksplisit meminta browser yang terlihat.
Jika perintah tidak tersedia
Jika openclaw browser merupakan perintah yang tidak dikenal, periksa plugins.allow di ~/.openclaw/openclaw.json. Jika plugins.allow tersedia, cantumkan Plugin browser bawaan secara eksplisit kecuali konfigurasi sudah memiliki blok browser tingkat root:
{ plugins: { allow: ["telegram", "browser"], },}Blok browser tingkat root yang eksplisit (misalnya browser.enabled=true atau browser.profiles.<name>) juga mengaktifkan Plugin browser bawaan di bawah daftar izin Plugin yang ketat.
Terkait: Alat browser
Profil
Profil adalah konfigurasi perutean browser bernama:
openclaw(default): meluncurkan atau terhubung ke instans Chrome khusus yang dikelola OpenClaw (direktori data pengguna terisolasi).user: mengontrol sesi Chrome Anda yang sudah masuk melalui Chrome DevTools MCP.- profil CDP khusus: mengarah ke endpoint CDP lokal atau jarak jauh.
openclaw browser profilesopenclaw browser system-profilesopenclaw browser system-profiles --browser braveopenclaw browser import-profile --browser chrome --system Default --into importedopenclaw browser import-profile --system "Profile 1" --into work --domains google.com,youtube.comopenclaw browser create-profile --name work --color "#FF5A36"openclaw browser create-profile --name chrome-live --driver existing-sessionopenclaw browser create-profile --name remote --cdp-url https://browser-host.example.comopenclaw browser delete-profile --name workGunakan profil tertentu dengan --browser-profile <name> pada subperintah apa pun, misalnya openclaw browser --browser-profile work tabs.
Di macOS, system-profiles mencantumkan profil Chrome, Brave, Edge, atau Chromium nyata yang tersedia di host. import-profile mendekripsi cookie-nya setelah satu permintaan persetujuan macOS Keychain/Touch ID dan menyuntikkannya ke profil baru yang dikelola OpenClaw. Perintah ini hanya mengimpor cookie; penyimpanan lokal dan IndexedDB tidak berubah. Beberapa sesi Google menggunakan kredensial sesi yang terikat ke perangkat (DBSC) dan mungkin tetap memerlukan autentikasi ulang setelah impor.
Saat aplikasi macOS menggunakan Gateway lokal, aplikasi dapat menawarkan impor ini satu kali dan menjadikan profil impor terisolasi sebagai default untuk penjelajahan agen. Impor selalu memerlukan klik eksplisit; impor yang berhasil atau penolakan akan mencegah permintaan otomatis berikutnya, dan Settings → General → Browser login tetap tersedia untuk mengimpor ulang.
Impor profil sistem diaktifkan secara default. Atur browser.allowSystemProfileImport=false untuk menonaktifkan impor yang dipicu CLI maupun agen. Impor bersifat lokal pada host dan tidak dapat dijalankan melalui proksi Node browser.
Tab
openclaw browser tabsopenclaw browser tab new --label docsopenclaw browser tab label t1 docsopenclaw browser tab select 2openclaw browser tab close 2openclaw browser open https://docs.openclaw.ai --label docsopenclaw browser focus docsopenclaw browser close t1tabs mengembalikan suggestedTargetId terlebih dahulu, lalu tabId yang stabil (seperti t1), label opsional, dan targetId mentah. Teruskan suggestedTargetId kembali ke focus, close, snapshot, dan tindakan. Tetapkan label dengan open --label, tab new --label, atau tab label; label, id tab, id target mentah, dan prefiks id target unik semuanya diterima. Untuk kompatibilitas, bidang permintaan masih bernama targetId, tetapi menerima semua referensi tab ini.
Id target mentah adalah pegangan diagnostik yang tidak stabil, bukan memori agen yang tahan lama: saat Chromium mengganti target mentah yang mendasarinya selama navigasi atau pengiriman formulir, OpenClaw mempertahankan tabId/label yang stabil pada tab pengganti jika kecocokannya dapat dibuktikan. Utamakan suggestedTargetId.
Snapshot / tangkapan layar / tindakan
Snapshot:
openclaw browser snapshotopenclaw browser snapshot --urlsTangkapan layar:
openclaw browser screenshotopenclaw browser screenshot --full-pageopenclaw browser screenshot --ref e12openclaw browser screenshot --labels--full-pagehanya untuk menangkap halaman; opsi ini tidak dapat digabungkan dengan--refatau--element.- Profil
existing-session/usermendukung tangkapan layar halaman dan tangkapan layar--refdari output snapshot, tetapi tidak mendukung tangkapan layar CSS--element. --labelsmenempatkan referensi snapshot saat ini di atas tangkapan layar. Pada profil berbasis Playwright, opsi ini berfungsi dengan--full-page(overlay halaman penuh),--ref(overlay potongan elemen berdasarkan referensi ARIA), dan--element(overlay potongan elemen berdasarkan pemilih CSS); dalam mode potongan elemen, label diproyeksikan relatif terhadap elemen. Respons juga menyertakan arrayannotations(dihilangkan jika kosong) dengan kotak pembatas setiap referensi:ref,number,role,nameopsional, danbox: {x, y, width, height}dalam ruang koordinat gambar yang ditangkap (viewport / halaman penuh / relatif terhadap elemen). Profilexisting-sessionmerender overlay chrome-mcp pada tangkapan layar halaman, tetapi tidak menggunakan pembantu proyeksi Playwright dan tidak menyertakanannotations; tangkapan layar CSS--elementtidak didukung di sana. Tanpa Playwright atau chrome-mcp, tangkapan layar berlabel tidak tersedia.snapshot --urlsmenambahkan tujuan tautan yang ditemukan ke snapshot AI agar agen dapat memilih target navigasi langsung alih-alih menebaknya hanya dari teks tautan.
Navigasi/klik/ketik (otomatisasi UI berbasis referensi):
openclaw browser navigate https://example.comopenclaw browser click <ref>openclaw browser click-coords 120 340openclaw browser type <ref> "hello"openclaw browser press Enteropenclaw browser hover <ref>openclaw browser scrollintoview <ref>openclaw browser drag <startRef> <endRef>openclaw browser select <ref> OptionA OptionBopenclaw browser fill --fields '[{"ref":"1","value":"Ada"}]'openclaw browser wait --text "Done"openclaw browser evaluate --fn '(el) => el.textContent' --ref <ref>openclaw browser evaluate --fn 'const title = document.title; return title;'openclaw browser evaluate --timeout-ms 30000 --fn 'async () => { await window.ready; return true; }'evaluate --fn menerima sumber fungsi, ekspresi, atau isi pernyataan. Isi pernyataan dibungkus sebagai fungsi asinkron, jadi gunakan return untuk nilai yang ingin dikembalikan. Gunakan --timeout-ms jika fungsi sisi halaman mungkin memerlukan waktu lebih lama daripada batas waktu evaluasi default. browser.evaluateEnabled=false (default: true) menonaktifkan evaluate dan wait --fn sekaligus.
Respons tindakan mengembalikan targetId mentah saat ini setelah penggantian halaman yang dipicu tindakan jika OpenClaw dapat membuktikan tab penggantinya. Skrip tetap harus menyimpan dan meneruskan suggestedTargetId/label untuk alur kerja jangka panjang.
Pembantu file + dialog:
openclaw browser upload /tmp/openclaw/uploads/file.pdf --ref <ref>openclaw browser upload media://inbound/file.pdf --ref <ref>openclaw browser waitfordownloadopenclaw browser download <ref> report.pdfopenclaw browser dialog --acceptopenclaw browser dialog --dismiss --dialog-id d1Profil Chrome terkelola menyimpan unduhan biasa yang dipicu klik ke direktori unduhan OpenClaw (/tmp/openclaw/downloads secara default, atau root sementara yang dikonfigurasi). Gunakan waitfordownload atau download saat agen perlu menunggu file tertentu dan mengembalikan jalurnya; penunggu eksplisit tersebut mengambil alih unduhan berikutnya. Unggahan menerima file dari root unggahan sementara OpenClaw dan media masuk yang dikelola OpenClaw, termasuk referensi media://inbound/<id> dan media/inbound/<id> yang relatif terhadap sandbox. Referensi media bertingkat, traversal, dan jalur lokal arbitrer ditolak.
Saat suatu tindakan membuka dialog modal, respons tindakan mengembalikan blockedByDialog dengan browserState.dialogs.pending; teruskan --dialog-id untuk meresponsnya secara langsung. Dialog yang ditangani di luar OpenClaw muncul di bawah browserState.dialogs.recent.
Status dan penyimpanan
Viewport + emulasi:
openclaw browser resize 1280 720openclaw browser set viewport 1280 720openclaw browser set offline onopenclaw browser set media darkopenclaw browser set timezone Europe/Londonopenclaw browser set locale en-GBopenclaw browser set geo 51.5074 -0.1278 --accuracy 25openclaw browser set device "iPhone 14"openclaw browser set headers '{"x-test":"1"}'openclaw browser set credentials myuser mypassCookie + penyimpanan:
openclaw browser cookiesopenclaw browser cookies set session abc123 --url https://example.comopenclaw browser cookies clearopenclaw browser storage local getopenclaw browser storage local set token abc123openclaw browser storage session clearPenelusuran kesalahan
openclaw browser console --level erroropenclaw browser pdfopenclaw browser responsebody "**/api"openclaw browser highlight <ref>openclaw browser errors --clearopenclaw browser requests --filter apiopenclaw browser trace startopenclaw browser trace stop --out trace.zipChrome yang sudah ada melalui MCP
Gunakan profil bawaan user, atau buat profil existing-session Anda sendiri:
openclaw browser --browser-profile user tabsopenclaw browser create-profile --name chrome-live --driver existing-sessionopenclaw browser create-profile --name brave-live --driver existing-session --user-data-dir "~/Library/Application Support/BraveSoftware/Brave-Browser"openclaw browser create-profile --name chrome-port --driver existing-session --cdp-url http://127.0.0.1:9222openclaw browser --browser-profile chrome-live tabsJalur existing-session default adalah penyambungan otomatis Chrome MCP khusus host. Jika browser sudah berjalan dengan endpoint DevTools, berikan --cdp-url agar Chrome MCP terhubung ke endpoint tersebut. Untuk Docker, Browserless, atau penyiapan jarak jauh lainnya yang tidak memerlukan semantik Chrome MCP, gunakan profil CDP sebagai gantinya.
Batasan existing-session saat ini:
- Tindakan berbasis snapshot menggunakan referensi, bukan pemilih CSS.
- Permintaan
actyang didukung menggunakan nilai default bawaan 60000 ms ketika pemanggil tidak menyertakantimeoutMs;timeoutMsper panggilan tetap diprioritaskan. clickhanya mendukung klik kiri.typetidak mendukungslowly=true.presstidak mendukungdelayMs.hover,scrollintoview,drag,select, danfillmenolak penggantian batas waktu per panggilan;evaluatemenerima--timeout-ms.selecthanya mendukung satu nilai.wait --load networkidletidak didukung (berfungsi pada profil CDP terkelola dan mentah/jarak jauh).- Pengunggahan file memerlukan
--ref/--input-ref, tidak mendukung--elementCSS, dan hanya mendukung satu file dalam satu waktu. - Hook dialog tidak mendukung
--timeout. - Tangkapan layar mendukung pengambilan halaman dan
--ref, tetapi tidak mendukung--elementCSS. responsebody, intersepsi unduhan, ekspor PDF, dan tindakan batch masih memerlukan browser terkelola atau profil CDP mentah.
Kontrol browser jarak jauh (proksi host node)
Jika Gateway berjalan pada mesin yang berbeda dari browser, jalankan host node pada mesin yang memiliki Chrome/Brave/Edge/Chromium. Gateway meneruskan tindakan browser ke node tersebut; server kontrol browser terpisah tidak diperlukan.
Gunakan gateway.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