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 zwischengespeichert (konfigurierbar).
OpenClaw enthält außerdem x_search für Beiträge auf X (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 intern xAI Responses verwenden können.
Schnellstart
Provider auswählen
Wählen Sie einen Provider aus und schließen Sie alle erforderlichen Einrichtungsschritte ab. Einige Provider kommen ohne Schlüssel aus, während andere API-Schlüssel verwenden. Details finden Sie auf den Provider-Seiten unten.
Konfigurieren
openclaw configure --section web
Dadurch werden der Provider und alle benötigten Anmeldeinformationen gespeichert. Sie können auch eine Env-Variable
festlegen (zum Beispiel BRAVE_API_KEY) und diesen Schritt für API-gestützte
Provider überspringen.
Verwenden
Der Agent kann jetzt web_search aufrufen:
await web_search({ query: "OpenClaw plugin SDK" });
Verwenden Sie für X-Beiträge:
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.
Schlüssellose Ausweichoption. Kein API-Schlüssel erforderlich. Inoffizielle HTML-basierte Integration.
Neuronale + Stichwortsuche mit Inhaltsextraktion (Highlights, Text, Zusammenfassungen).
Strukturierte Ergebnisse. Am besten zusammen mit firecrawl_search und firecrawl_scrape für tiefe Extraktion.
KI-synthetisierte Antworten mit Zitaten über Google Search Grounding.
KI-synthetisierte Antworten mit Zitaten über xAI Web Grounding.
KI-synthetisierte Antworten mit Zitaten über Moonshot-Websuche; ungegroundete Chat-Fallbacks schlagen explizit fehl.
Strukturierte Ergebnisse über die Such-API des MiniMax Token Plan.
Suche über einen angemeldeten lokalen Ollama-Host oder die gehostete Ollama-API.
Strukturierte Ergebnisse mit Steuerung der Inhaltsextraktion und Domain-Filterung.
Selbst gehostete Metasuche. Kein API-Schlüssel erforderlich. Aggregiert Google, Bing, DuckDuckGo und mehr.
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 |
| DuckDuckGo | Strukturierte Snippets | -- | Keiner (schlüssellos) |
| Exa | Strukturiert + extrahiert | Neuronaler/Stichwortmodus, Datum, Inhaltsextraktion | EXA_API_KEY |
| Firecrawl | Strukturierte Snippets | Über das Tool firecrawl_search |
FIRECRAWL_API_KEY |
| Gemini | KI-synthetisiert + Zitate | -- | GEMINI_API_KEY |
| Grok | KI-synthetisiert + Zitate | -- | XAI_API_KEY |
| Kimi | KI-synthetisiert + Zitate; schlägt bei ungegroundeten 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 |
| Perplexity | Strukturierte Snippets | Land, Sprache, Zeit, Domains, Inhaltsgrenzen | 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. Dieses Verhalten gehört dem Provider 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
Codex-fähige Modelle können optional das provider-native Responses-Tool web_search anstelle der von OpenClaw verwalteten Funktion web_search verwenden.
- Konfigurieren Sie es unter
tools.web.search.openaiCodex - Es wird nur für Codex-fähige Modelle aktiviert (
openai-codex/*oder Provider mitapi: "openai-codex-responses") - Das verwaltete
web_searchgilt weiterhin für Nicht-Codex-Modelle mode: "cached"ist die Standardeinstellung und empfohlene Einstellungtools.web.search.enabled: falsedeaktiviert sowohl die verwaltete als auch die native Suche
{
tools: {
web: {
search: {
enabled: true,
openaiCodex: {
enabled: true,
mode: "cached",
allowedDomains: ["example.com"],
contextSize: "high",
userLocation: {
country: "US",
city: "New York",
timezone: "America/New_York",
},
},
},
},
},
}
Wenn die native Codex-Suche aktiviert ist, das aktuelle Modell aber nicht Codex-fähig ist, behält OpenClaw das normale verwaltete web_search-Verhalten bei.
Netzwerksicherheit
Verwaltete 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-, link-local- und Metadaten-Ziele bleiben blockiert.
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 der Dokumentation und in Einrichtungsabläufen sind alphabetisch. Die automatische Erkennung behält eine separate Prioritätsreihenfolge bei.
Wenn kein provider festgelegt ist, prüft OpenClaw die 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_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)
Danach schlüssellose Fallbacks:
- DuckDuckGo -- schlüsselloser HTML-Fallback ohne Konto oder API-Schlüssel (Reihenfolge 100)
- Ollama Web Search -- schlüsselloser Fallback über Ihren konfigurierten lokalen Ollama-Host, wenn er erreichbar und mit
ollama signinangemeldet ist; kann Ollama-Provider-Bearer-Authentifizierung wiederverwenden, wenn der Host sie benötigt, und kann direkte Suche überhttps://ollama.comaufrufen, wenn mitOLLAMA_API_KEYkonfiguriert (Reihenfolge 110) - SearXNG --
SEARXNG_BASE_URLoderplugins.entries.searxng.config.webSearch.baseUrl(Reihenfolge 200)
Wenn kein Provider erkannt wird, fällt die Auswahl auf Brave zurück (Sie erhalten einen Fehler wegen fehlendem Schlüssel, der Sie zur Konfiguration auffordert).
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.
tools.web.search.provider wird gegen die Websuche-Provider-IDs validiert,
die von gebündelten und installierten Plugin-Manifesten sowie bekannten installierbaren
Provider-Plugins deklariert werden. Ein Tippfehler wie "brvae" führt zu einem Fehler bei der Konfigurationsvalidierung, statt
stillschweigend auf die automatische Erkennung zurückzufallen. Wenn der konfigurierte Provider bekannt ist, aber
das zugehörige Plugin nicht verfügbar ist, bleibt der Start von OpenClaw robust und meldet eine
Warnung, damit Sie openclaw doctor --fix ausführen können, um das Plugin zu installieren oder zu aktivieren.
Dasselbe Warnverhalten gilt für veraltete Plugin-Hinweise, etwa einen übrig gebliebenen
plugins.entries.<plugin>-Block nach der Deinstallation eines Drittanbieter-Plugins.
Die Auswahl des web_fetch-Fallback-Providers ist separat:
- wählen Sie ihn mit
tools.web.fetch.provider - oder lassen Sie dieses Feld weg und lassen Sie OpenClaw den ersten bereiten Web-Fetch-Provider aus den verfügbaren Zugangsdaten automatisch erkennen
- nicht sandboxed
web_fetchkann installierte Plugin-Provider verwenden, diecontracts.webFetchProvidersdeklarieren; sandboxed Abrufe bleiben auf gebündelte Provider beschränkt - derzeit ist der gebündelte Web-Fetch-Provider Firecrawl, konfiguriert unter
plugins.entries.firecrawl.config.webFetch.*
Wenn Sie während openclaw onboard oder
openclaw configure --section web Kimi wä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:
kimi-k2.6)
Für x_search konfigurieren Sie plugins.entries.xai.config.xSearch.*. Es verwendet denselben
XAI_API_KEY-Fallback wie die Grok-Websuche.
Die ältere tools.web.x_search.*-Konfiguration wird von openclaw doctor --fix automatisch migriert.
Wenn Sie während openclaw onboard oder openclaw configure --section web Grok wählen,
kann OpenClaw außerdem eine optionale x_search-Einrichtung mit demselben Schlüssel anbieten.
Dies ist ein separater Folgeschritt innerhalb des Grok-Pfads, keine separate Auswahl eines übergeordneten
Websuche-Providers. Wenn Sie einen anderen Provider auswählen, zeigt OpenClaw die
x_search-Eingabeaufforderung nicht an.
API-Schlüssel speichern
Config file
Führen Sie openclaw configure --section web aus oder setzen Sie den Schlüssel direkt:
{
plugins: {
entries: {
brave: {
config: {
webSearch: {
apiKey: "YOUR_KEY", // pragma: allowlist secret
},
},
},
},
},
}
Environment variable
Setzen Sie die Provider-Umgebungsvariable in der Prozessumgebung des Gateway:
export BRAVE_API_KEY="YOUR_KEY"
Für eine Gateway-Installation legen Sie sie in ~/.openclaw/.env ab.
Siehe Umgebungsvariablen.
Tool-Parameter
| Parameter | Beschreibung |
|---|---|
query |
Suchanfrage (erforderlich) |
count |
Zurückzugebende Ergebnisse (1-10, Standard: 5) |
country |
Zweibuchstabiger ISO-Ländercode (z. B. "US", "DE") |
language |
Sprachcode nach ISO 639-1 (z. B. "en", "de") |
search_lang |
Suchsprachencode (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 Inhalte, Standard 25000 (nur Perplexity) |
max_tokens_per_page |
Token-Limit pro Seite, Standard 2048 (nur Perplexity) |
x_search
x_search fragt X-Beiträge (früher Twitter) über xAI ab und gibt
KI-synthetisierte Antworten mit Quellenangaben zurück. Es akzeptiert natürlichsprachliche Abfragen und
optionale strukturierte Filter. OpenClaw aktiviert das integrierte xAI-Tool x_search
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 XAI_API_KEY is set
baseUrl: "https://api.x.ai/v1", // optional shared xAI Responses base URL
},
},
},
},
},
}
x_search postet an <baseUrl>/responses, wenn
plugins.entries.xai.config.xSearch.baseUrl gesetzt ist. Wenn dieses Feld weggelassen wird,
fällt es auf plugins.entries.xai.config.webSearch.baseUrl, dann auf die ältere
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 passenden Beiträgen angehängt sind |
enable_video_understanding |
xAI Videos prüfen lassen, die passenden Beiträgen 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 possible
await x_search({
query: "https://x.com/huntharo/status/1905678901234567890",
});
Beispiele
// Basic search
await web_search({ query: "OpenClaw plugin SDK" });
// German-specific search
await web_search({ query: "TV online schauen", country: "DE", language: "de" });
// Recent results (past week)
await web_search({ query: "AI developments", freshness: "week" });
// Date range
await 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 Allowlists 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-Suche -- Grok als
web_search-Provider - Ollama-Websuche -- schlüsselfreie Websuche über Ihren Ollama-Host