Tools
Web ophalen
web_fetch voert een gewone HTTP GET uit en extraheert leesbare inhoud (HTML naar
Markdown of tekst). JavaScript wordt niet uitgevoerd. Gebruik voor sites die sterk van JS afhankelijk zijn of
pagina's waarvoor aanmelding vereist is in plaats daarvan de webbrowser.
Snel aan de slag
Standaard ingeschakeld, geen configuratie nodig:
await web_fetch({ url: "https://example.com/article" });Toolparameters
urlstringrequiredURL om op te halen. Alleen http(s).
extractMode'markdown' | 'text'default: markdownUitvoerindeling na extractie van de hoofdinhoud.
maxCharsnumberKort de uitvoer af tot dit aantal tekens. Begrensd op tools.web.fetch.maxCharsCap.
Resultaat
web_fetch retourneert een gesloten, gestructureerd resultaat met deze velden:
- Metagegevens van het verzoek:
url,finalUrl,status,extractModeenextractor - Optionele metagegevens van het antwoord:
contentType,titleenwarning(weggelaten indien afwezig) - Metagegevens van de verpakte inhoud:
externalContent,truncated,length,rawLength,fetchedAt,tookMsentext - Optionele
cached: truebij een cachetreffer - Optionele
spill: { path, chars, truncated? }wanneer afgekorte inhoud naar een privé-tijdelijk bestand is geschreven;truncatedis alleen aanwezig wanneer dat bestand gedeeltelijke broninhoud bevat
length is de lengte van de verpakte text. rawLength is de lengte van de geëxtraheerde inhoud
vóór het verpakken van externe inhoud.
Werking
Ophalen
Verzendt een HTTP GET met een Chrome-achtige User-Agent en de header Accept-Language.
Blokkeert privé-/interne hostnamen en controleert omleidingen opnieuw.
Extraheren
Voert Readability (extractie van hoofdinhoud) uit op het HTML-antwoord.
Terugval (optioneel)
Als Readability mislukt en er een ophaalprovider beschikbaar is, wordt het opnieuw geprobeerd via die provider (bijvoorbeeld Firecrawls modus om botdetectie te omzeilen).
Cache
Resultaten worden 15 minuten in de cache opgeslagen (configureerbaar) om herhaaldelijk ophalen van dezelfde URL te beperken.
Voortgangsupdates
web_fetch geeft alleen een openbare voortgangsregel weer wanneer het ophalen na
vijf seconden nog steeds bezig is:
Pagina-inhoud ophalen...Snelle cachetreffers en snelle netwerkantwoorden zijn klaar voordat de timer afgaat en tonen daarom nooit een voortgangsregel. Als de aanroep wordt geannuleerd, wordt de timer gewist. De voortgangsregel is uitsluitend de UI-status van het kanaal en bevat nooit opgehaalde pagina-inhoud.
Configuratie
{ tools: { web: { fetch: { enabled: true, // standaard: true provider: "firecrawl", // optioneel; weglaten voor automatische detectie maxChars: 20000, // standaardaantal uitvoertekens; begrensd door maxCharsCap maxCharsCap: 20000, // harde limiet voor de parameter maxChars maxResponseBytes: 750000, // maximale downloadgrootte vóór afkapping (32000-10000000) timeoutSeconds: 30, cacheTtlMinutes: 15, maxRedirects: 3, useTrustedEnvProxy: false, // laat een vertrouwde HTTP(S)-omgevingsproxy DNS omzetten readability: true, // gebruik Readability-extractie userAgent: "Mozilla/5.0 ...", // overschrijf User-Agent ssrfPolicy: { allowRfc2544BenchmarkRange: true, // expliciete inschakeling voor vertrouwde proxy's met nep-IP's die 198.18.0.0/15 gebruiken allowIpv6UniqueLocalRange: true, // expliciete inschakeling voor vertrouwde proxy's met nep-IP's die fc00::/7 gebruiken }, }, }, },}Firecrawl-terugval
Als Readability-extractie mislukt, kan web_fetch terugvallen op
Firecrawl om botdetectie te omzeilen en de extractie te verbeteren:
{ tools: { web: { fetch: { provider: "firecrawl", // optioneel; weglaten voor automatische detectie aan de hand van beschikbare referenties }, }, }, plugins: { entries: { firecrawl: { enabled: true, config: { webFetch: { // apiKey: "fc-...", // optioneel; weglaten voor sleutelvrije starterstoegang baseUrl: "https://api.firecrawl.dev", onlyMainContent: true, maxAgeMs: 172800000, // cacheduur (2 dagen) timeoutSeconds: 60, }, }, }, }, },}plugins.entries.firecrawl.config.webFetch.apiKey is optioneel en ondersteunt SecretRef-objecten.
Verouderde tools.web.fetch.firecrawl.*-configuratie wordt automatisch gemigreerd naar
plugins.entries.firecrawl.config.webFetch via openclaw doctor --fix.
Huidig runtimegedrag:
tools.web.fetch.providerselecteert expliciet de terugvalprovider voor ophalen.- Als
providerwordt weggelaten, detecteert OpenClaw automatisch de eerste beschikbare provider voor ophalen van het web aan de hand van geconfigureerde referenties.web_fetchbuiten een sandbox kan geïnstalleerde plugins gebruiken diecontracts.webFetchProvidersdeclareren en tijdens runtime een overeenkomende provider registreren. De officiële Firecrawl-plugin biedt deze terugval momenteel. - Aanroepen van
web_fetchin een sandbox staan gebundelde providers toe, plus geïnstalleerde providers waarvan de officiële npm- of ClawHub-herkomst is geverifieerd. Momenteel staat dit de officiële Firecrawl-plugin toe; externe ophaalplugins van derden blijven uitgesloten. - Als Readability is uitgeschakeld, gaat
web_fetchdirect door naar de geselecteerde terugvalprovider. Als er geen provider beschikbaar is, wordt de aanroep veilig geweigerd.
Vertrouwde omgevingsproxy
Als je implementatie vereist dat web_fetch via een vertrouwde uitgaande
HTTP(S)-proxy loopt, stel je tools.web.fetch.useTrustedEnvProxy: true in.
In deze modus past OpenClaw nog steeds SSRF-controles op basis van hostnamen toe voordat het verzoek wordt verzonden, maar laat het de proxy DNS omzetten in plaats van lokale DNS-pinning uit te voeren. Schakel dit alleen in wanneer de proxy door de beheerder wordt beheerd en na DNS-resolutie beleid voor uitgaand verkeer afdwingt.
Limieten en veiligheid
maxCharswordt begrensd optools.web.fetch.maxCharsCap(standaard20000)- De hoofdtekst van het antwoord wordt vóór verwerking begrensd op
maxResponseBytes(standaard750000, begrensd op 32000-10000000); te grote antwoorden worden met een waarschuwing afgekort - Privé-/interne hostnamen worden geblokkeerd
tools.web.fetch.ssrfPolicy.allowRfc2544BenchmarkRangeentools.web.fetch.ssrfPolicy.allowIpv6UniqueLocalRangezijn beperkte expliciete inschakelingen voor vertrouwde proxystacks met nep-IP's; laat ze oningesteld, tenzij je proxy eigenaar is van die synthetische bereiken en zijn eigen bestemmingsbeleid afdwingt- Omleidingen worden gecontroleerd en beperkt door
maxRedirects(standaard3) useTrustedEnvProxyvereist expliciete inschakeling en mag alleen worden ingeschakeld voor proxy's die door de beheerder worden beheerd en na DNS-resolutie nog steeds beleid voor uitgaand verkeer afdwingenweb_fetchwerkt naar beste vermogen -- sommige sites vereisen de webbrowser
Toolprofielen
Als je toolprofielen of toelatingslijsten gebruikt, voeg je web_fetch of group:web toe:
{ tools: { allow: ["web_fetch"], // of: allow: ["group:web"] (omvat web_fetch, web_search en x_search) },}Gerelateerd
- Zoeken op het web -- doorzoek het web met meerdere providers
- Webbrowser -- volledige browserautomatisering voor sites die sterk van JS afhankelijk zijn
- Firecrawl -- Firecrawl-tools voor zoeken en scrapen