Tools

Webabruf

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

urlstringrequired

Abzurufende URL. Nur http(s).

extractMode'markdown' | 'text'

Ausgabeformat nach der Extraktion des Hauptinhalts.

maxCharsnumber

Ausgabe auf diese Anzahl von Zeichen kürzen.

Funktionsweise

  • 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.

  • Extract

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

  • Fallback (optional)

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

  • 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.

    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.

    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