Zum Hauptinhalt springen

Documentation Index

Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt

Use this file to discover all available pages before exploring further.

Das Tool web_fetch führt ein einfaches HTTP GET aus und extrahiert lesbare Inhalte (HTML zu Markdown oder Text). Es führt kein JavaScript aus. Für JS-lastige Websites oder zugriffsgeschützte Seiten verwenden Sie 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

url
string
erforderlich
Abzurufende URL. Nur http(s).
extractMode
'markdown' | 'text'
Standard:"markdown"
Ausgabeformat nach der Extraktion des Hauptinhalts.
maxChars
number
Ausgabe auf diese Anzahl von Zeichen kürzen.

Funktionsweise

1

Fetch

Sendet ein HTTP GET mit einem Chrome-ähnlichen User-Agent und einem Accept-Language- Header. Blockiert private/interne Hostnamen und prüft Weiterleitungen erneut.
2

Extract

Führt Readability (Extraktion des Hauptinhalts) auf der HTML-Antwort aus.
3

Fallback (optional)

Wenn Readability fehlschlägt und Firecrawl konfiguriert ist, wird über die Firecrawl-API mit Bot-Umgehungsmodus erneut versucht.
4

Cache

Ergebnisse werden 15 Minuten lang zwischengespeichert (konfigurierbar), um wiederholte Abrufe derselben URL zu reduzieren.

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 als Fallback Firecrawl für Bot-Umgehung und bessere Extraktion verwenden:
{
  tools: {
    web: {
      fetch: {
        provider: "firecrawl", // optional; omit for auto-detect from available credentials
      },
    },
  },
  plugins: {
    entries: {
      firecrawl: {
        enabled: true,
        config: {
          webFetch: {
            apiKey: "fc-...", // optional if FIRECRAWL_API_KEY is set
            baseUrl: "https://api.firecrawl.dev",
            onlyMainContent: true,
            maxAgeMs: 86400000, // cache duration (1 day)
            timeoutSeconds: 60,
          },
        },
      },
    },
  },
}
plugins.entries.firecrawl.config.webFetch.apiKey unterstützt SecretRef-Objekte. Legacy-Konfiguration unter tools.web.fetch.firecrawl.* wird von openclaw doctor --fix automatisch migriert.
Wenn Firecrawl aktiviert ist und seine SecretRef nicht aufgelöst werden kann und kein FIRECRAWL_API_KEY-Fallback über die Umgebung vorhanden ist, schlägt der Gateway-Start schnell fehl.
Firecrawl-baseUrl-Overrides sind streng eingeschränkt: gehosteter Traffic verwendet https://api.firecrawl.dev; selbst gehostete Overrides müssen auf private oder interne Endpunkte zeigen, und http:// wird nur für diese privaten Ziele akzeptiert.
Aktuelles Laufzeitverhalten:
  • tools.web.fetch.provider wählt den Fetch-Fallback-Provider explizit aus.
  • Wenn provider weggelassen wird, erkennt OpenClaw automatisch den ersten bereiten Web-Fetch- Provider aus den verfügbaren Anmeldedaten. Nicht sandboxed web_fetch kann installierte Plugins verwenden, die contracts.webFetchProviders deklarieren und zur Laufzeit einen passenden Provider registrieren. Der heute gebündelte Provider ist Firecrawl.
  • Sandboxed web_fetch-Aufrufe bleiben auf gebündelte Provider beschränkt.
  • Wenn Readability deaktiviert ist, springt web_fetch direkt zum ausgewählten Provider-Fallback. Wenn kein Provider verfügbar ist, schlägt es geschlossen fehl.

Vertrauenswürdiger Umgebungs-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 eine ausgehende Richtlinie durchsetzt.
Wenn keine HTTP(S)-Proxy-Umgebungsvariable konfiguriert ist oder der Zielhost durch NO_PROXY ausgeschlossen wird, fällt web_fetch auf den normalen strikten Pfad mit lokalem DNS- Pinning zurück.

Limits und Sicherheit

  • maxChars wird auf tools.web.fetch.maxCharsCap begrenzt
  • Der Antwortkörper wird vor dem Parsen auf maxResponseBytes begrenzt; übergroße Antworten werden mit einer Warnung gekürzt
  • Private/interne Hostnamen werden blockiert
  • tools.web.fetch.ssrfPolicy.allowRfc2544BenchmarkRange und tools.web.fetch.ssrfPolicy.allowIpv6UniqueLocalRange sind 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 durchsetzt
  • Weiterleitungen werden geprüft und durch maxRedirects begrenzt
  • useTrustedEnvProxy ist ein explizites Opt-in und sollte nur für betreiberkontrollierte Proxys aktiviert werden, die nach der DNS- Auflösung weiterhin eine ausgehende Richtlinie durchsetzen
  • web_fetch arbeitet nach Best Effort — einige Websites benötigen den Webbrowser

Tool-Profile

Wenn Sie Tool-Profile oder Allowlisten 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)
  },
}

Verwandte Themen

  • Websuche — das Web mit mehreren Providern durchsuchen
  • Webbrowser — vollständige Browser-Automatisierung für JS-lastige Websites
  • Firecrawl — Firecrawl-Such- und Scrape-Tools