Tools
Web'den getirme
web_fetch düz bir HTTP GET isteği gerçekleştirir ve okunabilir içeriği (HTML'den
markdown'a veya metne) çıkarır. JavaScript'i çalıştırmaz. JS ağırlıklı siteler veya
oturum açma korumalı sayfalar için bunun yerine Web Tarayıcısı kullanın.
Hızlı başlangıç
Varsayılan olarak etkindir, yapılandırma gerekmez:
await web_fetch({ url: "https://example.com/article" });Araç parametreleri
urlstringrequiredGetirilecek URL. Yalnızca http(s).
extractMode'markdown' | 'text'default: markdownAna içerik çıkarıldıktan sonraki çıktı biçimi.
maxCharsnumberÇıktıyı bu karakter sayısına kadar kırpın. tools.web.fetch.maxCharsCap ile sınırlandırılır.
Sonuç
web_fetch şu alanları içeren kapalı, yapılandırılmış bir sonuç döndürür:
- İstek meta verileri:
url,finalUrl,status,extractModeveextractor - İsteğe bağlı yanıt meta verileri:
contentType,titlevewarning(mevcut olmadığında dahil edilmez) - Sarmalanmış içerik meta verileri:
externalContent,truncated,length,rawLength,fetchedAt,tookMsvetext - Önbellek isabetinde isteğe bağlı
cached: true - Kırpılmış içerik özel bir geçici dosyaya yazıldığında isteğe bağlı
spill: { path, chars, truncated? };truncatedyalnızca bu dosya kısmi kaynak içeriği barındırdığında mevcuttur
length, sarmalanmış text uzunluğudur. rawLength, harici içerik
sarmalamasından önceki çıkarılmış içerik uzunluğudur.
Nasıl çalışır?
Getirme
Chrome benzeri bir User-Agent ve Accept-Language üst bilgisiyle bir HTTP GET
isteği gönderir. Özel/dahili ana bilgisayar adlarını engeller ve yönlendirmeleri yeniden denetler.
Çıkarma
HTML yanıtında Readability'yi (ana içerik çıkarma) çalıştırır.
Geri dönüş (isteğe bağlı)
Readability başarısız olursa ve bir getirme sağlayıcısı mevcutsa istek bu sağlayıcı üzerinden yeniden denenir (örneğin Firecrawl'ın bot engellerini aşma modu).
Önbellek
Aynı URL'nin tekrar tekrar getirilmesini azaltmak için sonuçlar 15 dakika boyunca önbelleğe alınır (yapılandırılabilir).
İlerleme güncellemeleri
web_fetch, yalnızca getirme işlemi beş saniye sonra hâlâ beklemedeyse
herkese açık bir ilerleme satırı yayınlar:
Sayfa içeriği getiriliyor...Hızlı önbellek isabetleri ve hızlı ağ yanıtları zamanlayıcı tetiklenmeden önce tamamlandığından hiçbir zaman ilerleme satırı göstermez. Çağrının iptal edilmesi zamanlayıcıyı temizler. İlerleme satırı yalnızca kanal kullanıcı arayüzü durumudur ve getirilen sayfa içeriğini asla barındırmaz.
Yapılandırma
{ tools: { web: { fetch: { enabled: true, // varsayılan: true provider: "firecrawl", // isteğe bağlı; otomatik algılama için dahil etmeyin maxChars: 20000, // varsayılan çıktı karakterleri; maxCharsCap ile sınırlandırılır maxCharsCap: 20000, // maxChars parametresi için kesin üst sınır maxResponseBytes: 750000, // kırpmadan önceki en yüksek indirme boyutu (32000-10000000) timeoutSeconds: 30, cacheTtlMinutes: 15, maxRedirects: 3, useTrustedEnvProxy: false, // güvenilir bir HTTP(S) ortam proxy'sinin DNS'i çözmesine izin ver readability: true, // Readability çıkarmasını kullan userAgent: "Mozilla/5.0 ...", // User-Agent'ı geçersiz kıl ssrfPolicy: { allowRfc2544BenchmarkRange: true, // 198.18.0.0/15 kullanan güvenilir sahte IP proxy'leri için açık katılım allowIpv6UniqueLocalRange: true, // fc00::/7 kullanan güvenilir sahte IP proxy'leri için açık katılım }, }, }, },}Firecrawl geri dönüşü
Readability çıkarma işlemi başarısız olursa web_fetch, bot engellerini aşmak ve
daha iyi çıkarma sağlamak için Firecrawl hizmetine geri dönebilir:
{ tools: { web: { fetch: { provider: "firecrawl", // isteğe bağlı; mevcut kimlik bilgilerinden otomatik algılama için dahil etmeyin }, }, }, plugins: { entries: { firecrawl: { enabled: true, config: { webFetch: { // apiKey: "fc-...", // isteğe bağlı; anahtarsız başlangıç erişimi için dahil etmeyin baseUrl: "https://api.firecrawl.dev", onlyMainContent: true, maxAgeMs: 172800000, // önbellek süresi (2 gün) timeoutSeconds: 60, }, }, }, }, },}plugins.entries.firecrawl.config.webFetch.apiKey isteğe bağlıdır ve SecretRef nesnelerini destekler.
Eski tools.web.fetch.firecrawl.* yapılandırması, openclaw doctor --fix aracılığıyla
otomatik olarak plugins.entries.firecrawl.config.webFetch biçimine geçirilir.
Geçerli çalışma zamanı davranışı:
tools.web.fetch.provider, getirme geri dönüşü sağlayıcısını açıkça seçer.providerdahil edilmezse OpenClaw, yapılandırılmış kimlik bilgilerinden hazır durumdaki ilk web getirme sağlayıcısını otomatik olarak algılar. Korumalı alanda çalışmayanweb_fetch,contracts.webFetchProvidersbildiren ve çalışma zamanında eşleşen bir sağlayıcı kaydeden yüklü Plugin'leri kullanabilir. Resmî Firecrawl Plugin'i günümüzde bu geri dönüşü sağlar.- Korumalı alandaki
web_fetchçağrıları, paketlenmiş sağlayıcıların yanı sıra resmî npm veya ClawHub kaynağı doğrulanmış yüklü sağlayıcılara izin verir. Günümüzde bu, resmî Firecrawl Plugin'ine izin verir; üçüncü taraf harici getirme Plugin'leri kapsam dışında kalır. - Readability devre dışıysa
web_fetchdoğrudan seçilen sağlayıcı geri dönüşüne geçer. Kullanılabilir sağlayıcı yoksa güvenli biçimde başarısız olur.
Güvenilir ortam proxy'si
Dağıtımınızda web_fetch isteğinin güvenilir bir giden
HTTP(S) proxy'si üzerinden geçmesi gerekiyorsa tools.web.fetch.useTrustedEnvProxy: true değerini ayarlayın.
Bu modda OpenClaw, isteği göndermeden önce ana bilgisayar adına dayalı SSRF denetimlerini uygulamaya devam eder ancak yerel DNS sabitlemesi yapmak yerine proxy'nin DNS'i çözmesine izin verir. Bunu yalnızca proxy operatör denetimindeyse ve DNS çözümlemesinden sonra giden trafik politikasını uyguluyorsa etkinleştirin.
Sınırlar ve güvenlik
maxChars,tools.web.fetch.maxCharsCapile sınırlandırılır (varsayılan20000)- Yanıt gövdesi ayrıştırılmadan önce
maxResponseBytesile sınırlandırılır (varsayılan750000, 32000-10000000 aralığıyla sınırlandırılır); aşırı büyük yanıtlar bir uyarıyla kırpılır - Özel/dahili ana bilgisayar adları engellenir
tools.web.fetch.ssrfPolicy.allowRfc2544BenchmarkRangevetools.web.fetch.ssrfPolicy.allowIpv6UniqueLocalRange, güvenilir sahte IP proxy yığınları için dar kapsamlı açık katılımlardır; proxy'niz bu sentetik aralıkların sahibi değilse ve kendi hedef politikasını uygulamıyorsa bunları ayarlamayın- Yönlendirmeler denetlenir ve
maxRedirectsile sınırlandırılır (varsayılan3) useTrustedEnvProxyaçık bir katılımdır ve yalnızca DNS çözümlemesinden sonra da giden trafik politikasını uygulayan, operatör denetimindeki proxy'ler için etkinleştirilmelidirweb_fetchen iyi çaba esasına dayanır -- bazı siteler Web Tarayıcısı gerektirir
Araç profilleri
Araç profilleri veya izin listeleri kullanıyorsanız web_fetch ya da group:web ekleyin:
{ tools: { allow: ["web_fetch"], // veya: allow: ["group:web"] (web_fetch, web_search ve x_search içerir) },}İlgili
- Web Araması -- birden fazla sağlayıcıyla web'de arama yapın
- Web Tarayıcısı -- JS ağırlıklı siteler için tam tarayıcı otomasyonu
- Firecrawl -- Firecrawl arama ve veri kazıma araçları