Web Tools

OpenClaw bringt zwei schlanke Web-Tools mit:

  • web_search — Websuche über Brave Search API (Standard) oder Perplexity Sonar (direkt oder via OpenRouter).
  • web_fetch — HTTP-Abruf + lesbare Extraktion (HTML → Markdown/Text).

Das sind keine Browser-Automatisierungen. Für JS-lastige Seiten oder Login-Bereiche nutze das Browser Tool.

So funktioniert’s

  • web_search ruft deinen konfigurierten Provider auf und liefert Ergebnisse.
    • Brave (Standard): liefert strukturierte Ergebnisse (Titel, URL, Snippet).
    • Perplexity: liefert KI-synthetisierte Antworten mit Quellenangaben aus Echtzeit-Websuche.
  • Ergebnisse werden pro Suchanfrage 15 Minuten gecacht (konfigurierbar).
  • web_fetch macht einen einfachen HTTP GET und extrahiert lesbaren Content (HTML → Markdown/Text). JavaScript wird nicht ausgeführt.
  • web_fetch ist standardmäßig aktiviert (außer du deaktivierst es explizit).

Einen Suchprovider wählen

ProviderVorteileNachteileAPI Key
Brave (Standard)Schnell, strukturierte Ergebnisse, Free TierTraditionelle SuchergebnisseBRAVE_API_KEY
PerplexityKI-synthetisierte Antworten, Quellenangaben, EchtzeitBraucht Perplexity- oder OpenRouter-ZugangOPENROUTER_API_KEY oder PERPLEXITY_API_KEY

Siehe Brave Search Setup und Perplexity Sonar für provider-spezifische Details.

Provider in der Config setzen:

{
  tools: {
    web: {
      search: {
        provider: "brave", // oder "perplexity"
      },
    },
  },
}

Beispiel: Wechsel zu Perplexity Sonar (direkte API):

{
  tools: {
    web: {
      search: {
        provider: "perplexity",
        perplexity: {
          apiKey: "pplx-...",
          baseUrl: "https://api.perplexity.ai",
          model: "perplexity/sonar-pro",
        },
      },
    },
  },
}

Brave API Key besorgen

  1. Erstelle einen Brave Search API Account auf https://brave.com/search/api/
  2. Wähle im Dashboard den Data for Search Plan (nicht “Data for AI”) und generiere einen API Key.
  3. Führe openclaw configure --section web aus, um den Key in der Config zu speichern (empfohlen), oder setze BRAVE_API_KEY in deiner Umgebung.

Brave bietet einen Free Tier plus bezahlte Pläne; check das Brave API Portal für aktuelle Limits und Preise.

Wo du den Key setzen solltest (empfohlen)

Empfohlen: Führe openclaw configure --section web aus. Das speichert den Key in ~/.openclaw/openclaw.json unter tools.web.search.apiKey.

Umgebungsvariablen-Alternative: Setze BRAVE_API_KEY in der Gateway-Prozess-Umgebung. Bei einer Gateway-Installation legst du ihn in ~/.openclaw/.env ab (oder in deiner Service-Umgebung). Siehe Env vars.

Perplexity nutzen (direkt oder via OpenRouter)

Perplexity Sonar Modelle haben eingebaute Websuch-Fähigkeiten und liefern KI-synthetisierte Antworten mit Quellenangaben. Du kannst sie via OpenRouter nutzen (keine Kreditkarte nötig - unterstützt Crypto/Prepaid).

OpenRouter API Key besorgen

  1. Erstelle einen Account auf https://openrouter.ai/
  2. Lade Credits auf (unterstützt Crypto, Prepaid oder Kreditkarte)
  3. Generiere einen API Key in deinen Account-Einstellungen

Perplexity Search einrichten

{
  tools: {
    web: {
      search: {
        enabled: true,
        provider: "perplexity",
        perplexity: {
          // API key (optional, falls OPENROUTER_API_KEY oder PERPLEXITY_API_KEY gesetzt ist)
          apiKey: "sk-or-v1-...",
          // Base URL (key-aware default, falls weggelassen)
          baseUrl: "https://openrouter.ai/api/v1",
          // Model (Standard ist perplexity/sonar-pro)
          model: "perplexity/sonar-pro",
        },
      },
    },
  },
}

Umgebungsvariablen-Alternative: Setze OPENROUTER_API_KEY oder PERPLEXITY_API_KEY in der Gateway-Umgebung. Bei einer Gateway-Installation legst du ihn in ~/.openclaw/.env ab.

Falls keine Base URL gesetzt ist, wählt OpenClaw einen Standard basierend auf der API-Key-Quelle:

  • PERPLEXITY_API_KEY oder pplx-...https://api.perplexity.ai
  • OPENROUTER_API_KEY oder sk-or-...https://openrouter.ai/api/v1
  • Unbekannte Key-Formate → OpenRouter (sicherer Fallback)

Verfügbare Perplexity Modelle

ModellBeschreibungAm besten für
perplexity/sonarSchnelle Q&A mit WebsucheSchnelle Lookups
perplexity/sonar-pro (Standard)Multi-Step-Reasoning mit WebsucheKomplexe Fragen
perplexity/sonar-reasoning-proChain-of-Thought-AnalyseTiefe Recherchen

Durchsuche das Web mit deinem konfigurierten Provider.

Voraussetzungen

  • tools.web.search.enabled darf nicht false sein (Standard: aktiviert)
  • API Key für deinen gewählten Provider:
    • Brave: BRAVE_API_KEY oder tools.web.search.apiKey
    • Perplexity: OPENROUTER_API_KEY, PERPLEXITY_API_KEY oder tools.web.search.perplexity.apiKey

Config

{
  tools: {
    web: {
      search: {
        enabled: true,
        apiKey: "BRAVE_API_KEY_HERE", // optional, falls BRAVE_API_KEY gesetzt ist
        maxResults: 5,
        timeoutSeconds: 30,
        cacheTtlMinutes: 15,
      },
    },
  },
}

Tool-Parameter

  • query (erforderlich)
  • count (1–10; Standard aus Config)
  • country (optional): 2-Buchstaben-Ländercode für regionsspezifische Ergebnisse (z.B. “DE”, “US”, “ALL”). Falls weggelassen, wählt Brave seine Standard-Region.
  • search_lang (optional): ISO-Sprachcode für Suchergebnisse (z.B. “de”, “en”, “fr”)
  • ui_lang (optional): ISO-Sprachcode für UI-Elemente
  • freshness (optional, nur Brave): Filter nach Entdeckungszeit (pd, pw, pm, py oder YYYY-MM-DDtoYYYY-MM-DD)

Beispiele:

// Deutschland-spezifische Suche
await web_search({
  query: "TV online schauen",
  count: 10,
  country: "DE",
  search_lang: "de",
});

// Französische Suche mit französischem UI
await web_search({
  query: "actualités",
  country: "FR",
  search_lang: "fr",
  ui_lang: "fr",
});

// Aktuelle Ergebnisse (letzte Woche)
await web_search({
  query: "TMBG interview",
  freshness: "pw",
});

web_fetch

Rufe eine URL ab und extrahiere lesbaren Content.

Voraussetzungen

  • tools.web.fetch.enabled darf nicht false sein (Standard: aktiviert)
  • Optionaler Firecrawl-Fallback: Setze tools.web.fetch.firecrawl.apiKey oder FIRECRAWL_API_KEY.

Config

{
  tools: {
    web: {
      fetch: {
        enabled: true,
        maxChars: 50000,
        timeoutSeconds: 30,
        cacheTtlMinutes: 15,
        maxRedirects: 3,
        userAgent: "Mozilla/5.0 (Macintosh; Intel Mac OS X 14_7_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36",
        readability: true,
        firecrawl: {
          enabled: true,
          apiKey: "FIRECRAWL_API_KEY_HERE", // optional, falls FIRECRAWL_API_KEY gesetzt ist
          baseUrl: "https://api.firecrawl.dev",
          onlyMainContent: true,
          maxAgeMs: 86400000, // ms (1 Tag)
          timeoutSeconds: 60,
        },
      },
    },
  },
}

Tool-Parameter

  • url (erforderlich, nur http/https)
  • extractMode (markdown | text)
  • maxChars (kürzt lange Seiten)

Hinweise:

  • web_fetch nutzt zuerst Readability (Main-Content-Extraktion), dann Firecrawl (falls konfiguriert). Wenn beide fehlschlagen, gibt das Tool einen Fehler zurück.
  • Firecrawl-Anfragen nutzen Bot-Umgehungsmodus und cachen Ergebnisse standardmäßig.
  • web_fetch sendet standardmäßig einen Chrome-ähnlichen User-Agent und Accept-Language; überschreibe userAgent bei Bedarf.
  • web_fetch blockiert private/interne Hostnamen und prüft Redirects erneut (Limit mit maxRedirects).
  • web_fetch ist Best-Effort-Extraktion; manche Seiten brauchen das Browser Tool.
  • Siehe Firecrawl für Key-Setup und Service-Details.
  • Antworten werden gecacht (Standard 15 Minuten), um wiederholte Abrufe zu reduzieren.
  • Falls du Tool-Profile/Allowlists nutzt, füge web_search/web_fetch oder group:web hinzu.
  • Wenn der Brave Key fehlt, gibt web_search einen kurzen Setup-Hinweis mit Docs-Link zurück.