Browser (openclaw tarafından yönetilen)
OpenClaw, ajanın kontrol ettiği ayrılmış 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çindeki küçük bir yerel kontrol hizmeti üzerinden yönetilir (yalnızca loopback). Başlangıç düzeyi görünüm:- 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 yazabilir.
- Yerleşik
userprofili, Chrome MCP üzerinden gerçek oturum açılmış Chrome oturumunuza bağlanır.
Elde edecekleriniz
- openclaw adlı ayrı bir tarayıcı profili (varsayılan olarak turuncu vurgu).
- Deterministik sekme kontrolü (listele/aç/odakla/kapat).
- Ajan eylemleri (tıkla/yaz/sürükle/seç), 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ıç
openclaw browser tamamen yoksa veya ajan tarayıcı aracının
kullanılamadığını söylüyorsa, Eksik browser komutu veya aracı bölümüne atlayın.
Plugin denetimi
Varsayılanbrowser aracı artık varsayılan olarak etkin gelen paketlenmiş bir plugin’dir.
Bu, OpenClaw’ın geri kalan plugin sistemini kaldırmadan onu devre dışı bırakabileceğiniz
veya değiştirebileceğiniz anlamına gelir:
browser araç adını sağlayan başka bir plugin yüklemeden önce paketlenmiş plugin’i devre dışı bırakın.
Varsayılan Browser deneyimi için ikisi de gerekir:
plugins.entries.browser.enableddevre dışı bırakılmamış olmalıbrowser.enabled=true
openclaw browser),
gateway yöntemi (browser.request), ajan aracı ve varsayılan browser kontrol
hizmeti birlikte kaybolur. browser.* yapılandırmanız, değiştirme plugin’inin yeniden kullanması için bozulmadan kalır.
Paketlenmiş browser plugin’i artık browser çalışma zamanı uygulamasının da sahibidir.
Çekirdek yalnızca paylaşılan Plugin SDK yardımcılarını ve eski dahili içe aktarma yolları için
uyumluluk yeniden dışa aktarımlarını tutar. Pratikte bu, browser plugin paketini kaldırmanın
veya değiştirmenin, ikinci bir çekirdek sahipli çalışma zamanı bırakmak yerine browser özellik kümesini kaldırdığı anlamına gelir.
Browser yapılandırma değişiklikleri, paketlenmiş plugin’in browser hizmetini yeni ayarlarla yeniden kaydedebilmesi için
hâlâ Gateway yeniden başlatması gerektirir.
Eksik browser komutu veya aracı
Bir yükseltmeden sonraopenclaw browser aniden bilinmeyen komut hâline geldiyse veya
ajan browser aracının eksik olduğunu bildiriyorsa, en yaygın neden browser içermeyen
kısıtlayıcı bir plugins.allow listesidir.
Bozuk yapılandırma örneği:
browser ekleyerek düzeltin:
plugins.allowayarlıysa tek başınabrowser.enabled=trueyeterli değildir.plugins.allowayarlıysa tek başınaplugins.entries.browser.enabled=truede yeterli değildir.tools.alsoAllow: ["browser"], paketlenmiş browser plugin’ini yüklemez. Yalnızca plugin zaten yüklendikten sonra araç politikasını ayarlar.- Kısıtlayıcı bir plugin allowlist gerekmiyorsa,
plugins.allowöğesini kaldırmak varsayılan paketlenmiş browser davranışını da geri getirir.
openclaw browserbilinmeyen bir komuttur.browser.requesteksiktir.- Ajan browser aracını kullanılamaz veya eksik olarak bildirir.
Profiller: openclaw ve user
openclaw: yönetilen, yalıtılmış browser (eklentisiz).user: gerçek oturum açılmış Chrome oturumunuz için yerleşik Chrome MCP ekleme profili.
- Varsayılan: yalıtılmış
openclawbrowser’ını kullanın. - Mevcut oturum açılmış oturumlar önemliyse ve kullanıcı bilgisayar başında olup herhangi bir ekleme/onay istemine tıklayabilecek durumdaysa
profile="user"tercih edin. - Belirli bir browser modu istediğinizde açık geçersiz kılma
profileolur.
browser.defaultProfile: "openclaw" ayarlayın.
Yapılandırma
Browser ayarları~/.openclaw/openclaw.json içinde bulunur.
- Browser kontrol hizmeti,
gateway.portdeğerinden türetilen bir portta loopback’e bağlanır (varsayılan:18791, yani gateway + 2). - Gateway portunu (
gateway.portveyaOPENCLAW_GATEWAY_PORT) geçersiz kılarsanız, türetilen browser portları aynı “ailede” kalacak şekilde kayar. cdpUrl, ayarlanmadığında varsayılan olarak yönetilen yerel CDP portunu kullanır.remoteCdpTimeoutMs, uzak (loopback olmayan) CDP erişilebilirlik kontrollerine uygulanır.remoteCdpHandshakeTimeoutMs, uzak CDP WebSocket erişilebilirlik kontrollerine uygulanır.- Browser gezintisi/sekme açma, gezinmeden önce SSRF korumalıdır ve gezinmeden sonra son
http(s)URL’sinde en iyi çabayla yeniden kontrol edilir. - Sıkı SSRF modunda, uzak CDP uç noktası keşfi/probları (
cdpUrl,/json/versionaramaları dahil) da kontrol edilir. browser.ssrfPolicy.dangerouslyAllowPrivateNetworkvarsayılan olarak devre dışıdır. Yalnızca özel ağ browser erişimine bilinçli olarak güveniyorsanıztrueyapın.browser.ssrfPolicy.allowPrivateNetwork, uyumluluk için eski bir takma ad olarak desteklenmeye devam eder.attachOnly: true, “yerel browser asla başlatma; yalnızca zaten çalışıyorsa ekle” anlamına gelir.color+ profil başınacolor, hangi profilin etkin olduğunu görebilmeniz için browser kullanıcı arayüzünü renklendirir.- Varsayılan profil
openclaw’dır (OpenClaw tarafından yönetilen bağımsız browser). Oturum açılmış kullanıcı browser’ına geçmek içindefaultProfile: "user"kullanın. - Otomatik algılama sırası: Chromium tabanlıysa sistem varsayılan browser’ı; değilse Chrome → Brave → Edge → Chromium → Chrome Canary.
- Yerel
openclawprofillericdpPort/cdpUrldeğerlerini otomatik atar — bunları yalnızca uzak CDP için ayarlayın. driver: "existing-session", ham CDP yerine Chrome DevTools MCP kullanır. Bu sürücü içincdpUrlayarlamayın.- Var olan oturum profili Brave veya Edge gibi varsayılan olmayan bir Chromium kullanıcı profiline bağlanacaksa
browser.profiles.<name>.userDataDirayarlayın.
Brave kullanın (veya başka bir Chromium tabanlı browser)
Sistem varsayılan browser’ı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 ayarlayın:
CLI örneği:
Yerel ve uzak kontrol
- Yerel kontrol (varsayılan): Gateway, loopback kontrol hizmetini başlatır ve yerel bir browser açabilir.
- Uzak kontrol (node host): Browser’ın bulunduğu makinede bir node host çalıştırın; Gateway browser eylemlerini ona proxy eder.
- Uzak CDP: Uzak bir Chromium tabanlı browser’a bağlanmak için
browser.profiles.<name>.cdpUrl(veyabrowser.cdpUrl) ayarlayın. Bu durumda OpenClaw yerel browser başlatmaz.
- yerel yönetilen profiller:
openclaw browser stop, OpenClaw’ın başlattığı browser sürecini durdurur - attach-only ve uzak CDP profilleri:
openclaw browser stop, etkin kontrol oturumunu kapatır ve Playwright/CDP emülasyon geçersiz kılmalarını (viewport, renk şeması, yerel ayar, saat dilimi, çevrimdışı modu ve benzeri durumlar) serbest bırakır; OpenClaw tarafından hiçbir browser süreci başlatılmamış olsa bile
- Sorgu belirteçleri (ör.
https://provider.example?token=<token>) - HTTP Basic kimlik doğrulaması (ör.
https://user:pass@provider.example)
/json/* uç noktaları çağrılırken ve
CDP WebSocket’e bağlanırken kimlik doğrulamayı korur. Belirteçleri yapılandırma dosyalarına işlemeyi önlemek için
çevre değişkenlerini veya gizli bilgi yöneticilerini tercih edin.
Node browser proxy (sıfır yapılandırmalı varsayılan)
Browser’ınızın bulunduğu makinede bir node host çalıştırırsanız, OpenClaw ek browser yapılandırması olmadan browser aracı çağrılarını otomatik olarak o node’a yönlendirebilir. Bu, uzak gateway’ler için varsayılan yoldur. Notlar:- Node host, yerel browser kontrol sunucusunu bir proxy komutu aracılığıyla sunar.
- Profiller, node’un kendi
browser.profilesyapılandırmasından gelir (yerel ile aynı). nodeHost.browserProxy.allowProfilesisteğe bağlıdır. Eski/varsayılan davranış için boş bırakın: profil oluşturma/silme yolları dahil tüm yapılandırılmış profiller proxy üzerinden erişilebilir kalır.nodeHost.browserProxy.allowProfilesayarlarsanız, OpenClaw bunu en az ayrıcalık sınırı olarak değerlendirir: yalnızca allowlist içindeki profiller hedeflenebilir ve kalıcı profil oluşturma/silme yolları proxy yüzeyinde engellenir.- İ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 ve WebSocket üzerinden CDP bağlantı URL’leri sunan barındırılan bir Chromium hizmetidir. OpenClaw her iki biçimi de kullanabilir, ancak uzak browser profili için en basit seçenek Browserless bağlantı dokümanlarındaki doğrudan WebSocket URL’sidir. Örnek:<BROWSERLESS_API_KEY>yerine gerçek Browserless belirtecinizi koyun.- Browserless hesabınıza uygun bölge uç noktasını seçin (dokümanlarına bakın).
- Browserless size bir HTTPS temel URL verirse, bunu doğrudan CDP bağlantısı için
wss://biçimine dönüştürebilir veya HTTPS URL’sini koruyup OpenClaw’ın/json/versionkeşfi yapmasına izin verebilirsiniz.
Doğrudan WebSocket CDP sağlayıcıları
Bazı barındırılan browser hizmetleri, standart HTTP tabanlı CDP keşfi (/json/version) yerine
doğrudan bir WebSocket uç noktası sunar. OpenClaw her ikisini de destekler:
- HTTP(S) uç noktaları — OpenClaw, WebSocket hata ayıklayıcı URL’sini keşfetmek için
/json/versionçağırır, ardından bağlanır. - WebSocket uç noktaları (
ws:///wss://) — OpenClaw doğrudan bağlanır,/json/versionadımını atlar. Bunu Browserless, Browserbase gibi hizmetler veya size WebSocket URL’si veren herhangi bir sağlayıcı için kullanın.
Browserbase
Browserbase, yerleşik CAPTCHA çözme, stealth modu ve residential proxy’lerle headless browser çalıştırmak için bir bulut platformudur.- Kaydolun ve Overview panosundan API Key değerinizi kopyalayın.
<BROWSERBASE_API_KEY>yerine gerçek Browserbase API anahtarınızı koyun.- Browserbase, WebSocket bağlantısında otomatik olarak bir browser oturumu oluşturur; bu nedenle elle oturum oluşturma adımı gerekmez.
- Ücretsiz katman ayda bir eşzamanlı oturuma ve bir browser saatine izin verir. Ücretli plan sınırları için fiyatlandırma sayfasına bakın.
- Tam API başvurusu, SDK kılavuzları ve entegrasyon örnekleri için Browserbase dokümantasyonuna bakın.
Güvenlik
Temel fikirler:- Browser kontrolü yalnızca loopback üzerindedir; erişim Gateway kimlik doğrulaması veya node eşleme üzerinden akar.
- Bağımsız loopback browser HTTP API’si yalnızca paylaşılan gizli anahtar kimlik doğrulaması kullanır:
gateway token bearer auth,
x-openclaw-passwordveya yapılandırılmış gateway parolasıyla HTTP Basic auth. - Tailscale Serve kimlik üst bilgileri ve
gateway.auth.mode: "trusted-proxy", bu bağımsız loopback browser API’sini kimlik doğrulamaz. - Browser kontrolü etkinse ve yapılandırılmış bir paylaşılan gizli anahtar kimlik doğrulaması yoksa, OpenClaw
açılışta
gateway.auth.tokendeğerini otomatik oluşturur ve yapılandırmaya kalıcı olarak kaydeder. gateway.auth.modezatenpassword,noneveyatrusted-proxyise OpenClaw bu belirteci otomatik oluşturmaz.- Gateway’i ve tüm node host’ları özel bir ağda tutun (Tailscale); herkese açık ortama açmayın.
- Uzak CDP URL’lerini/belirteçlerini gizli bilgi olarak değerlendirin; ortam değişkenleri veya gizli bilgi yöneticisi kullanın.
- Mümkün olduğunda şifreli uç noktaları (HTTPS veya WSS) 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 browser)
OpenClaw birden çok adlandırılmış profili (yönlendirme yapılandırmaları) destekler. Profiller şunlar olabilir:- OpenClaw tarafından yönetilen: kendi kullanıcı veri dizini + CDP portuna sahip ayrılmış bir Chromium tabanlı browser örneği
- uzak: açık bir CDP URL’si (başka yerde çalışan Chromium tabanlı browser)
- mevcut oturum: Chrome DevTools MCP otomatik bağlanma üzerinden mevcut Chrome profiliniz
openclawprofili eksikse otomatik oluşturulur.userprofili Chrome MCP mevcut oturum ekleme için yerleşiktir.- Mevcut oturum profilleri
userdışında isteğe bağlıdır; bunları--driver existing-sessionile oluşturun. - Yerel CDP portları varsayılan olarak 18800–18899 aralığından ayrılır.
- Bir profil silindiğinde yerel veri dizini Çöp Kutusu’na taşınır.
?profile=<name> kabul eder; CLI ise --browser-profile kullanır.
Chrome DevTools MCP üzerinden mevcut oturum
OpenClaw ayrıca resmi Chrome DevTools MCP sunucusu üzerinden çalışan bir Chromium tabanlı browser profiline bağlanabilir. Bu, o browser profilinde zaten açık olan sekmeleri ve oturum durumunu yeniden kullanır. Resmi arka plan ve kurulum başvuruları:- Chrome for Developers: Tarayıcı oturumunuzla Chrome DevTools MCP kullanın
- Chrome DevTools MCP README
user
- Yerleşik
userprofili Chrome MCP otomatik bağlanma kullanır; bu da varsayılan yerel Google Chrome profilini hedefler.
userDataDir kullanın:
- Uzak hata ayıklama için o browser’ın inspect sayfasını açın.
- Uzak hata ayıklamayı etkinleştirin.
- Browser’ı çalışır halde tutun ve OpenClaw bağlandığında bağlantı istemini onaylayın.
- Chrome:
chrome://inspect/#remote-debugging - Brave:
brave://inspect/#remote-debugging - Edge:
edge://inspect/#remote-debugging
status,driver: existing-sessiongösterirstatus,transport: chrome-mcpgösterirstatus,running: truegösterirtabs, zaten açık browser sekmelerinizi listelersnapshot, seçili canlı sekmeden ref’ler döndürür
- hedef Chromium tabanlı browser sürümü
144+olmalı - uzak hata ayıklama, o browser’ın inspect sayfasında etkinleştirilmiş olmalı
- browser bağlantı onayı istemini göstermiş ve siz kabul etmiş olmalısınız
openclaw doctor, eski uzantı tabanlı browser yapılandırmasını geçirir ve varsayılan otomatik bağlanma profilleri için Chrome’un yerel olarak yüklü olup olmadığını kontrol eder, ancak browser tarafı uzak hata ayıklamayı sizin yerinize etkinleştiremez
- Kullanıcının oturum açılmış browser durumuna ihtiyaç duyduğunuzda
profile="user"kullanın. - Özel bir mevcut oturum profili kullanıyorsanız, o açık profil adını geçin.
- Bu modu yalnızca kullanıcı bilgisayar başındaysa ve ekleme istemini onaylayabilecek durumdaysa seçin.
- Gateway veya node host,
npx chrome-devtools-mcp@latest --autoConnectbaşlatabilir
- Bu yol, oturum açılmış browser oturumunuz içinde işlem yapabildiği için yalıtılmış
openclawprofiline göre daha yüksek risklidir. - OpenClaw bu sürücü için browser başlatmaz; yalnızca mevcut bir oturuma bağlanır.
- OpenClaw burada resmi Chrome DevTools MCP
--autoConnectakışını kullanır.userDataDirayarlıysa, OpenClaw bunu açık Chromium kullanıcı veri dizinini hedeflemek için iletir. - Mevcut oturum ekran görüntüleri sayfa yakalamalarını ve anlık görüntülerden
--reföğe yakalamalarını destekler, ancak CSS--elementseçicilerini desteklemez. - Mevcut oturum sayfa ekran görüntüleri Playwright olmadan Chrome MCP üzerinden çalışır.
Ref tabanlı öğe ekran görüntüleri (
--ref) da burada çalışır, ancak--full-pageile--refveya--elementbirlikte kullanılamaz. - Mevcut oturum eylemleri hâlâ yönetilen browser yoluna göre daha sınırlıdır:
click,type,hover,scrollIntoView,dragveselect, CSS seçicileri yerine anlık görüntü ref’leri gerektirirclickyalnızca sol düğme içindir (düğme geçersiz kılmaları veya değiştirici tuşlar yok)type,slowly=truedesteklemez;fillveyapresskullanınpress,delayMsdesteklemezhover,scrollIntoView,drag,select,fillveevaluate, çağrı başına zaman aşımı geçersiz kılmalarını desteklemezselectşu anda yalnızca tek bir değeri destekler
- Mevcut oturum
wait --url, diğer browser sürücüleri gibi tam, alt dize ve glob desenlerini destekler.wait --load networkidlehenüz desteklenmiyor. - Mevcut oturum yükleme kancaları
refveyainputRefgerektirir, aynı anda tek dosya destekler ve CSSelementhedeflemeyi desteklemez. - Mevcut oturum ileti kutusu kancaları zaman aşımı geçersiz kılmalarını desteklemez.
- Toplu eylemler, PDF dışa aktarma, indirme yakalama ve
responsebodydahil bazı özellikler hâlâ yönetilen browser yolunu gerektirir. - Mevcut oturum ana makineye özeldir. Chrome farklı bir makinede veya farklı bir ağ ad alanında bulunuyorsa, bunun yerine uzak CDP veya bir node host kullanın.
Yalıtım garantileri
- Ayrılmış kullanıcı veri dizini: kişisel browser profilinize asla dokunmaz.
- Ayrılmış portlar: geliştirme iş akışlarıyla çakışmayı önlemek için
9222kullanılmaz. - Deterministik sekme kontrolü: hedef sekmeler “son sekme” ile değil,
targetIdile belirlenir.
Browser seçimi
Yerel başlatmada OpenClaw şu ilk uygun olanı seçer:- Chrome
- Brave
- Edge
- Chromium
- Chrome Canary
browser.executablePath ile geçersiz kılabilirsiniz.
Platformlar:
- macOS:
/Applicationsve~/Applicationskontrol edilir. - Linux:
google-chrome,brave,microsoft-edge,chromiumvb. aranır. - Windows: yaygın kurulum konumları kontrol edilir.
Kontrol API’si (isteğe bağlı)
Yalnızca yerel entegrasyonlar için Gateway, küçük bir loopback HTTP API 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.
Paylaşılan gizli anahtar gateway kimlik doğrulaması yapılandırılmışsa, browser HTTP yolları da kimlik doğrulama gerektirir:
Authorization: Bearer <gateway token>x-openclaw-password: <gateway password>veya bu parola ile HTTP Basic auth
- Bu bağımsız loopback browser API’si
trusted-proxyveya Tailscale Serve kimlik üst bilgilerini kullanmaz. gateway.auth.modedeğerinoneveyatrusted-proxyise, bu loopback browser yolları bu kimlik taşıyan modları devralmaz; bunları yalnızca loopback ile sınırlı tutun.
/act hata sözleşmesi
POST /act, yön düzeyi doğrulama ve
politika hataları için yapılandırılmış bir hata yanıtı kullanır:
code değerleri:
ACT_KIND_REQUIRED(HTTP 400):kindeksik veya tanınmıyor.ACT_INVALID_REQUEST(HTTP 400): eylem yükü normalleştirme veya doğrulamadan geçemedi.ACT_SELECTOR_UNSUPPORTED(HTTP 400):selector, desteklenmeyen bir eylem türüyle kullanıldı.ACT_EVALUATE_DISABLED(HTTP 403):evaluate(veyawait --fn) yapılandırma nedeniyle devre dışı.ACT_TARGET_ID_MISMATCH(HTTP 403): üst düzey veya toplutargetId, istek hedefiyle çakışıyor.ACT_EXISTING_SESSION_UNSUPPORTED(HTTP 501): eylem, mevcut oturum profilleri için desteklenmiyor.
code alanı olmadan
{ "error": "<message>" } döndürebilir.
Playwright gereksinimi
Bazı özellikler (navigate/act/AI snapshot/role snapshot, öğe ekran görüntüleri, PDF) Playwright gerektirir. Playwright yüklü değilse bu uç noktalar açık bir 501 hatası döndürür. Playwright olmadan hâlâ çalışanlar:- ARIA anlık görüntüleri
- Sekme başına CDP WebSocket mevcut olduğunda yönetilen
openclawbrowser’ı için sayfa ekran görüntüleri existing-session/ Chrome MCP profilleri için sayfa ekran görüntüleri- Anlık görüntü çıktısından
existing-sessionref tabanlı ekran görüntüleri (--ref)
navigateact- AI anlık görüntüleri / rol anlık görüntüleri
- CSS seçicili öğe ekran görüntüleri (
--element) - tam browser PDF dışa aktarma
--full-page seçeneğini reddeder; yön
fullPage is not supported for element screenshots döndürür.
Playwright yüklemesi için en net hata mesajı Playwright is not available in this gateway build ise, tam
Playwright paketini (playwright-core değil) yükleyin ve gateway’i yeniden başlatın ya da
OpenClaw’ı browser desteğiyle yeniden kurun.
Docker Playwright yüklemesi
Gateway’iniz Docker içinde çalışıyorsanpx playwright kullanmaktan kaçının (npm override çakışmaları).
Bunun yerine paketlenmiş CLI’yi kullanın:
PLAYWRIGHT_BROWSERS_PATH ayarlayın (örneğin,
/home/node/.cache/ms-playwright) ve /home/node dizininin
OPENCLAW_HOME_VOLUME veya bir bind mount aracılığıyla kalıcı olduğundan emin olun. Bkz. Docker.
Nasıl çalışır (dahili)
Yüksek düzey akış:- Küçük bir kontrol sunucusu HTTP isteklerini kabul eder.
- Chromium tabanlı browser’lara (Chrome/Brave/Edge/Chromium) CDP üzerinden bağlanır.
- Gelişmiş eylemler (tıklama/yazma/anlık görüntü/PDF) için 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ı için --json da kabul eder (kararlı yükler).
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 error
- Attach-only ve uzak CDP profilleri için de testlerden sonra doğru temizleme komutu
openclaw browser stopkomutudur. Alttaki browser’ı öldürmek yerine etkin kontrol oturumunu kapatır ve geçici emülasyon geçersiz kılmalarını temizler. openclaw 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 report.pdfopenclaw browser waitfordownload report.pdfopenclaw browser upload /tmp/openclaw/uploads/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
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 --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; dosya seçiciyi/ileti kutusunu tetikleyen tıklama/basma işleminden önce bunları çalıştırın.- İndirme ve iz çıktı yolları OpenClaw geçici kökleriyle sınırlandırılmıştır:
- izler:
/tmp/openclaw(geri dönüş:${os.tmpdir()}/openclaw) - indirmeler:
/tmp/openclaw/downloads(geri dönüş:${os.tmpdir()}/openclaw/downloads)
- izler:
- Yükleme yolları bir OpenClaw geçici yükleme köküyle sınırlandırılmıştır:
- yüklemeler:
/tmp/openclaw/uploads(geri dönüş:${os.tmpdir()}/openclaw/uploads)
- yüklemeler:
upload,--input-refveya--elementile dosya girdilerini doğrudan da ayarlayabilir.snapshot:--format ai(Playwright yüklüyse varsayılan): sayısal ref’lere sahip bir AI anlık görüntüsü döndürür (aria-ref="<n>").--format aria: erişilebilirlik ağacını döndürür (ref yok; yalnızca inceleme).--efficient(veya--mode efficient): kompakt rol anlık görüntüsü ön ayarıdır (interactive + compact + depth + 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üleri kullanmak için
browser.snapshotDefaults.mode: "efficient"ayarlayın (bkz. Gateway configuration). - Rol anlık görüntüsü seçenekleri (
--interactive,--compact,--depth,--selector)ref=e12gibi ref’lerle rol tabanlı bir anlık görüntüyü zorlar. --frame "<iframe selector>", rol anlık görüntülerini bir iframe ile sınırlar (e12gibi rol ref’leriyle birlikte çalışır).--interactive, etkileşimli öğelerin düz, seçmesi kolay bir listesini üretir (eylemleri yönlendirmek için en iyisi).--labels, üstüne ref etiketleri bindirilmiş yalnızca viewport ekran görüntüsü ekler (MEDIA:<path>yazdırır).
click/type/vb.snapshotiçinden birrefgerektirir (sayısal12veya rol ref’ie12). CSS seçicileri eylemler için bilerek desteklenmez.
Anlık görüntüler ve ref’ler
OpenClaw iki “anlık görüntü” stilini destekler:-
AI anlık görüntüsü (sayısal ref’ler):
openclaw browser snapshot(varsayılan;--format ai)- Çıktı: sayısal ref’ler içeren bir metin anlık görüntüsü.
- Eylemler:
openclaw browser click 12,openclaw browser type 23 "hello". - Dahili olarak ref, Playwright’ın
aria-refözelliği üzerinden çözülür.
-
Rol anlık görüntüsü (
e12gibi rol ref’leri):openclaw browser snapshot --interactive(veya--compact,--depth,--selector,--frame)- Çıktı:
[ref=e12](ve isteğe bağlı[nth=1]) içeren rol tabanlı liste/ağaç. - Eylemler:
openclaw browser click e12,openclaw browser highlight e12. - Dahili olarak ref,
getByRole(...)(tekrarlardanth()` ile birlikte) üzerinden çözülür. - Üzerine bindirilmiş
e12etiketlerine sahip bir viewport ekran görüntüsü eklemek için--labelsekleyin.
- Çıktı:
- Ref’ler gezinmeler arasında kararlı değildir; bir şey başarısız olursa
snapshotkomutunu yeniden çalıştırın ve yeni bir ref kullanın. - Rol anlık görüntüsü
--frameile alındıysa, rol ref’leri bir sonraki rol anlık görüntüsüne kadar o iframe ile sınırlıdır.
Wait güçlendirmeleri
Yalnızca zaman/metin üzerinde beklemeniz gerekmez:- URL bekle (Playwright tarafından desteklenen glob’lar):
openclaw browser wait --url "**/dash"
- Yük durumunu bekle:
openclaw browser wait --load networkidle
- JS predicate bekle:
openclaw browser wait --fn "window.ready===true"
- Bir seçicinin görünür olmasını bekle:
openclaw browser wait "#main"
Hata ayıklama iş akışları
Bir eylem başarısız olduğunda (ör. “not visible”, “strict mode violation”, “covered”):openclaw browser snapshot --interactiveclick <ref>/type <ref>kullanın (interactive modda rol ref’lerini tercih edin)- Hâlâ başarısız olursa: 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, betik yazımı ve yapılandırılmış araçlar içindir.
Örnekler:
OC_I18N_900014
JSON içindeki rol anlık görüntüleri refs ile birlikte küçük bir stats bloğu da içerir (lines/chars/refs/interactive); böylece araçlar yük boyutu ve yoğunluğu hakkında çıkarım yapabilir.
Durum ve ortam ayarları
Bunlar “siteyi X gibi davranmaya zorla” iş akışları için kullanışlıdır:- Cookies:
cookies,cookies set,cookies clear - Storage:
storage local|session get|set|clear - Offline:
set offline on|off - Headers:
set headers --headers-json '{"X-Debug":"1"}'(eskiset headers --json '{"X-Debug":"1"}'desteği sürer) - HTTP basic auth:
set credentials user pass(veya--clear) - Geolocation:
set geo <lat> <lon> --origin "https://example.com"(veya--clear) - Media:
set media dark|light|no-preference|none - Saat dilimi / yerel ayar:
set timezone ...,set locale ... - Cihaz / viewport:
set device "iPhone 14"(Playwright cihaz ön ayarları)set viewport 1280 720
Güvenlik ve gizlilik
- openclaw browser 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 yürütü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 Browser login + X/Twitter posting bölümüne bakın.
- Gateway/node host’u özel tutun (yalnızca loopback veya tailnet).
- Uzak CDP uç noktaları güçlüdür; tünelleyin ve koruyun.
Sorun giderme
Linux’e özgü sorunlar için (özellikle snap Chromium), bkz. Browser sorun giderme. WSL2 Gateway + Windows Chrome bölünmüş ana makine kurulumları için bkz. WSL2 + Windows + remote Chrome CDP sorun giderme.Ajan araçları + denetimin nasıl çalıştığı
Ajan, browser otomasyonu için tek bir araç alır:browser— status/start/stop/tabs/open/focus/close/snapshot/screenshot/navigate/act
browser snapshot, kararlı bir UI ağacı döndürür (AI veya ARIA).browser act, tıklama/yazma/sürükleme/seçme işlemleri için anlık görüntürefkimliklerini kullanır.browser screenshot, piksel yakalar (tam sayfa veya öğe).browserşunları kabul eder:- Adlandırılmış browser profilini seçmek için
profile(openclaw, chrome veya uzak CDP). - Browser’ın nerede yaşadığını seçmek için
target(sandbox|host|node). - Sandbox’lı oturumlarda
target: "host"içinagents.defaults.sandbox.browser.allowHostControl=truegerekir. targetatlanırsa: sandbox’lı oturumlar varsayılan olaraksandbox, sandbox’sız oturumlar varsayılan olarakhostkullanır.- Browser yetenekli bir node bağlıysa,
target="host"veyatarget="node"ile sabitlemediğiniz sürece araç otomatik olarak ona yönlenebilir.
- Adlandırılmış browser profilini seçmek için
İlgili
- Araçlara Genel Bakış — tüm kullanılabilir ajan araçları
- Sandboxing — sandbox ortamlarında browser denetimi
- Güvenlik — browser denetimi riskleri ve sıkılaştırma