Tools
Webabruf
Das Tool web_fetch führt ein einfaches HTTP GET aus und extrahiert lesbaren Inhalt
(HTML zu Markdown oder Text). Es führt kein JavaScript aus.
Verwenden Sie für JS-lastige Websites oder login-geschützte Seiten stattdessen den Webbrowser.
Schnellstart
web_fetch ist standardmäßig aktiviert -- keine Konfiguration erforderlich. Der Agent kann
es sofort aufrufen:
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.
maxCharsnumberAusgabe auf diese Anzahl von Zeichen kürzen.
Funktionsweise
Fetch
Sendet ein HTTP GET mit einem Chrome-ähnlichen User-Agent und
Accept-Language-Header. Blockiert private/interne Hostnamen und prüft Weiterleitungen erneut.
Extract
Führt Readability (Extraktion des Hauptinhalts) auf der HTML-Antwort aus.
Fallback (optional)
Wenn Readability fehlschlägt und Firecrawl ausgewählt ist, wird der Versuch über die Firecrawl-API mit Bot-Umgehungsmodus wiederholt.
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:
Fetching page content...Schnelle Cache-Treffer und schnelle Netzwerkantworten sind abgeschlossen, bevor der Timer auslöst, sodass sie keine Fortschrittszeile anzeigen. Wenn der Aufruf abgebrochen wird, wird der Timer gelöscht. Wenn der Abruf schließlich abgeschlossen ist, erhält der Agent das normale Tool-Ergebnis; die Fortschrittszeile ist nur Channel-UI-Status und enthält niemals abgerufene Seiteninhalte.
Konfiguration
{ tools: { web: { fetch: { enabled: true, // default: true provider: "firecrawl", // optional; omit for auto-detect maxChars: 50000, // max output chars maxCharsCap: 50000, // hard cap for maxChars param maxResponseBytes: 2000000, // max download size before truncation timeoutSeconds: 30, cacheTtlMinutes: 15, maxRedirects: 3, useTrustedEnvProxy: false, // let a trusted HTTP(S) env proxy resolve DNS readability: true, // use Readability extraction userAgent: "Mozilla/5.0 ...", // override User-Agent ssrfPolicy: { allowRfc2544BenchmarkRange: true, // opt-in for trusted fake-IP proxies using 198.18.0.0/15 allowIpv6UniqueLocalRange: true, // opt-in for trusted fake-IP proxies using fc00::/7 }, }, }, },}Firecrawl-Fallback
Wenn die Readability-Extraktion fehlschlägt, kann web_fetch für Bot-Umgehung und bessere Extraktion auf
Firecrawl zurückfallen:
{ tools: { web: { fetch: { provider: "firecrawl", // optional; omit for auto-detect from available credentials }, }, }, plugins: { entries: { firecrawl: { enabled: true, config: { webFetch: { // apiKey: "fc-...", // optional; omit for keyless starter access baseUrl: "https://api.firecrawl.dev", onlyMainContent: true, maxAgeMs: 86400000, // cache duration (1 day) timeoutSeconds: 60, }, }, }, }, },}plugins.entries.firecrawl.config.webFetch.apiKey ist optional und unterstützt SecretRef-Objekte.
Die Legacy-Konfiguration tools.web.fetch.firecrawl.* wird von openclaw doctor --fix automatisch migriert.
Aktuelles Laufzeitverhalten:
tools.web.fetch.providerwählt den Fallback-Provider für den Abruf explizit aus.- Wenn
providerausgelassen wird, erkennt OpenClaw automatisch den ersten bereiten Web-Fetch-Provider aus den konfigurierten Zugangsdaten. Nicht-sandboxedweb_fetchkann installierte Plugins verwenden, diecontracts.webFetchProvidersdeklarieren und zur Laufzeit einen passenden Provider registrieren. Das offizielle Firecrawl-Plugin stellt diesen Fallback bereit. - Sandboxed-
web_fetch-Aufrufe erlauben gebündelte Provider sowie installierte Provider, deren offizielle npm- oder ClawHub-Herkunft verifiziert ist. Derzeit erlaubt dies das offizielle Firecrawl-Plugin; externe Abruf-Plugins von Drittanbietern bleiben ausgeschlossen. - Wenn Readability deaktiviert ist, springt
web_fetchdirekt zum ausgewählten Provider-Fallback. Wenn kein Provider verfügbar ist, schlägt es geschlossen fehl.
Vertrauenswürdiger Env-Proxy
Wenn Ihre Bereitstellung erfordert, dass web_fetch über einen vertrauenswürdigen ausgehenden
HTTP(S)-Proxy läuft, setzen Sie tools.web.fetch.useTrustedEnvProxy: true.
In diesem Modus wendet OpenClaw weiterhin hostnamenbasierte SSRF-Prüfungen an, bevor die Anfrage gesendet wird, lässt aber den Proxy DNS auflösen, statt lokales DNS-Pinning durchzuführen. Aktivieren Sie dies nur, wenn der Proxy vom Betreiber kontrolliert wird und nach der DNS-Auflösung ausgehende Richtlinien erzwingt.
Limits und Sicherheit
maxCharswird auftools.web.fetch.maxCharsCapbegrenzt- Der Antwortkörper wird vor dem Parsen auf
maxResponseBytesbegrenzt; übergroße Antworten werden mit einer Warnung gekürzt - Private/interne Hostnamen werden blockiert
tools.web.fetch.ssrfPolicy.allowRfc2544BenchmarkRangeundtools.web.fetch.ssrfPolicy.allowIpv6UniqueLocalRangesind enge Opt-ins für vertrauenswürdige Fake-IP-Proxy-Stacks; lassen Sie sie ungesetzt, sofern Ihr Proxy diese synthetischen Bereiche nicht besitzt und seine eigene Zielrichtlinie erzwingt- Weiterleitungen werden geprüft und durch
maxRedirectsbegrenzt useTrustedEnvProxyist ein explizites Opt-in und sollte nur für betreiberkontrollierte Proxys aktiviert werden, die auch nach der DNS-Auflösung ausgehende Richtlinien erzwingenweb_fetcharbeitet nach Best-Effort -- einige Websites benötigen den Webbrowser
Tool-Profile
Wenn Sie Tool-Profile oder Allowlists verwenden, fügen Sie web_fetch oder group:web hinzu:
{ tools: { allow: ["web_fetch"], // or: allow: ["group:web"] (includes web_fetch, web_search, and x_search) },}Verwandt
- Websuche -- das Web mit mehreren Providern durchsuchen
- Webbrowser -- vollständige Browser-Automatisierung für JS-lastige Websites
- Firecrawl -- Firecrawl-Such- und Scrape-Tools