Zum Hauptinhalt springen

Web Fetch

Das Tool web_fetch führt einen normalen HTTP-GET aus und extrahiert lesbaren Inhalt (HTML zu Markdown oder Text). Es führt kein JavaScript aus. Für stark JavaScript-lastige Websites oder login-geschützte Seiten verwenden Sie stattdessen den Web Browser.

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

ParameterTypBeschreibung
urlstringAbzurufende URL (erforderlich, nur http/https)
extractModestring"markdown" (Standard) oder "text"
maxCharsnumberAusgabe auf diese Anzahl Zeichen kürzen

So funktioniert es

1

Abrufen

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

Extrahieren

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

Fallback (optional)

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

Cache

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

Konfiguration

{
  tools: {
    web: {
      fetch: {
        enabled: true, // Standard: true
        provider: "firecrawl", // optional; für Auto-Erkennung weglassen
        maxChars: 50000, // maximale Ausgab zeichen
        maxCharsCap: 50000, // harte Obergrenze für den Parameter maxChars
        maxResponseBytes: 2000000, // maximale Download-Größe vor dem Kürzen
        timeoutSeconds: 30,
        cacheTtlMinutes: 15,
        maxRedirects: 3,
        readability: true, // Readability-Extraktion verwenden
        userAgent: "Mozilla/5.0 ...", // User-Agent überschreiben
      },
    },
  },
}

Firecrawl-Fallback

Wenn die Readability-Extraktion fehlschlägt, kann web_fetch auf Firecrawl zurückfallen, um Bot-Umgehung und bessere Extraktion zu erhalten:
{
  tools: {
    web: {
      fetch: {
        provider: "firecrawl", // optional; für Auto-Erkennung aus verfügbaren Zugangsdaten weglassen
      },
    },
  },
  plugins: {
    entries: {
      firecrawl: {
        enabled: true,
        config: {
          webFetch: {
            apiKey: "fc-...", // optional, falls FIRECRAWL_API_KEY gesetzt ist
            baseUrl: "https://api.firecrawl.dev",
            onlyMainContent: true,
            maxAgeMs: 86400000, // Cache-Dauer (1 Tag)
            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 sein SecretRef nicht aufgelöst wird und es kein Env-Fallback FIRECRAWL_API_KEY gibt, schlägt der Start des Gateways sofort fehl.
Überschreibungen für baseUrl von Firecrawl sind eingeschränkt: Sie müssen https:// verwenden und den offiziellen Firecrawl-Host (api.firecrawl.dev).
Aktuelles Laufzeitverhalten:
  • tools.web.fetch.provider wählt den Fetch-Fallback-Provider explizit aus.
  • Wenn provider weggelassen wird, erkennt OpenClaw den ersten bereiten Web-Fetch- Provider anhand der verfügbaren Zugangsdaten automatisch. Derzeit ist der gebündelte Provider Firecrawl.
  • Wenn Readability deaktiviert ist, überspringt web_fetch direkt zum ausgewählten Provider-Fallback. Wenn kein Provider verfügbar ist, schlägt es fail-closed fehl.

Limits und Sicherheit

  • maxChars wird auf tools.web.fetch.maxCharsCap begrenzt
  • Der Antwort-Body wird vor dem Parsen auf maxResponseBytes begrenzt; übergroße Antworten werden mit einer Warnung gekürzt
  • Private/interne Hostnamen werden blockiert
  • Redirects werden geprüft und durch maxRedirects begrenzt
  • web_fetch ist Best-Effort — für manche Websites ist der Web Browser nötig

Tool-Profile

Wenn Sie Tool-Profile oder Allowlists verwenden, fügen Sie web_fetch oder group:web hinzu:
{
  tools: {
    allow: ["web_fetch"],
    // oder: allow: ["group:web"]  (enthält web_fetch, web_search und x_search)
  },
}

Verwandte Themen

  • Web Search — das Web mit mehreren Providern durchsuchen
  • Web Browser — vollständige Browser-Automatisierung für stark JavaScript-lastige Websites
  • Firecrawl — Firecrawl-Tools für Suche und Scraping