Tools
Web-Abruf
web_fetch führt einen einfachen HTTP-GET aus und extrahiert lesbare Inhalte (HTML in
Markdown oder Text). JavaScript wird dabei nicht ausgeführt. Verwenden Sie für stark
JS-basierte Websites oder durch Anmeldung geschützte Seiten stattdessen den
Webbrowser.
Schnellstart
Standardmäßig aktiviert, keine Konfiguration erforderlich:
await web_fetch({ url: "https://example.com/article" });Tool-Parameter
urlstringrequiredAbzurufende URL. Nur http(s).
extractMode'markdown' | 'text'default: markdownAusgabeformat nach der Extraktion des Hauptinhalts.
maxCharsnumberKürzt die Ausgabe auf diese Zeichenanzahl. Wird auf tools.web.fetch.maxCharsCap begrenzt.
Funktionsweise
Abrufen
Sendet einen HTTP-GET mit einem Chrome-ähnlichen User-Agent und dem Header
Accept-Language. Blockiert private/interne Hostnamen und überprüft Weiterleitungen erneut.
Extrahieren
Führt Readability (Extraktion des Hauptinhalts) für die HTML-Antwort aus.
Fallback (optional)
Wenn Readability fehlschlägt und ein Abruf-Provider verfügbar ist, erfolgt ein erneuter Versuch über diesen Provider (beispielsweise mit dem Modus von Firecrawl zur Bot-Umgehung).
Cache
Ergebnisse werden 15 Minuten lang zwischengespeichert (konfigurierbar), um wiederholte Abrufe derselben URL zu reduzieren.
Fortschrittsmeldungen
web_fetch gibt nur dann eine öffentliche Fortschrittszeile aus, wenn der Abruf nach
fünf Sekunden noch aussteht:
Seiteninhalt wird abgerufen...Schnelle Cache-Treffer und zügige Netzwerkantworten werden abgeschlossen, bevor der Timer ausgelöst wird, sodass sie nie eine Fortschrittszeile anzeigen. Beim Abbrechen des Aufrufs wird der Timer gelöscht. Die Fortschrittszeile ist ausschließlich ein Zustand der Kanaloberfläche und enthält niemals Inhalte der abgerufenen Seite.
Konfiguration
{ tools: { web: { fetch: { enabled: true, // Standard: true provider: "firecrawl", // optional; zur automatischen Erkennung weglassen maxChars: 20000, // standardmäßige Anzahl der Ausgabezeichen; durch maxCharsCap begrenzt maxCharsCap: 20000, // feste Obergrenze für den Parameter maxChars maxResponseBytes: 750000, // maximale Downloadgröße vor der Kürzung (32000-10000000) timeoutSeconds: 30, cacheTtlMinutes: 15, maxRedirects: 3, useTrustedEnvProxy: false, // einem vertrauenswürdigen HTTP(S)-Umgebungsproxy die DNS-Auflösung überlassen readability: true, // Readability-Extraktion verwenden userAgent: "Mozilla/5.0 ...", // User-Agent überschreiben ssrfPolicy: { allowRfc2544BenchmarkRange: true, // explizite Freigabe für vertrauenswürdige Fake-IP-Proxys mit 198.18.0.0/15 allowIpv6UniqueLocalRange: true, // explizite Freigabe für vertrauenswürdige Fake-IP-Proxys mit fc00::/7 }, }, }, },}Firecrawl-Fallback
Wenn die Readability-Extraktion fehlschlägt, kann web_fetch für die Bot-Umgehung und eine
bessere Extraktion auf Firecrawl zurückgreifen:
{ tools: { web: { fetch: { provider: "firecrawl", // optional; zur automatischen Erkennung anhand verfügbarer Anmeldedaten weglassen }, }, }, plugins: { entries: { firecrawl: { enabled: true, config: { webFetch: { // apiKey: "fc-...", // optional; für schlüssellosen Starterzugriff weglassen baseUrl: "https://api.firecrawl.dev", onlyMainContent: true, maxAgeMs: 172800000, // Cache-Dauer (2 Tage) timeoutSeconds: 60, }, }, }, }, },}plugins.entries.firecrawl.config.webFetch.apiKey ist optional und unterstützt SecretRef-Objekte.
Die ältere Konfiguration tools.web.fetch.firecrawl.* wird über openclaw doctor --fix
automatisch zu plugins.entries.firecrawl.config.webFetch migriert.
Aktuelles Laufzeitverhalten:
tools.web.fetch.providerwählt den Fallback-Provider für den Abruf explizit aus.- Wenn
providerweggelassen wird, erkennt OpenClaw automatisch den ersten einsatzbereiten Web-Abruf-Provider anhand der konfigurierten Anmeldedaten.web_fetchohne Sandbox kann installierte Plugins verwenden, diecontracts.webFetchProvidersdeklarieren und zur Laufzeit einen passenden Provider registrieren. Das offizielle Firecrawl-Plugin stellt derzeit diesen Fallback bereit. web_fetch-Aufrufe in der Sandbox erlauben gebündelte Provider sowie installierte Provider, deren offizielle Herkunft von npm oder ClawHub verifiziert ist. Derzeit ist dadurch das offizielle Firecrawl-Plugin zulässig; externe Abruf-Plugins von Drittanbietern bleiben ausgeschlossen.- Wenn Readability deaktiviert ist, wechselt
web_fetchdirekt zum ausgewählten Provider-Fallback. Wenn kein Provider verfügbar ist, schlägt der Aufruf sicher geschlossen fehl.
Vertrauenswürdiger Umgebungsproxy
Wenn Ihre Bereitstellung erfordert, dass web_fetch einen vertrauenswürdigen ausgehenden
HTTP(S)-Proxy verwendet, setzen Sie tools.web.fetch.useTrustedEnvProxy: true.
In diesem Modus wendet OpenClaw vor dem Senden der Anfrage weiterhin hostnamebasierte SSRF-Prüfungen an, überlässt jedoch dem Proxy die DNS-Auflösung, anstatt lokales DNS-Pinning durchzuführen. Aktivieren Sie dies nur, wenn der Proxy vom Betreiber kontrolliert wird und nach der DNS-Auflösung Richtlinien für ausgehenden Datenverkehr durchsetzt.
Beschränkungen und Sicherheit
maxCharswird auftools.web.fetch.maxCharsCapbegrenzt (Standard:20000)- Der Antworttext wird vor der Analyse auf
maxResponseBytesbegrenzt (Standard:750000, begrenzt auf 32000-10000000); übergroße Antworten werden mit einer Warnung gekürzt - Private/interne Hostnamen werden blockiert
tools.web.fetch.ssrfPolicy.allowRfc2544BenchmarkRangeundtools.web.fetch.ssrfPolicy.allowIpv6UniqueLocalRangesind eng begrenzte explizite Freigaben für vertrauenswürdige Fake-IP-Proxy-Stacks; lassen Sie sie ungesetzt, sofern Ihr Proxy nicht Eigentümer dieser synthetischen Bereiche ist und eigene Zielrichtlinien durchsetzt- Weiterleitungen werden überprüft und durch
maxRedirectsbegrenzt (Standard:3) useTrustedEnvProxymuss explizit aktiviert werden und sollte nur für vom Betreiber kontrollierte Proxys verwendet werden, die auch nach der DNS-Auflösung Richtlinien für ausgehenden Datenverkehr durchsetzenweb_fetcharbeitet nach bestem Bemühen – einige Websites benötigen den Webbrowser
Tool-Profile
Wenn Sie Tool-Profile oder Zulassungslisten verwenden, fügen Sie web_fetch oder group:web hinzu:
{ tools: { allow: ["web_fetch"], // oder: allow: ["group:web"] (umfasst web_fetch, web_search und x_search) },}Verwandte Themen
- Websuche – das Web mit mehreren Providern durchsuchen
- Webbrowser – vollständige Browserautomatisierung für stark JS-basierte Websites
- Firecrawl – Firecrawl-Tools für Suche und Scraping