Tarayıcı (openclaw-managed)
OpenClaw, ajanın kontrol ettiği özel bir Chrome/Brave/Edge/Chromium profili çalıştırabilir. Bu profil kişisel tarayıcınızdan yalıtılmıştır ve Gateway içinde küçük bir yerel kontrol hizmeti (yalnızca loopback) aracılığıyla yönetilir. Başlangıç seviyesi bakış:- Bunu ayrı, yalnızca ajana ait bir tarayıcı olarak düşünün.
openclawprofili kişisel tarayıcı profilinize dokunmaz.- Ajan güvenli bir şeritte sekme açabilir, sayfaları okuyabilir, tıklayabilir ve yazı yazabilir.
- Varsayılan
chromeprofili, uzantı rölesi üzerinden sistem varsayılan Chromium tarayıcısını kullanır; yalıtılmış yönetilen tarayıcı içinopenclaw’ye geçin.
Neler elde edersiniz
- openclaw adlı ayrı bir tarayıcı profili (varsayılan olarak turuncu vurgu).
- Deterministik sekme denetimi (listeleme/açma/odaklama/kapatma).
- Ajan eylemleri (tıklama/yazma/sürükleme/seçme), anlık görüntüler, ekran görüntüleri, PDF’ler.
- İsteğe bağlı çoklu profil desteği (
openclaw,work,remote, …).
Hızlı başlangıç
Profiller: openclaw vs chrome
openclaw: yönetilen, yalıtılmış tarayıcı (uzantı gerekmez).chrome: sistem tarayıcınıza uzantı rölesi (bir sekmeye OpenClaw uzantısının bağlanmasını gerektirir).
browser.defaultProfile: "openclaw"’ı ayarlayın.
Yapılandırma
Tarayıcı ayarları~/.openclaw/openclaw.json içinde bulunur.
- Tarayıcı kontrol hizmeti,
gateway.port’den türetilen bir bağlantı noktasında loopback’e bağlanır (varsayılan:18791, yani gateway + 2). Röle bir sonraki bağlantı noktasını kullanır (18792). - Gateway bağlantı noktasını (
gateway.portveyaOPENCLAW_GATEWAY_PORT) geçersiz kılarsanız, türetilen tarayıcı bağlantı noktaları aynı “aile”de kalacak şekilde kayar. cdpUrl, ayarlanmadığında röle bağlantı noktasına varsayılanlanır.remoteCdpTimeoutMs, uzak (loopback olmayan) CDP erişilebilirlik kontrolleri için geçerlidir.remoteCdpHandshakeTimeoutMs, uzak CDP WebSocket erişilebilirlik kontrolleri için geçerlidir.attachOnly: true, “asla yerel bir tarayıcı başlatma; yalnızca zaten çalışıyorsa bağlan” anlamına gelir.color+ profil başınacolor, hangi profilin etkin olduğunu görebilmeniz için tarayıcı arayüzünü renklendirir.- Varsayılan profil
chrome’tür (uzantı rölesi). Yönetilen tarayıcı içindefaultProfile: "openclaw"’ü kullanın. - Otomatik algılama sırası: Chromium tabanlıysa sistem varsayılan tarayıcı; aksi halde Chrome → Brave → Edge → Chromium → Chrome Canary.
- Yerel
openclawprofillericdpPort/cdpUrl’yi otomatik atar — bunları yalnızca uzak CDP için ayarlayın.
Brave (veya başka bir Chromium tabanlı tarayıcı) kullanma
Sistem varsayılan tarayıcınız Chromium tabanlıysa (Chrome/Brave/Edge vb.), OpenClaw bunu otomatik olarak kullanır. Otomatik algılamayı geçersiz kılmak içinbrowser.executablePath’i ayarlayın:
CLI örneği:
Yerel ve uzak kontrol
- Yerel kontrol (varsayılan): Gateway loopback kontrol hizmetini başlatır ve yerel bir tarayıcıyı açabilir.
- Uzak kontrol (node ana makinesi): Tarayıcının bulunduğu makinede bir node host çalıştırın; Gateway tarayıcı eylemlerini buna proxy’ler.
- Uzak CDP:
browser.profiles.<name>.cdpUrl(veyabrowser.cdpUrl) ayarlayarak uzak bir Chromium tabanlı tarayıcıya bağlanın. Bu durumda OpenClaw yerel bir tarayıcı başlatmaz.
- Sorgu belirteçleri (ör.
https://provider.example?token=<token>) - HTTP Basic auth (ör.
https://user:[email protected])
/json/* uç noktalarını çağırırken ve CDP WebSocket’e bağlanırken
kimlik doğrulamayı korur. Belirteçleri yapılandırma dosyalarına commit etmek yerine
ortam değişkenlerini veya gizli anahtar yöneticilerini tercih edin.
Node tarayıcı proxy’si (sıfır yapılandırmalı varsayılan)
Tarayıcınızın bulunduğu makinede bir node host çalıştırırsanız, OpenClaw herhangi ek tarayıcı yapılandırması olmadan tarayıcı araç çağrılarını otomatik olarak o node’a yönlendirebilir. Bu, uzak Gateway’ler için varsayılan yoldur. Notlar:- Node host, yerel tarayıcı kontrol sunucusunu bir proxy komutu aracılığıyla açığa çıkarır.
- Profiller, node’un kendi
browser.profilesyapılandırmasından gelir (yerel ile aynı). - İstemiyorsanız devre dışı bırakın:
- Node üzerinde:
nodeHost.browserProxy.enabled=false - Gateway üzerinde:
gateway.nodes.browser.mode="off"
- Node üzerinde:
Browserless (barındırılan uzak CDP)
Browserless, HTTPS üzerinden CDP uç noktaları sunan barındırılan bir Chromium hizmetidir. Bir OpenClaw tarayıcı profilini Browserless bölge uç noktasına yönlendirebilir ve API anahtarınızla kimlik doğrulaması yapabilirsiniz. Örnek:<BROWSERLESS_API_KEY>’yi gerçek Browserless belirtecinizle değiştirin.- Browserless hesabınıza uygun bölge uç noktasını seçin (belgelerine bakın).
Güvenlik
Temel fikirler:- Tarayıcı kontrolü yalnızca loopback’tir; erişim Gateway’in kimlik doğrulaması veya node eşlemesi üzerinden akar.
- Tarayıcı kontrolü etkinse ve kimlik doğrulama yapılandırılmamışsa, OpenClaw başlangıçta
gateway.auth.tokendeğerini otomatik oluşturur ve yapılandırmaya kaydeder. - Gateway’i ve tüm node host’ları özel bir ağda (Tailscale) tutun; herkese açık maruziyetten kaçının.
- Uzak CDP URL’lerini/belirteçlerini gizli bilgi olarak değerlendirin; ortam değişkenlerini veya bir gizli anahtar yöneticisini tercih edin.
- Mümkünse HTTPS uç noktalarını ve kısa ömürlü belirteçleri tercih edin.
- Uzun ömürlü belirteçleri doğrudan yapılandırma dosyalarına gömmekten kaçının.
Profiller (çoklu tarayıcı)
OpenClaw birden fazla adlandırılmış profili (yönlendirme yapılandırmaları) destekler. Profiller şunlar olabilir:- openclaw-managed: kendi kullanıcı veri dizini + CDP bağlantı noktasına sahip özel bir Chromium tabanlı tarayıcı örneği
- remote: açık bir CDP URL’si (başka bir yerde çalışan Chromium tabanlı tarayıcı)
- extension relay: yerel röle + Chrome uzantısı üzerinden mevcut Chrome sekmeleriniz
openclawprofili yoksa otomatik oluşturulur.chromeprofili, Chrome uzantı rölesi için yerleşiktir (varsayılan olarakhttp://127.0.0.1:18792’yi işaret eder).- Yerel CDP bağlantı noktaları varsayılan olarak 18800–18899 aralığından tahsis edilir.
- Bir profili silmek, yerel veri dizinini Çöp Kutusu’na taşır.
?profile=<name> kabul eder; CLI --browser-profile kullanır.
Chrome uzantı rölesi (mevcut Chrome’unuzu kullanın)
OpenClaw, yerel bir CDP rölesi + Chrome uzantısı aracılığıyla mevcut Chrome sekmelerinizi (ayrı bir “openclaw” Chrome örneği olmadan) de kontrol edebilir. Tam kılavuz: Chrome uzantısı Akış:- Gateway yerel olarak (aynı makinede) çalışır veya tarayıcı makinesinde bir node host çalışır.
- Yerel bir röle sunucusu, bir loopback
cdpUrl’te dinler (varsayılan:http://127.0.0.1:18792). - Kontrol etmek istediğiniz sekmede OpenClaw Browser Relay uzantı simgesine tıklarsınız (otomatik bağlanmaz).
- Ajan, doğru profili seçerek normal
browseraracı üzerinden o sekmeyi kontrol eder.
Sandbox’lanmış oturumlar
Ajan oturumu sandbox’lıysa,browser aracı varsayılan olarak target="sandbox"’ye (sandbox tarayıcı) geçebilir.
Chrome uzantı rölesini devralmak ana makine tarayıcı kontrolü gerektirir; bu nedenle ya:
- oturumu sandbox’sız çalıştırın veya
agents.defaults.sandbox.browser.allowHostControl: true’i ayarlayın ve aracı çağırırkentarget="host"’u kullanın.
Kurulum
- Uzantıyı yükleyin (dev/unpacked):
- Chrome →
chrome://extensions→ “Developer mode”u etkinleştirin - “Load unpacked” →
openclaw browser extension pathtarafından yazdırılan dizini seçin - Uzantıyı sabitleyin, ardından kontrol etmek istediğiniz sekmede tıklayın (rozet
ONgösterir).
- Kullanın:
- CLI:
openclaw browser --browser-profile chrome tabs - Ajan aracı:
browserileprofile="chrome"
- Bu mod, çoğu işlem için Playwright-on-CDP’ye dayanır (ekran görüntüleri/anlık görüntüler/eylemler).
- Ayırmak için uzantı simgesine tekrar tıklayın.
Yalıtım garantileri
- Özel kullanıcı veri dizini: kişisel tarayıcı profilinize asla dokunmaz.
- Özel bağlantı noktaları: geliştirme iş akışlarıyla çakışmaları önlemek için
9222’dan kaçınır. - Deterministik sekme denetimi: “son sekme” yerine
targetIdile hedefleme.
Tarayıcı seçimi
Yerel olarak başlatırken OpenClaw, mevcut olan ilkini seçer:- Chrome
- Brave
- Edge
- Chromium
- Chrome Canary
browser.executablePath ile geçersiz kılabilirsiniz.
Platformlar:
- macOS:
/Applicationsve~/Applications’yi kontrol eder. - Linux:
google-chrome,brave,microsoft-edge,chromiumvb. arar. - Windows: yaygın kurulum konumlarını kontrol eder.
Kontrol API’si (isteğe bağlı)
Yalnızca yerel entegrasyonlar için Gateway, küçük bir loopback HTTP API’si sunar:- Durum/başlat/durdur:
GET /,POST /start,POST /stop - Sekmeler:
GET /tabs,POST /tabs/open,POST /tabs/focus,DELETE /tabs/:targetId - Anlık görüntü/ekran görüntüsü:
GET /snapshot,POST /screenshot - Eylemler:
POST /navigate,POST /act - Kancalar:
POST /hooks/file-chooser,POST /hooks/dialog - İndirmeler:
POST /download,POST /wait/download - Hata ayıklama:
GET /console,POST /pdf - Hata ayıklama:
GET /errors,GET /requests,POST /trace/start,POST /trace/stop,POST /highlight - Ağ:
POST /response/body - Durum:
GET /cookies,POST /cookies/set,POST /cookies/clear - Durum:
GET /storage/:kind,POST /storage/:kind/set,POST /storage/:kind/clear - Ayarlar:
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> kabul eder.
Gateway auth yapılandırılmışsa, tarayıcı HTTP rotaları da kimlik doğrulama gerektirir:
Authorization: Bearer <gateway token>- Durum:
Playwright gereksinimi
Bazı özellikler (gezinti/eylem/AI anlık görüntü/rol anlık görüntüsü, öğe ekran görüntüleri, PDF) Playwright gerektirir. Playwright yüklü değilse bu uç noktalar net bir 501 hatası döndürür. ARIA anlık görüntüleri ve temel ekran görüntüleri openclaw-managed Chrome için çalışmaya devam eder. Chrome uzantı rölesi sürücüsü için ARIA anlık görüntüleri ve ekran görüntüleri Playwright gerektirir.Playwright is not available in this gateway build görürseniz, tam
Playwright paketini (playwright-core değil) yükleyin ve gateway’i yeniden başlatın
veya OpenClaw’ı tarayıcı desteğiyle yeniden yükleyin.
Docker Playwright kurulumu
Gateway Docker’da çalışıyorsanpx playwright’ten kaçının (npm geçersiz kılma çakışmaları).
Bunun yerine paketli CLI’yi kullanın:
PLAYWRIGHT_BROWSERS_PATH’yı ayarlayın (örneğin,
/home/node/.cache/ms-playwright) ve /home/node’nin
OPENCLAW_HOME_VOLUME veya bir bind mount ile kalıcı olduğundan emin olun. Docker bölümüne bakın.
Nasıl çalışır (dahili)
Yüksek seviyeli akış:- Küçük bir kontrol sunucusu HTTP isteklerini kabul eder.
- CDP üzerinden Chromium tabanlı tarayıcılara (Chrome/Brave/Edge/Chromium) bağlanır.
- Gelişmiş eylemler için (tıklama/yazma/anlık görüntü/PDF) CDP üzerinde Playwright kullanır.
- Playwright eksikse yalnızca Playwright gerektirmeyen işlemler kullanılabilir.
CLI hızlı başvuru
Tüm komutlar, belirli bir profili hedeflemek için--browser-profile <name> kabul eder.
Tüm komutlar ayrıca makine tarafından okunabilir çıktı (kararlı yükler) için --json kabul eder.
Temeller:
openclaw browser statusopenclaw browser startopenclaw browser stopopenclaw browser tabsopenclaw browser tabopenclaw browser tab newopenclaw browser tab select 2openclaw browser tab close 2openclaw browser open https://example.comopenclaw browser focus abcd1234openclaw browser close abcd1234
openclaw browser screenshotopenclaw browser screenshot --full-pageopenclaw browser screenshot --ref 12openclaw browser screenshot --ref e12openclaw browser snapshotopenclaw browser snapshot --format aria --limit 200openclaw browser snapshot --interactive --compact --depth 6openclaw browser snapshot --efficientopenclaw browser snapshot --labelsopenclaw browser snapshot --selector "#main" --interactiveopenclaw browser snapshot --frame "iframe#main" --interactiveopenclaw browser console --level erroropenclaw browser errors --clearopenclaw browser requests --filter api --clearopenclaw browser pdfopenclaw browser responsebody "**/api" --max-chars 5000
openclaw browser navigate https://example.comopenclaw browser resize 1280 720openclaw browser click 12 --doubleopenclaw browser click e12 --doubleopenclaw browser type 23 "hello" --submitopenclaw browser press Enteropenclaw browser hover 44openclaw browser scrollintoview e12openclaw browser drag 10 11openclaw browser select 9 OptionA OptionBopenclaw browser download e12 /tmp/report.pdfopenclaw browser waitfordownload /tmp/report.pdfopenclaw browser upload /tmp/file.pdfopenclaw browser fill --fields '[{"ref":"1","type":"text","value":"Ada"}]'openclaw browser dialog --acceptopenclaw browser wait --text "Done"openclaw browser wait "#main" --url "**/dash" --load networkidle --fn "window.ready===true"openclaw browser evaluate --fn '(el) => el.textContent' --ref 7openclaw browser highlight e12openclaw browser trace startopenclaw browser trace stop
- Durum:
openclaw browser cookiesopenclaw browser cookies set session abc123 --url "https://example.com"openclaw browser cookies clearopenclaw browser storage local getopenclaw browser storage local set theme darkopenclaw browser storage session clearopenclaw browser set offline onopenclaw browser set headers --json '{"X-Debug":"1"}'openclaw browser set credentials user passopenclaw browser set credentials --clearopenclaw browser set geo 37.7749 -122.4194 --origin "https://example.com"openclaw browser set geo --clearopenclaw browser set media darkopenclaw browser set timezone America/New_Yorkopenclaw browser set locale en-USopenclaw browser set device "iPhone 14"
uploadvedialoghazırlama çağrılarıdır; seçici/iletişim kutusunu tetikleyen tıklama/tuş basımından önce çalıştırın.- İndirme ve iz (trace) çıktı yolları OpenClaw geçici kök dizinleriyle sınırlandırılmıştır:
- traces:
/tmp/openclaw(fallback:${os.tmpdir()}/openclaw) - downloads:
/tmp/openclaw/downloads(fallback:${os.tmpdir()}/openclaw/downloads)
- traces:
- Yükleme yolları OpenClaw geçici yükleme kök diziniyle sınırlandırılmıştır:
- uploads:
/tmp/openclaw/uploads(fallback:${os.tmpdir()}/openclaw/uploads)
- uploads:
upload, dosya girdilerini--input-refveya--elementile doğrudan ayarlayabilir.snapshot:--format ai(Playwright yüklüyken varsayılan): sayısal referanslar (aria-ref="<n>") içeren bir AI anlık görüntüsü döndürür.--format aria: erişilebilirlik ağacını döndürür (referans yok; yalnızca inceleme).--efficient(veya--mode efficient): kompakt rol anlık görüntüsü ön ayarı (etkileşimli + kompakt + derinlik + daha düşük maxChars).- Yapılandırma varsayılanı (yalnızca araç/CLI): çağıran bir mod geçmezse verimli anlık görüntüler kullanmak için
browser.snapshotDefaults.mode: "efficient"’yi ayarlayın (bkz. Gateway yapılandırması). - Rol anlık görüntüsü seçenekleri (
--interactive,--compact,--depth,--selector),ref=e12gibi referanslarla rol tabanlı bir anlık görüntüyü zorlar. --frame "<iframe selector>", rol anlık görüntülerini bir iframe’e sınırlar (e12gibi rol referanslarıyla eşleşir).--interactive, etkileşimli öğelerin düz, seçmesi kolay bir listesini üretir (eylemleri sürmek için en iyisi).--labels, bindirilmiş referans etiketleriyle yalnızca görünüm alanına ait bir ekran görüntüsü ekler (MEDIA:<path>yazdırır).
click/type/vb.,snapshot’den birrefgerektirir (sayısal12veya rol referansıe12). CSS seçicileri eylemler için bilinçli olarak desteklenmez.
15. Anlık görüntüler ve referanslar
OpenClaw iki “anlık görüntü” stilini destekler:-
AI anlık görüntüsü (sayısal referanslar):
openclaw browser snapshot(varsayılan;--format ai)- Çıktı: sayısal referanslar içeren bir metin anlık görüntüsü.
- Eylemler:
openclaw browser click 12,openclaw browser type 23 "hello". - Dahili olarak referans, Playwright’ın
aria-ref’i üzerinden çözülür.
-
Rol anlık görüntüsü (
e12gibi rol referansları):openclaw browser snapshot --interactive(veya--compact,--depth,--selector,--frame)- Çıktı:
[ref=e12](ve isteğe bağlı[nth=1]) içeren rol tabanlı bir liste/ağaç. - Eylemler:
openclaw browser click e12,openclaw browser highlight e12. - Dahili olarak referans,
getByRole(...)(çoğaltmalar içinnth()ile birlikte) üzerinden çözülür. - Bindirilmiş
e12etiketleriyle bir görünüm alanı ekran görüntüsü eklemek için--labelsekleyin.
- Çıktı:
- Referanslar gezintiler arasında kararlı değildir; bir şey başarısız olursa
snapshot’ü yeniden çalıştırın ve yeni bir referans kullanın. - Rol anlık görüntüsü
--frameile alındıysa, rol referansları bir sonraki rol anlık görüntüsüne kadar o iframe’e kapsamlıdır.
16. Bekleme güçlendirmeleri
Yalnızca zaman/metin değil, daha fazlasını bekleyebilirsiniz:- URL bekleme (Playwright tarafından desteklenen glob’lar):
openclaw browser wait --url "**/dash"
- Yükleme durumu bekleme:
openclaw browser wait --load networkidle
- Bir JS önermesini bekleme:
openclaw browser wait --fn "window.ready===true"
- Bir seçicinin görünür olmasını bekleme:
openclaw browser wait "#main"
Hata ayıklama iş akışları
Bir eylem başarısız olduğunda (örn. “görünür değil”, “strict mode ihlali”, “üstü kapalı”):openclaw browser snapshot --interactiveclick <ref>/type <ref>kullanın (etkileşimli modda rol referanslarını tercih edin)- Hâlâ başarısızsa: Playwright’ın neyi hedeflediğini görmek için
openclaw browser highlight <ref> - Sayfa garip davranıyorsa:
openclaw browser errors --clearopenclaw browser requests --filter api --clear
- Derin hata ayıklama için bir iz kaydedin:
openclaw browser trace start- sorunu yeniden üretin
openclaw browser trace stop(TRACE:<path>yazdırır)
JSON çıktısı
--json, betikleme ve yapılandırılmış araçlar içindir.
Örnekler:
refs’a ek olarak küçük bir stats bloğu (satırlar/karakterler/referanslar/etkileşimli) içerir.
17. Durum ve ortam ayar düğmeleri
Bunlar “siteyi X gibi davranmaya zorla” iş akışları için kullanışlıdır:- Çerezler:
cookies,cookies set,cookies clear - Depolama:
storage local|session get|set|clear - Çevrimdışı:
set offline on|off - Başlıklar:
set headers --json '{"X-Debug":"1"}'(veya--clear) - HTTP basic auth:
set credentials user pass(veya--clear) - Coğrafi konum:
set geo <lat> <lon> --origin "https://example.com"(veya--clear) - Medya:
set media dark|light|no-preference|none - Saat dilimi / yerel ayar:
set timezone ...,set locale ... - Cihaz / görünüm alanı:
set device "iPhone 14"(Playwright cihaz ön ayarları)set viewport 1280 720
Güvenlik ve gizlilik
- openclaw tarayıcı profili oturum açılmış oturumlar içerebilir; hassas olarak değerlendirin.
browser act kind=evaluate/openclaw browser evaluatevewait --fn, sayfa bağlamında rastgele JavaScript çalıştırır. Prompt injection bunu yönlendirebilir. İhtiyacınız yoksabrowser.evaluateEnabled=falseile devre dışı bırakın.- Girişler ve anti-bot notları (X/Twitter vb.) için Tarayıcı girişi + X/Twitter gönderimi bölümüne bakın.
- Gateway/node host’u özel tutun (loopback veya tailnet-only).
- Uzak CDP uç noktaları güçlüdür; tünelleyin ve koruyun.
Sorun giderme
Linux’a özgü sorunlar (özellikle snap Chromium) için Tarayıcı sorun giderme bölümüne bakın.Ajan araçları + kontrolün nasıl çalıştığı
Ajan, tarayıcı otomasyonu için tek bir araç alır:browser— durum/başlat/durdur/sekme/aç/odakla/kapat/anlık görüntü/ekran görüntüsü/gezinti/eylem
browser snapshot, kararlı bir UI ağacı (AI veya ARIA) döndürür.browser act, tıklama/yazma/sürükleme/seçme için anlık görüntürefkimliklerini kullanır.browser screenshot, pikselleri yakalar (tam sayfa veya öğe).browser, şunları kabul eder:- Adlandırılmış bir tarayıcı profilini seçmek için
profile(openclaw, chrome veya uzak CDP). - Tarayıcının nerede yaşadığını seçmek için
target(sandbox|host|node). - Sandbox’lı oturumlarda
target: "host",agents.defaults.sandbox.browser.allowHostControl=truegerektirir. targetatlanırsa: sandbox’lı oturumlar varsayılan olaraksandbox, sandbox’sız oturumlar varsayılan olarakhostkullanır.- Tarayıcı yetenekli bir node bağlıysa,
target="host"veyatarget="node"’i sabitlemediğiniz sürece araç otomatik yönlendirme yapabilir.
- Adlandırılmış bir tarayıcı profilini seçmek için