Tools
Zoeken op internet
web_search doorzoekt het web met uw geconfigureerde provider en retourneert
genormaliseerde resultaten, die per zoekopdracht 15 minuten in de cache worden
bewaard (configureerbaar). OpenClaw bevat ook x_search voor berichten op X
(voorheen Twitter) en web_fetch voor het lichtgewicht ophalen van URL's.
web_fetch wordt altijd lokaal uitgevoerd; web_search wordt via xAI Responses
geleid wanneer Grok de provider is, en x_search gebruikt altijd xAI Responses.
Snel aan de slag
Kies een provider
Kies een provider en voltooi eventuele vereiste configuratie. Sommige providers vereisen geen sleutel, andere hebben een API-sleutel nodig. Zie de onderstaande providerpagina's voor meer informatie.
Configureren
openclaw configure --section webHiermee worden de provider en eventuele benodigde referenties opgeslagen.
Voor providers met een API kunt u in plaats daarvan de omgevingsvariabele
van de provider instellen (bijvoorbeeld BRAVE_API_KEY) en deze stap
overslaan.
Gebruiken
await web_search({ query: "OpenClaw plugin SDK" });Voor berichten op X:
await x_search({ query: "dinner recipes" });Een provider kiezen
Gestructureerde resultaten met fragmenten. Ondersteunt de modus llm-context en land-/taalfilters. Er is een gratis niveau beschikbaar.
Door AI samengestelde, onderbouwde antwoorden via uw Codex-appserveraccount.
Provider zonder sleutel. Geen API-sleutel nodig. Onofficiële integratie op basis van HTML.
Neuraal zoeken en zoeken op trefwoorden met inhoudsextractie (markeringen, tekst, samenvattingen).
Gestructureerde resultaten. Werkt het beste in combinatie met firecrawl_search en firecrawl_scrape voor grondige extractie.
Door AI samengestelde antwoorden met bronvermeldingen via onderbouwing met Google Search.
Door AI samengestelde antwoorden met bronvermeldingen via webonderbouwing van xAI.
Door AI samengestelde antwoorden met bronvermeldingen via de webzoekfunctie van Moonshot; niet-onderbouwde terugvallen op chat mislukken expliciet.
Gestructureerde resultaten via de zoek-API van het MiniMax Token Plan.
Zoeken via een aangemelde lokale Ollama-host of de gehoste Ollama-API.
Betaalde Parallel Search-API (PARALLEL_API_KEY); hogere frequentielimieten en doelgerichte afstemming.
Optionele provider zonder sleutel. De gratis Search MCP van Parallel, met voor LLM's geoptimaliseerde compacte fragmenten en zonder API-sleutel.
Gestructureerde resultaten met instellingen voor inhoudsextractie en domeinfiltering.
Zelfgehoste metazoekmachine. Geen API-sleutel nodig. Voegt resultaten van Google, Bing, DuckDuckGo en meer samen.
Gestructureerde resultaten met zoekdiepte, onderwerpfiltering en tavily_extract voor URL-extractie.
Vergelijking van providers
| Provider | Resultaatstijl | Filters | API-sleutel |
|---|---|---|---|
| Brave | Gestructureerde fragmenten | Land, taal, tijd, modus llm-context |
BRAVE_API_KEY |
| Door Codex gehoste zoekfunctie | Door AI samengesteld + bron-URL's | Domeinen, contextgrootte, locatie van gebruiker | Geen; gebruikt aanmelding bij Codex/OpenAI |
| DuckDuckGo | Gestructureerde fragmenten | -- | Geen (zonder sleutel) |
| Exa | Gestructureerd + geëxtraheerd | Neurale/trefwoordmodus, datum, inhoudsextractie | EXA_API_KEY |
| Firecrawl | Gestructureerde fragmenten | Via het hulpmiddel firecrawl_search |
FIRECRAWL_API_KEY |
| Gemini | Door AI samengesteld + bronvermeldingen | -- | GEMINI_API_KEY |
| Grok | Door AI samengesteld + bronvermeldingen | -- | xAI OAuth, XAI_API_KEY of plugins.entries.xai.config.webSearch.apiKey |
| Kimi | Door AI samengesteld + bronvermeldingen; mislukt bij niet-onderbouwde terugvallen op chat | -- | KIMI_API_KEY / MOONSHOT_API_KEY |
| MiniMax Search | Gestructureerde fragmenten | Regio (global / cn) |
MINIMAX_CODE_PLAN_KEY / MINIMAX_CODING_API_KEY / MINIMAX_OAUTH_TOKEN |
| Ollama Web Search | Gestructureerde fragmenten | -- | Geen voor aangemelde lokale hosts; OLLAMA_API_KEY voor rechtstreeks zoeken via https://ollama.com |
| Parallel | Compacte fragmenten gerangschikt voor LLM-context | -- | PARALLEL_API_KEY (betaald) |
| Parallel Search (gratis) | Compacte fragmenten gerangschikt voor LLM-context | -- | Geen (gratis Search MCP) |
| Perplexity | Gestructureerde fragmenten | Land, taal, tijd, domeinen, inhoudslimieten | PERPLEXITY_API_KEY / OPENROUTER_API_KEY |
| SearXNG | Gestructureerde fragmenten | Categorieën, taal | Geen (zelfgehost) |
| Tavily | Gestructureerde fragmenten | Via het hulpmiddel tavily_search |
TAVILY_API_KEY |
Automatische detectie
Providerlijsten in documentatie en configuratieprocessen zijn alfabetisch
geordend. Automatische detectie gebruikt een afzonderlijke, vaste
prioriteitsvolgorde en kiest alleen een provider die referenties nodig heeft
(requiresCredential !== false) wanneer hiervoor een configuratie wordt
gevonden. Als er geen provider is ingesteld, controleert OpenClaw providers
in deze volgorde en gebruikt het de eerste die gereed is:
Eerst providers met een API:
- Brave --
BRAVE_API_KEYofplugins.entries.brave.config.webSearch.apiKey(volgorde 10) - MiniMax Search --
MINIMAX_CODE_PLAN_KEY/MINIMAX_CODING_API_KEY/MINIMAX_OAUTH_TOKEN/MINIMAX_API_KEYofplugins.entries.minimax.config.webSearch.apiKey(volgorde 15) - Gemini --
plugins.entries.google.config.webSearch.apiKey,GEMINI_API_KEYofmodels.providers.google.apiKey(volgorde 20) - Grok -- xAI OAuth,
XAI_API_KEYofplugins.entries.xai.config.webSearch.apiKey(volgorde 30) - Kimi --
KIMI_API_KEY/MOONSHOT_API_KEYofplugins.entries.moonshot.config.webSearch.apiKey(volgorde 40) - Perplexity --
PERPLEXITY_API_KEY/OPENROUTER_API_KEYofplugins.entries.perplexity.config.webSearch.apiKey(volgorde 50) - Firecrawl --
FIRECRAWL_API_KEYofplugins.entries.firecrawl.config.webSearch.apiKey(volgorde 60) - Exa --
EXA_API_KEYofplugins.entries.exa.config.webSearch.apiKey; optioneel overschrijftplugins.entries.exa.config.webSearch.baseUrlhet Exa-eindpunt (volgorde 65) - Tavily --
TAVILY_API_KEYofplugins.entries.tavily.config.webSearch.apiKey(volgorde 70) - Parallel -- betaalde Parallel Search-API via
PARALLEL_API_KEYofplugins.entries.parallel.config.webSearch.apiKey; optioneel overschrijftplugins.entries.parallel.config.webSearch.baseUrlhet eindpunt (volgorde 75)
Daarna providers met een geconfigureerd eindpunt:
- SearXNG --
SEARXNG_BASE_URLofplugins.entries.searxng.config.webSearch.baseUrl(volgorde 200)
Providers zonder sleutel, zoals Parallel Search (gratis), DuckDuckGo,
Ollama Web Search en Door Codex gehoste zoekfunctie, worden nooit door
automatische detectie gekozen, ook al hebben ze een interne volgordewaarde.
Ze worden alleen gebruikt wanneer u ze expliciet selecteert met
tools.web.search.provider of via openclaw configure --section web.
OpenClaw stuurt beheerde web_search-zoekopdrachten niet naar een provider
zonder sleutel alleen omdat er geen provider met een API is geconfigureerd.
OpenAI Responses-modellen vormen een uitzondering: zolang
tools.web.search.provider niet is ingesteld, gebruiken ze de ingebouwde
webzoekfunctie van OpenAI in plaats van de bovenstaande beheerde providers
(zie hieronder). Stel tools.web.search.provider in op parallel-free (of
een andere provider) om ze in plaats daarvan via het beheerde pad te leiden.
Ingebouwde OpenAI-webzoekfunctie
Directe OpenAI Responses-modellen (api: "openai-responses", provider openai,
geen basis-URL of een officiële basis-URL van de OpenAI API) gebruiken automatisch
OpenAI's gehoste web_search-tool wanneer OpenClaw-webzoekopdrachten zijn ingeschakeld
en er geen beheerde provider is vastgezet. Dit is gedrag dat eigendom is van de provider
in de gebundelde OpenAI-plugin en is niet van toepassing op basis-URL's van
OpenAI-compatibele proxy's of Azure-routes. Stel tools.web.search.provider in op een
andere provider, zoals brave, om de beheerde web_search-tool voor OpenAI-modellen te
behouden, of stel tools.web.search.enabled: false in om zowel beheerd zoeken als
systeemeigen zoeken van OpenAI uit te schakelen.
Systeemeigen Codex-webzoekfunctie
De app-serverruntime van Codex gebruikt automatisch de gehoste web_search-tool van
Codex wanneer webzoeken is ingeschakeld en er geen beheerde provider is geselecteerd.
Systeemeigen gehost zoeken en de dynamische, beheerde web_search-tool van OpenClaw
sluiten elkaar uit, zodat beheerd zoeken de systeemeigen domeinbeperkingen niet kan
omzeilen. OpenClaw gebruikt de beheerde tool wanneer gehost zoeken niet beschikbaar is,
expliciet is uitgeschakeld of is vervangen door een geselecteerde beheerde provider.
OpenClaw houdt de zelfstandige web.run-extensie van Codex uitgeschakeld
(features.standalone_web_search: false), omdat productiegegevensverkeer van de
app-server de door gebruikers gedefinieerde web-naamruimte weigert.
- Configureer systeemeigen zoeken onder
tools.web.search.openaiCodex - Stel
tools.web.search.provider: "codex"in om Codex Hosted Search in te richten als de beheerdeweb_search-provider voor elk bovenliggend model. Elke aanroep voert een begrensde, tijdelijke app-serverbeurt van Codex uit en mislukt als Codex geen gehostwebSearch-item uitvoert. mode: "cached"is de standaardvoorkeur, maar Codex zet dit om in live externe toegang voor onbeperkte app-serverbeurten; stel"live"in om expliciet live toegang aan te vragen- Stel
tools.web.search.providerin op een beheerde provider zoalsbraveom in plaats daarvan de beheerdeweb_searchvan OpenClaw te gebruiken - Stel
tools.web.search.openaiCodex.enabled: falsein om gehost zoeken via Codex uit te schakelen; andere beheerde providers blijven beschikbaar - Door het systeemeigen tooloppervlak van Codex te beperken, blijft beheerde
web_searchook beschikbaar - Wanneer
allowedDomainsis ingesteld, wordt automatische beheerde terugval gesloten geweigerd als gehost zoeken niet beschikbaar is, zodat de systeemeigen acceptatielijst niet kan worden omzeild - LLM-only-uitvoeringen met uitgeschakelde tools schakelen zowel systeemeigen als beheerd zoeken uit
tools.web.search.enabled: falseschakelt zowel beheerd als systeemeigen zoeken uit
Permanente wijzigingen in het effectieve Codex-zoekbeleid starten een nieuwe gebonden thread, zodat een reeds geladen app-serverthread geen verouderde toegang tot gehost zoeken kan behouden. Tijdelijke beperkingen per beurt gebruiken een tijdelijk beperkte thread en behouden de bestaande binding om later te hervatten.
Direct OpenAI ChatGPT Responses-verkeer kan ook de gehoste web_search-tool van OpenAI
gebruiken. Dat afzonderlijke pad blijft opt-in via
tools.web.search.openaiCodex.enabled: true en is alleen van toepassing op geschikte
openai/*-modellen die api: "openai-chatgpt-responses" gebruiken.
{ tools: { web: { search: { enabled: true, // Optioneel: gebruik Codex Hosted Search ook vanuit bovenliggende modellen die geen Codex-modellen zijn. provider: "codex", openaiCodex: { enabled: true, mode: "cached", allowedDomains: ["example.com"], contextSize: "high", userLocation: { country: "US", city: "New York", timezone: "America/New_York", }, }, }, }, },}Voor runtimes en providers die systeemeigen zoeken via Codex niet ondersteunen, kan
Codex de beheerde web_search-terugval gebruiken via de dynamische toolnaamruimte van
OpenClaw. Gebruik een expliciete beheerde provider wanneer u de providerspecifieke
netwerkregelingen van OpenClaw nodig hebt in plaats van door Codex gehost zoeken.
Als u provider: "codex" selecteert, wordt de gebundelde codex-plugin ingeschakeld en
worden dezelfde hierboven getoonde beperkingen van
tools.web.search.openaiCodex gebruikt. Verifieer de identiteit van de Codex-app-server
eerst met openclaw models auth login --provider openai. De bovenliggende agent kan elk
model of elke runtime gebruiken; alleen de begrensde zoekworker wordt via Codex
uitgevoerd.
Netwerkveiligheid
Beheerde HTTP-aanroepen van web_search-providers gebruiken het beveiligde ophaalpad
van OpenClaw, beperkt tot de eigen hostnaam van de huidige provider. Alleen voor die
hostnaam staat OpenClaw fake-IP-DNS-antwoorden van Surge, Clash en sing-box toe in
198.18.0.0/15 en fc00::/7. Andere privé-, loopback-, link-local- en
metadatabestemmingen blijven geblokkeerd. Codex Hosted Search vormt de uitzondering:
de begrensde worker delegeert netwerktoegang aan de gehoste web_search-tool van de
Codex-app-server.
Deze automatische toestemming geldt niet voor willekeurige web_fetch-URL's. Schakel
voor web_fetch tools.web.fetch.ssrfPolicy.allowRfc2544BenchmarkRange en
tools.web.fetch.ssrfPolicy.allowIpv6UniqueLocalRange alleen expliciet in wanneer uw
vertrouwde proxy eigenaar is van die synthetische bereiken.
Configuratie
{ tools: { web: { search: { enabled: true, // standaard: true provider: "brave", // of weglaten voor automatische detectie maxResults: 5, timeoutSeconds: 30, cacheTtlMinutes: 15, }, }, },}Providerspecifieke configuratie (API-sleutels, basis-URL's, modi) staat onder
plugins.entries.<plugin>.config.webSearch.*. Gemini kan ook
models.providers.google.apiKey en models.providers.google.baseUrl hergebruiken als
terugvalopties met lagere prioriteit, na de eigen configuratie voor webzoeken en
GEMINI_API_KEY. Zie de providerpagina's voor voorbeelden.
Grok kan ook een xAI OAuth-verificatieprofiel van openclaw models auth login --provider xai --method oauth hergebruiken; configuratie met een API-sleutel blijft de
terugvaloptie.
tools.web.search.provider wordt gevalideerd aan de hand van de provider-ID's voor
webzoeken die zijn gedeclareerd door gebundelde en geïnstalleerde pluginmanifesten. Een
typefout zoals "brvae" zorgt ervoor dat de configuratievalidatie mislukt in plaats van
stil terug te vallen op automatische detectie. Als een geconfigureerde provider alleen
verouderd pluginbewijs heeft, zoals een achtergebleven
plugins.entries.<plugin>-blok na het verwijderen van een plugin van derden, blijft
OpenClaw robuust opstarten en meldt het een waarschuwing, zodat u de plugin opnieuw kunt
installeren of openclaw doctor --fix kunt uitvoeren om de verouderde configuratie op
te schonen.
De selectie van een terugvalprovider voor web_fetch staat hiervan los:
- kies deze met
tools.web.fetch.provider - of laat dat veld weg en laat OpenClaw automatisch de eerste gebruiksklare web-fetchprovider detecteren op basis van geconfigureerde referenties
web_fetchzonder sandbox kan geïnstalleerde pluginproviders gebruiken diecontracts.webFetchProvidersdeclareren; ophaalacties in een sandbox staan gebundelde providers en geverifieerde installaties van officiële plugins toe, maar sluiten externe plugins van derden uit- de officiële Firecrawl-plugin is momenteel de enige gebundelde bijdrager aan
webFetchProviders, geconfigureerd onderplugins.entries.firecrawl.config.webFetch.*
Wanneer u tijdens openclaw onboard of
openclaw configure --section web Kimi kiest, kan OpenClaw ook vragen om:
- de Moonshot API-regio (
https://api.moonshot.ai/v1ofhttps://api.moonshot.cn/v1) - het standaardmodel van Kimi voor webzoeken (standaard
kimi-k2.6)
Configureer voor x_search plugins.entries.xai.config.xSearch.*. Dit gebruikt
hetzelfde xAI-verificatieprofiel als chat, of de XAI_API_KEY /
pluginreferentie voor webzoeken die door Grok-webzoeken wordt gebruikt.
Verouderde configuratie onder tools.web.x_search.* wordt automatisch gemigreerd door
openclaw doctor --fix.
Wanneer u Grok kiest tijdens openclaw onboard of openclaw configure --section web,
biedt OpenClaw ook optionele configuratie van x_search aan met dezelfde referentie,
direct nadat de Grok-configuratie is voltooid. Dit is een afzonderlijke vervolgstap
binnen het Grok-pad, geen afzonderlijke providerkeuze voor webzoeken op het hoogste
niveau. Als u een andere provider kiest, toont OpenClaw de x_search-vraag niet.
API-sleutels opslaan
Configuratiebestand
Voer openclaw configure --section web uit of stel de sleutel rechtstreeks in:
{ plugins: { entries: { brave: { config: { webSearch: { apiKey: "YOUR_KEY", // pragma: allowlist secret }, }, }, }, },}Omgevingsvariabele
Stel de omgevingsvariabele van de provider in de procesomgeving van de Gateway in:
export BRAVE_API_KEY="YOUR_KEY"Plaats deze voor een Gateway-installatie in ~/.openclaw/.env.
Zie Omgevingsvariabelen.
Toolparameters
| Parameter | Beschrijving |
|---|---|
query |
Zoekopdracht (vereist) |
count |
Aantal te retourneren resultaten (1-10, standaard: 5) |
country |
ISO-landcode van 2 letters (bijv. "US", "DE") |
language |
ISO 639-1-taalcode (bijv. "en", "de") |
search_lang |
Taalcode voor zoeken (alleen Brave) |
freshness |
Tijdsfilter: day, week, month of year |
date_after |
Resultaten na deze datum (JJJJ-MM-DD) |
date_before |
Resultaten vóór deze datum (JJJJ-MM-DD) |
ui_lang |
Taalcode van de gebruikersinterface (alleen Brave) |
domain_filter |
Array met acceptatie-/weigeringslijst voor domeinen (alleen Perplexity) |
max_tokens |
Totaal tokenbudget voor inhoud, alleen systeemeigen Perplexity Search API |
max_tokens_per_page |
Tokenlimiet voor extractie per pagina, alleen systeemeigen Perplexity Search API |
x_search
x_search doorzoekt berichten op X (voorheen Twitter) met xAI en retourneert door AI
samengestelde antwoorden met bronvermeldingen. Het accepteert zoekopdrachten in
natuurlijke taal en optionele gestructureerde filters. OpenClaw maakt de ingebouwde
xAI-tool x_search per aanvraag aan in plaats van deze permanent geregistreerd te
houden, zodat deze alleen actief is tijdens de beurt waarin deze daadwerkelijk wordt
aangeroepen.
Configuratie van x_search
Als enabled is weggelaten, wordt x_search alleen beschikbaar gesteld wanneer de provider van het actieve model xai is en de xAI-inloggegevens kunnen worden gevonden. Stel voor een actief model met een bekende niet-xAI-provider plugins.entries.xai.config.xSearch.enabled in op true om gebruik tussen providers in te schakelen. Als de provider van het actieve model ontbreekt of niet kan worden vastgesteld, blijft de tool verborgen. Stel enabled in op false om de tool voor elke provider uit te schakelen. xAI-inloggegevens zijn altijd vereist.
{ plugins: { entries: { xai: { config: { xSearch: { enabled: true, // required for a known non-xAI model provider model: "grok-4.3", 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 verzendt aanvragen naar <baseUrl>/responses wanneer plugins.entries.xai.config.xSearch.baseUrl is ingesteld. Als dat veld is weggelaten, valt de tool terug op plugins.entries.xai.config.webSearch.baseUrl, vervolgens op de verouderde tools.web.search.grok.baseUrl en ten slotte op het openbare xAI-eindpunt (https://api.x.ai/v1).
Parameters van x_search
| Parameter | Beschrijving |
|---|---|
query |
Zoekopdracht (verplicht) |
allowed_x_handles |
Beperk resultaten tot maximaal 20 X-handles |
excluded_x_handles |
Sluit maximaal 20 X-handles uit |
from_date |
Neem alleen berichten op deze datum of later op (JJJJ-MM-DD) |
to_date |
Neem alleen berichten op deze datum of eerder op (JJJJ-MM-DD) |
enable_image_understanding |
Laat xAI afbeeldingen bij overeenkomende berichten analyseren |
enable_video_understanding |
Laat xAI video's bij overeenkomende berichten analyseren |
allowed_x_handles en excluded_x_handles sluiten elkaar wederzijds uit.
Voorbeeld van x_search
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",});Voorbeelden
// 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"],});Toolprofielen
Als u toolprofielen of toelatingslijsten gebruikt, voegt u web_search, x_search of group:web toe:
{ tools: { allow: ["web_search", "x_search"], // or: allow: ["group:web"] (includes web_search, x_search, and web_fetch) },}Gerelateerd
- Webinhoud ophalen -- haal een URL op en extraheer leesbare inhoud
- Webbrowser -- volledige browserautomatisering voor websites die veel JavaScript gebruiken
- Zoeken met Grok -- Grok als de
web_search-provider - Webzoeken met Ollama -- webzoeken zonder sleutel via uw Ollama-host