Tools
Websuche
Das Tool web_search durchsucht das Web mit Ihrem konfigurierten Provider und
gibt Ergebnisse zurück. Ergebnisse werden pro Abfrage 15 Minuten lang gecacht
(konfigurierbar).
OpenClaw enthält außerdem x_search für X-Beiträge (früher Twitter) und
web_fetch zum einfachen Abrufen von URLs. In dieser Phase bleibt web_fetch
lokal, während web_search und x_search im Hintergrund xAI Responses
verwenden können.
Schnellstart
Choose a provider
Wählen Sie einen Provider aus und schließen Sie alle erforderlichen Einrichtungsschritte ab. Einige Provider sind ohne Schlüssel nutzbar, während andere API-Schlüssel verwenden. Details finden Sie auf den Provider-Seiten unten.
Configure
openclaw configure --section webDadurch werden der Provider und alle benötigten Anmeldedaten gespeichert. Sie können auch eine Umgebungsvariable
festlegen (zum Beispiel BRAVE_API_KEY) und diesen Schritt für API-gestützte
Provider überspringen.
Use it
Der Agent kann jetzt web_search aufrufen:
await web_search({ query: "OpenClaw plugin SDK" });Für X-Beiträge verwenden Sie:
await x_search({ query: "dinner recipes" });Einen Provider auswählen
Strukturierte Ergebnisse mit Snippets. Unterstützt den Modus llm-context sowie Länder-/Sprachfilter. Kostenloser Tarif verfügbar.
KI-synthetisierte, fundierte Antworten über Ihr Codex-App-Server-Konto.
Provider ohne Schlüssel. Kein API-Schlüssel erforderlich. Inoffizielle HTML-basierte Integration.
Neuronale Suche und Schlagwortsuche mit Inhaltsextraktion (Highlights, Text, Zusammenfassungen).
Strukturierte Ergebnisse. Am besten zusammen mit firecrawl_search und firecrawl_scrape für tiefe Extraktion.
KI-synthetisierte Antworten mit Quellenangaben über Google Search Grounding.
KI-synthetisierte Antworten mit Quellenangaben über xAI Web Grounding.
KI-synthetisierte Antworten mit Quellenangaben über die Moonshot-Websuche; nicht fundierte Chat-Fallbacks schlagen ausdrücklich fehl.
Strukturierte Ergebnisse über die Such-API des MiniMax Token Plan.
Suche über einen angemeldeten lokalen Ollama-Host oder die gehostete Ollama-API.
Kostenpflichtige Parallel Search API (PARALLEL_API_KEY); höhere Ratenlimits und objektive Feinabstimmung.
Opt-in ohne Schlüssel. Parallels kostenloses Search MCP mit LLM-optimierten dichten Auszügen und ohne API-Schlüssel.
Strukturierte Ergebnisse mit Steuerelementen für Inhaltsextraktion und Domainfilterung.
Selbst gehostete Metasuche. Kein API-Schlüssel erforderlich. Aggregiert Google, Bing, DuckDuckGo und weitere.
Strukturierte Ergebnisse mit Suchtiefe, Themenfilterung und tavily_extract für URL-Extraktion.
Provider-Vergleich
| Provider | Ergebnisstil | Filter | API-Schlüssel |
|---|---|---|---|
| Brave | Strukturierte Snippets | Land, Sprache, Zeit, Modus llm-context |
BRAVE_API_KEY |
| Codex Hosted Search | KI-synthetisiert + Quell-URLs | Domains, Kontextgröße, Nutzerstandort | Keiner; verwendet Codex/OpenAI-Anmeldung |
| DuckDuckGo | Strukturierte Snippets | -- | Keiner (ohne Schlüssel) |
| Exa | Strukturiert + extrahiert | Neuronaler/Schlagwortmodus, Datum, Inhaltsextraktion | EXA_API_KEY |
| Firecrawl | Strukturierte Snippets | Über das Tool firecrawl_search |
FIRECRAWL_API_KEY |
| Gemini | KI-synthetisiert + Quellenangaben | -- | GEMINI_API_KEY |
| Grok | KI-synthetisiert + Quellenangaben | -- | xAI OAuth, XAI_API_KEY oder plugins.entries.xai.config.webSearch.apiKey |
| Kimi | KI-synthetisiert + Quellenangaben; schlägt bei nicht fundierten Chat-Fallbacks fehl | -- | KIMI_API_KEY / MOONSHOT_API_KEY |
| MiniMax Search | Strukturierte Snippets | Region (global / cn) |
MINIMAX_CODE_PLAN_KEY / MINIMAX_CODING_API_KEY / MINIMAX_OAUTH_TOKEN |
| Ollama Web Search | Strukturierte Snippets | -- | Keiner für angemeldete lokale Hosts; OLLAMA_API_KEY für direkte Suche über https://ollama.com |
| Parallel | Dichte Auszüge, für LLM-Kontext gerankt | -- | PARALLEL_API_KEY (kostenpflichtig) |
| Parallel Search (Free) | Dichte Auszüge, für LLM-Kontext gerankt | -- | Keiner (kostenloses Search MCP) |
| Perplexity | Strukturierte Snippets | Land, Sprache, Zeit, Domains, Inhaltslimits | PERPLEXITY_API_KEY / OPENROUTER_API_KEY |
| SearXNG | Strukturierte Snippets | Kategorien, Sprache | Keiner (selbst gehostet) |
| Tavily | Strukturierte Snippets | Über das Tool tavily_search |
TAVILY_API_KEY |
Automatische Erkennung
Native OpenAI-Websuche
Direkte OpenAI-Responses-Modelle verwenden automatisch das von OpenAI gehostete Tool web_search, wenn die OpenClaw-Websuche aktiviert ist und kein verwalteter Provider festgelegt wurde. Dies ist Provider-eigenes Verhalten im gebündelten OpenAI-Plugin und gilt nur für nativen OpenAI-API-Datenverkehr, nicht für OpenAI-kompatible Proxy-Basis-URLs oder Azure-Routen. Setzen Sie tools.web.search.provider auf einen anderen Provider wie brave, um das verwaltete Tool web_search für OpenAI-Modelle beizubehalten, oder setzen Sie tools.web.search.enabled: false, um sowohl die verwaltete Suche als auch die native OpenAI-Suche zu deaktivieren.
Native Codex-Websuche
Die Codex-App-Server-Laufzeit verwendet automatisch das von Codex gehostete Tool web_search,
wenn die Websuche aktiviert ist und kein verwalteter Provider ausgewählt wurde. Native gehostete
Suche und das verwaltete dynamische Tool web_search von OpenClaw schließen sich gegenseitig aus,
sodass die verwaltete Suche native Domainbeschränkungen nicht umgehen kann. OpenClaw verwendet das
verwaltete Tool, wenn die gehostete Suche nicht verfügbar, ausdrücklich deaktiviert oder
durch einen ausgewählten verwalteten Provider ersetzt wurde. OpenClaw hält die eigenständige
Codex-Erweiterung web.run deaktiviert, weil produktiver App-Server-Datenverkehr ihren
nutzerdefinierten Namespace web ablehnt.
- Konfigurieren Sie die native Suche unter
tools.web.search.openaiCodex - Setzen Sie
tools.web.search.provider: "codex", um Codex Hosted Search als verwaltetenweb_search-Provider für jedes übergeordnete Modell bereitzustellen. Jeder Aufruf führt einen begrenzten kurzlebigen Codex-App-Server-Turn aus und schlägt fehl, wenn Codex kein gehosteteswebSearch-Element ausgibt. mode: "cached"ist die Standardeinstellung, aber Codex löst sie für uneingeschränkte App-Server-Turns in Live-Zugriff auf externe Ressourcen auf; setzen Sie"live", um Live-Zugriff ausdrücklich anzufordern- Setzen Sie
tools.web.search.providerauf einen verwalteten Provider wiebrave, um stattdessen OpenClaws verwaltetesweb_searchzu verwenden - Setzen Sie
tools.web.search.openaiCodex.enabled: false, um die von Codex gehostete Suche abzuwählen; andere verwaltete Provider bleiben verfügbar - Das Einschränken der nativen Codex-Tool-Oberfläche hält außerdem verwaltetes
web_searchverfügbar - Wenn
allowedDomainsgesetzt ist, schlägt der automatische verwaltete Fallback geschlossen fehl, falls die gehostete Suche nicht verfügbar ist, sodass die native Zulassungsliste nicht umgangen werden kann - Tool-deaktivierte reine LLM-Läufe deaktivieren sowohl native als auch verwaltete Suche
tools.web.search.enabled: falsedeaktiviert sowohl verwaltete als auch native Suche
Persistente effektive Änderungen an der Codex-Suchrichtlinie starten einen neuen gebundenen Thread, damit ein bereits geladener App-Server-Thread keinen veralteten Zugriff auf gehostete Suche behalten kann. Vorübergehende Einschränkungen pro Turn verwenden einen temporären eingeschränkten Thread und behalten die vorhandene Bindung für eine spätere Wiederaufnahme bei.
Direkter OpenAI-ChatGPT-Responses-Datenverkehr kann ebenfalls das von OpenAI gehostete
Tool web_search verwenden. Dieser separate Pfad bleibt per Opt-in über
tools.web.search.openaiCodex.enabled: true aktiviert und gilt nur für geeignete
openai/*-Modelle mit api: "openai-chatgpt-responses".
{ tools: { web: { search: { enabled: true, // Optional: use Codex Hosted Search from non-Codex parent models too. provider: "codex", openaiCodex: { enabled: true, mode: "cached", allowedDomains: ["example.com"], contextSize: "high", userLocation: { country: "US", city: "New York", timezone: "America/New_York", }, }, }, }, },}Für Laufzeiten und Provider, die die native Codex-Suche nicht unterstützen, kann Codex
den verwalteten web_search-Fallback über OpenClaws dynamischen Tool-Namespace verwenden.
Verwenden Sie einen expliziten verwalteten Provider, wenn Sie OpenClaws providerspezifische
Netzwerksteuerungen anstelle der von Codex gehosteten Suche benötigen.
Durch Auswahl von provider: "codex" wird das gebündelte codex-Plugin aktiviert und es werden die oben gezeigten
gleichen Einschränkungen für tools.web.search.openaiCodex verwendet. Authentifizieren Sie zuerst den
Codex-App-Server mit openclaw models auth login --provider openai.
Der übergeordnete Agent kann jedes Modell oder jede Runtime verwenden; nur der begrenzte Search-Worker
läuft über Codex.
Netzwerksicherheit
Verwaltete HTTP-web_search-Provider-Aufrufe verwenden den geschützten Fetch-Pfad von OpenClaw. Für
vertrauenswürdige Provider-API-Hosts erlaubt OpenClaw Fake-IP-DNS-Antworten von Surge, Clash und sing-box
in 198.18.0.0/15 und fc00::/7 nur für diesen Provider-Hostnamen.
Andere private Ziele, Loopback-Ziele, Link-Local-Ziele und Metadatenziele bleiben blockiert.
Codex Hosted Search ist die Ausnahme: Sein begrenzter Worker delegiert den Netzwerkzugriff
an das gehostete web_search-Tool des Codex-App-Servers.
Diese automatische Erlaubnis gilt nicht für beliebige web_fetch-URLs. Aktivieren Sie für
web_fetch tools.web.fetch.ssrfPolicy.allowRfc2544BenchmarkRange und
tools.web.fetch.ssrfPolicy.allowIpv6UniqueLocalRange nur dann explizit, wenn Ihr
vertrauenswürdiger Proxy diese synthetischen Bereiche besitzt.
Websuche einrichten
Provider-Listen in Dokumentation und Einrichtungsabläufen sind alphabetisch. Die automatische Erkennung behält eine separate Prioritätsreihenfolge bei.
Wenn kein provider festgelegt ist, prüft OpenClaw Provider in dieser Reihenfolge und verwendet den
ersten, der bereit ist:
Zuerst API-gestützte Provider:
- Brave --
BRAVE_API_KEYoderplugins.entries.brave.config.webSearch.apiKey(Reihenfolge 10) - MiniMax Search --
MINIMAX_CODE_PLAN_KEY/MINIMAX_CODING_API_KEY/MINIMAX_OAUTH_TOKEN/MINIMAX_API_KEYoderplugins.entries.minimax.config.webSearch.apiKey(Reihenfolge 15) - Gemini --
plugins.entries.google.config.webSearch.apiKey,GEMINI_API_KEYodermodels.providers.google.apiKey(Reihenfolge 20) - Grok -- xAI OAuth,
XAI_API_KEYoderplugins.entries.xai.config.webSearch.apiKey(Reihenfolge 30) - Kimi --
KIMI_API_KEY/MOONSHOT_API_KEYoderplugins.entries.moonshot.config.webSearch.apiKey(Reihenfolge 40) - Perplexity --
PERPLEXITY_API_KEY/OPENROUTER_API_KEYoderplugins.entries.perplexity.config.webSearch.apiKey(Reihenfolge 50) - Firecrawl --
FIRECRAWL_API_KEYoderplugins.entries.firecrawl.config.webSearch.apiKey(Reihenfolge 60) - Exa --
EXA_API_KEYoderplugins.entries.exa.config.webSearch.apiKey; optional überschreibtplugins.entries.exa.config.webSearch.baseUrlden Exa-Endpunkt (Reihenfolge 65) - Tavily --
TAVILY_API_KEYoderplugins.entries.tavily.config.webSearch.apiKey(Reihenfolge 70) - Parallel -- kostenpflichtige Parallel Search API über
PARALLEL_API_KEYoderplugins.entries.parallel.config.webSearch.apiKey; optional überschreibtplugins.entries.parallel.config.webSearch.baseUrlden Endpunkt (Reihenfolge 75)
Danach konfigurierte Endpunkt-Provider:
- SearXNG --
SEARXNG_BASE_URLoderplugins.entries.searxng.config.webSearch.baseUrl(Reihenfolge 200)
Provider ohne Schlüssel wie Parallel Search (Free), DuckDuckGo,
Ollama Web Search und Codex Hosted Search sind nur verfügbar, wenn Sie
sie explizit mit tools.web.search.provider oder über
openclaw configure --section web auswählen. OpenClaw sendet verwaltete
web_search-Abfragen nicht nur deshalb an einen Provider ohne Schlüssel, weil kein API-gestützter Provider
konfiguriert ist.
OpenAI Responses-Modelle sind eine Ausnahme: Solange tools.web.search.provider nicht
gesetzt ist, verwenden sie die native Websuche von OpenAI statt der oben genannten verwalteten Provider.
Setzen Sie tools.web.search.provider auf parallel-free (oder einen anderen Provider),
um sie über den verwalteten Pfad zu leiten.
Konfiguration
{ tools: { web: { search: { enabled: true, // default: true provider: "brave", // or omit for auto-detection maxResults: 5, timeoutSeconds: 30, cacheTtlMinutes: 15, }, }, },}Provider-spezifische Konfiguration (API-Schlüssel, Basis-URLs, Modi) befindet sich unter
plugins.entries.<plugin>.config.webSearch.*. Gemini kann außerdem
models.providers.google.apiKey und models.providers.google.baseUrl als nachrangige
Fallbacks nach seiner dedizierten Websuche-Konfiguration und GEMINI_API_KEY wiederverwenden. Beispiele finden Sie auf den
Provider-Seiten.
Grok kann außerdem ein xAI-OAuth-Authentifizierungsprofil aus openclaw models auth login --provider xai --method oauth wiederverwenden; API-Schlüssel-Konfiguration bleibt der Fallback.
tools.web.search.provider wird gegen die Websuche-Provider-IDs validiert,
die von gebündelten und installierten Plugin-Manifesten deklariert werden. Ein Tippfehler wie "brvae"
führt zu einem Fehler bei der Konfigurationsvalidierung, statt stillschweigend auf automatische Erkennung zurückzufallen. Wenn ein
konfigurierter Provider nur veraltete Plugin-Hinweise hat, etwa einen übrig gebliebenen
plugins.entries.<plugin>-Block nach der Deinstallation eines Drittanbieter-Plugins,
hält OpenClaw den Start robust und meldet eine Warnung, damit Sie das
Plugin neu installieren oder openclaw doctor --fix ausführen können, um die veraltete Konfiguration zu bereinigen.
Die Auswahl des Fallback-Providers für web_fetch ist separat:
- Wählen Sie ihn mit
tools.web.fetch.provideraus - oder lassen Sie dieses Feld weg und lassen Sie OpenClaw den ersten bereiten Web-Fetch-Provider aus konfigurierten Anmeldeinformationen automatisch erkennen
- nicht sandboxed
web_fetchkann installierte Plugin-Provider verwenden, diecontracts.webFetchProvidersdeklarieren; sandboxed Fetches erlauben gebündelte Provider und verifizierte offizielle Plugin-Installationen, schließen aber externe Drittanbieter-Plugins aus - das offizielle Firecrawl-Plugin stellt Web-Fetch-Fallback bereit, konfiguriert unter
plugins.entries.firecrawl.config.webFetch.*
Wenn Sie während openclaw onboard oder
openclaw configure --section web Kimi auswählen, kann OpenClaw außerdem nach Folgendem fragen:
- der Moonshot-API-Region (
https://api.moonshot.ai/v1oderhttps://api.moonshot.cn/v1) - dem Standardmodell für die Kimi-Websuche (Standard ist
kimi-k2.6)
Konfigurieren Sie für x_search plugins.entries.xai.config.xSearch.*. Es verwendet dasselbe
xAI-Authentifizierungsprofil wie Chat oder den XAI_API_KEY / die Plugin-Websuche-
Anmeldeinformation, die von der Grok-Websuche verwendet wird.
Veraltete tools.web.x_search.*-Konfiguration wird von openclaw doctor --fix automatisch migriert.
Wenn Sie Grok während openclaw onboard oder openclaw configure --section web auswählen,
kann OpenClaw außerdem eine optionale x_search-Einrichtung mit derselben Anmeldeinformation anbieten.
Dies ist ein separater Folgeschritt innerhalb des Grok-Pfads, keine separate oberste
Websuche-Provider-Auswahl. Wenn Sie einen anderen Provider wählen, zeigt OpenClaw die
x_search-Eingabeaufforderung nicht an.
API-Schlüssel speichern
Konfigurationsdatei
Führen Sie openclaw configure --section web aus oder legen Sie den Schlüssel direkt fest:
{ plugins: { entries: { brave: { config: { webSearch: { apiKey: "YOUR_KEY", // pragma: allowlist secret }, }, }, }, },}Umgebungsvariable
Legen Sie die Provider-Umgebungsvariable in der Prozessumgebung des Gateway fest:
export BRAVE_API_KEY="YOUR_KEY"Legen Sie sie für eine Gateway-Installation in ~/.openclaw/.env ab.
Siehe Umgebungsvariablen.
Tool-Parameter
| Parameter | Beschreibung |
|---|---|
query |
Suchanfrage (erforderlich) |
count |
Zurückzugebende Ergebnisse (1-10, Standard: 5) |
country |
2-Buchstaben-ISO-Ländercode (z. B. "US", "DE") |
language |
ISO-639-1-Sprachcode (z. B. "en", "de") |
search_lang |
Suchsprachcode (nur Brave) |
freshness |
Zeitfilter: day, week, month oder year |
date_after |
Ergebnisse nach diesem Datum (YYYY-MM-DD) |
date_before |
Ergebnisse vor diesem Datum (YYYY-MM-DD) |
ui_lang |
UI-Sprachcode (nur Brave) |
domain_filter |
Domain-Allowlist-/Denylist-Array (nur Perplexity) |
max_tokens |
Gesamtbudget für Inhalt, Standard 25000 (nur Perplexity) |
max_tokens_per_page |
Token-Limit pro Seite, Standard 2048 (nur Perplexity) |
x_search
x_search fragt X-Beiträge (ehemals Twitter) mit xAI ab und gibt
KI-synthetisierte Antworten mit Zitaten zurück. Es akzeptiert natürlichsprachliche Abfragen und
optionale strukturierte Filter. OpenClaw aktiviert das integrierte xAI-x_search-
Tool nur für die Anfrage, die diesen Tool-Aufruf bedient.
x_search-Konfiguration
{ plugins: { entries: { xai: { config: { xSearch: { enabled: true, model: "grok-4-1-fast-non-reasoning", baseUrl: "https://api.x.ai/v1", // optional, overrides webSearch.baseUrl inlineCitations: false, maxTurns: 2, timeoutSeconds: 30, cacheTtlMinutes: 15, }, webSearch: { apiKey: "xai-...", // optional if an xAI auth profile or XAI_API_KEY is set baseUrl: "https://api.x.ai/v1", // optional shared xAI Responses base URL }, }, }, }, },}x_search sendet an <baseUrl>/responses, wenn
plugins.entries.xai.config.xSearch.baseUrl gesetzt ist. Wenn dieses Feld ausgelassen wird,
fällt es auf plugins.entries.xai.config.webSearch.baseUrl, dann auf die
veraltete tools.web.search.grok.baseUrl und schließlich auf den öffentlichen xAI-Endpunkt zurück.
x_search-Parameter
| Parameter | Beschreibung |
|---|---|
query |
Suchanfrage (erforderlich) |
allowed_x_handles |
Ergebnisse auf bestimmte X-Handles beschränken |
excluded_x_handles |
Bestimmte X-Handles ausschließen |
from_date |
Nur Beiträge an oder nach diesem Datum einschließen (YYYY-MM-DD) |
to_date |
Nur Beiträge an oder vor diesem Datum einschließen (YYYY-MM-DD) |
enable_image_understanding |
xAI Bilder prüfen lassen, die an passende Beiträge angehängt sind |
enable_video_understanding |
xAI Videos prüfen lassen, die an passende Beiträge angehängt sind |
x_search-Beispiel
await x_search({ query: "dinner recipes", allowed_x_handles: ["nytfood"], from_date: "2026-03-01",});// Per-post stats: use the exact status URL or status ID when possibleawait x_search({ query: "https://x.com/huntharo/status/1905678901234567890",});Beispiele
// Basic searchawait web_search({ query: "OpenClaw plugin SDK" }); // German-specific searchawait web_search({ query: "TV online schauen", country: "DE", language: "de" }); // Recent results (past week)await web_search({ query: "AI developments", freshness: "week" }); // Date rangeawait web_search({ query: "climate research", date_after: "2024-01-01", date_before: "2024-06-30",}); // Domain filtering (Perplexity only)await web_search({ query: "product reviews", domain_filter: ["-reddit.com", "-pinterest.com"],});Tool-Profile
Wenn Sie Tool-Profile oder Allowlisten verwenden, fügen Sie web_search, x_search oder group:web hinzu:
{ tools: { allow: ["web_search", "x_search"], // or: allow: ["group:web"] (includes web_search, x_search, and web_fetch) },}Verwandte Themen
- Web Fetch -- eine URL abrufen und lesbaren Inhalt extrahieren
- Web Browser -- vollständige Browserautomatisierung für JS-lastige Websites
- Grok Search -- Grok als
web_search-Provider - Ollama Web Search -- Websuche ohne Schlüssel über Ihren Ollama-Host