Tools
Zoeken op het web
De tool web_search doorzoekt het web met je geconfigureerde provider en
retourneert resultaten. Resultaten worden per query 15 minuten gecachet
(configureerbaar).
OpenClaw bevat ook x_search voor X-posts (voorheen Twitter) en
web_fetch voor lichte URL-fetching. In deze fase blijft web_fetch
lokaal, terwijl web_search en x_search onder de motorkap xAI Responses
kunnen gebruiken.
Snelstart
Kies een provider
Kies een provider en voltooi eventuele vereiste configuratie. Sommige providers zijn sleutelvrij, terwijl andere API-sleutels gebruiken. Zie de providerpagina's hieronder voor details.
Configureer
openclaw configure --section web
Hiermee worden de provider en eventuele benodigde inloggegevens opgeslagen. Je kunt ook een env
var instellen (bijvoorbeeld BRAVE_API_KEY) en deze stap overslaan voor providers
met API-ondersteuning.
Gebruik het
De agent kan nu web_search aanroepen:
await web_search({ query: "OpenClaw plugin SDK" });
Gebruik voor X-posts:
await x_search({ query: "dinner recipes" });
Een provider kiezen
Gestructureerde resultaten met snippets. Ondersteunt llm-context-modus en land-/taalfilters. Gratis laag beschikbaar.
Sleutelvrije fallback. Geen API-sleutel nodig. Onofficiële HTML-gebaseerde integratie.
Neuraal + zoeken op trefwoorden met contentextractie (markeringen, tekst, samenvattingen).
Gestructureerde resultaten. Werkt het best in combinatie met firecrawl_search en firecrawl_scrape voor diepe extractie.
AI-gesynthetiseerde antwoorden met citaties via Google Search-grounding.
AI-gesynthetiseerde antwoorden met citaties via xAI-webgrounding.
AI-gesynthetiseerde antwoorden met citaties via Moonshot-webzoekopdrachten; ongegronde chatfallbacks 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.
Gestructureerde resultaten met besturing voor contentextractie en domeinfiltering.
Zelfgehoste meta-search. Geen API-sleutel nodig. Aggregeert Google, Bing, DuckDuckGo en meer.
Gestructureerde resultaten met zoekdiepte, onderwerpfiltering en tavily_extract voor URL-extractie.
Providervergelijking
| Provider | Resultaatstijl | Filters | API-sleutel |
|---|---|---|---|
| Brave | Gestructureerde snippets | Land, taal, tijd, llm-context-modus |
BRAVE_API_KEY |
| DuckDuckGo | Gestructureerde snippets | -- | Geen (sleutelvrij) |
| Exa | Gestructureerd + geëxtraheerd | Neurale/trefwoordmodus, datum, contentextractie | EXA_API_KEY |
| Firecrawl | Gestructureerde snippets | Via de tool firecrawl_search |
FIRECRAWL_API_KEY |
| Gemini | AI-gesynthetiseerd + citaties | -- | GEMINI_API_KEY |
| Grok | AI-gesynthetiseerd + citaties | -- | XAI_API_KEY |
| Kimi | AI-gesynthetiseerd + citaties; mislukt bij ongegronde chatfallbacks | -- | KIMI_API_KEY / MOONSHOT_API_KEY |
| MiniMax Search | Gestructureerde snippets | Regio (global / cn) |
MINIMAX_CODE_PLAN_KEY / MINIMAX_CODING_API_KEY / MINIMAX_OAUTH_TOKEN |
| Ollama Web Search | Gestructureerde snippets | -- | Geen voor aangemelde lokale hosts; OLLAMA_API_KEY voor directe https://ollama.com-zoekopdrachten |
| Perplexity | Gestructureerde snippets | Land, taal, tijd, domeinen, contentlimieten | PERPLEXITY_API_KEY / OPENROUTER_API_KEY |
| SearXNG | Gestructureerde snippets | Categorieën, taal | Geen (zelfgehost) |
| Tavily | Gestructureerde snippets | Via de tool tavily_search |
TAVILY_API_KEY |
Automatische detectie
Native OpenAI-webzoekfunctie
Directe OpenAI Responses-modellen gebruiken automatisch de gehoste OpenAI-tool web_search wanneer OpenClaw-webzoekfunctie is ingeschakeld en er geen beheerde provider is vastgezet. Dit is provider-eigen gedrag in de gebundelde OpenAI-plugin en is alleen van toepassing op native OpenAI API-verkeer, niet op OpenAI-compatibele proxybasis-URL's of Azure-routes. Stel tools.web.search.provider in op een andere provider, zoals brave, om de beheerde tool web_search voor OpenAI-modellen te behouden, of stel tools.web.search.enabled: false in om zowel beheerde zoekfunctie als native OpenAI-zoekfunctie uit te schakelen.
Native Codex-webzoekfunctie
Codex-compatibele modellen kunnen optioneel de provider-native Responses-tool web_search gebruiken in plaats van OpenClaws beheerde functie web_search.
- Configureer dit onder
tools.web.search.openaiCodex - Het wordt alleen geactiveerd voor Codex-compatibele modellen (
openai-codex/*of providers dieapi: "openai-codex-responses"gebruiken) - Beheerde
web_searchblijft van toepassing op niet-Codex-modellen mode: "cached"is de standaardinstelling en aanbevolen instellingtools.web.search.enabled: falseschakelt zowel beheerde als native zoekfunctie uit
{
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",
},
},
},
},
},
}
Als native Codex-zoekfunctie is ingeschakeld maar het huidige model niet Codex-compatibel is, behoudt OpenClaw het normale beheerde web_search-gedrag.
Netwerkveiligheid
Beheerde web_search-provideraanroepen gebruiken OpenClaws beveiligde fetch-pad. Voor
vertrouwde provider-API-hosts staat OpenClaw Surge-, Clash- en sing-box-fake-IP
DNS-antwoorden in 198.18.0.0/15 en fc00::/7 alleen toe voor die providerhostnaam.
Andere private, loopback-, link-local- en metadatabestemmingen blijven geblokkeerd.
Deze automatische toestaan-regel is niet van toepassing op willekeurige web_fetch-URL's. Schakel voor
web_fetch tools.web.fetch.ssrfPolicy.allowRfc2544BenchmarkRange en
tools.web.fetch.ssrfPolicy.allowIpv6UniqueLocalRange expliciet alleen in wanneer je
vertrouwde proxy eigenaar is van die synthetische bereiken.
Webzoekfunctie instellen
Providerlijsten in docs en configuratiestromen zijn alfabetisch. Automatische detectie hanteert een aparte prioriteitsvolgorde.
Als er geen provider is ingesteld, controleert OpenClaw providers in deze volgorde en gebruikt het de
eerste die gereed is:
Eerst providers met API-ondersteuning:
- 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_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)
Daarna sleutelvrije fallbacks:
- DuckDuckGo -- sleutelvrije HTML-fallback zonder account of API-sleutel (volgorde 100)
- Ollama Web Search -- sleutelvrije fallback via je geconfigureerde lokale Ollama-host wanneer die bereikbaar en aangemeld is met
ollama signin; kan Ollama-providerbearer-auth hergebruiken wanneer de host die nodig heeft, en kan directehttps://ollama.com-zoekopdrachten uitvoeren wanneer geconfigureerd metOLLAMA_API_KEY(volgorde 110) - SearXNG --
SEARXNG_BASE_URLofplugins.entries.searxng.config.webSearch.baseUrl(volgorde 200)
Als er geen provider wordt gedetecteerd, valt het terug op Brave (je krijgt dan een fout over een ontbrekende sleutel die je vraagt er een te configureren).
Config
{
tools: {
web: {
search: {
enabled: true, // default: true
provider: "brave", // or omit for auto-detection
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 fallbacks met lagere prioriteit
na de eigen webzoekconfiguratie en GEMINI_API_KEY. Zie de
providerpagina's voor voorbeelden.
tools.web.search.provider wordt gevalideerd tegen de ids van webzoekproviders
die zijn gedeclareerd door meegeleverde en geïnstalleerde Plugin-manifesten, plus bekende installeerbare
providerplugins. Een typefout zoals "brvae" zorgt ervoor dat de configuratievalidatie mislukt in plaats van
stil terug te vallen op automatische detectie. Als de geconfigureerde provider bekend is maar
de bijbehorende Plugin niet beschikbaar is, houdt OpenClaw het opstarten robuust en meldt het een
waarschuwing zodat je openclaw doctor --fix kunt uitvoeren om de Plugin te installeren of in te schakelen.
Hetzelfde waarschuwingsgedrag geldt voor verouderd Plugin-bewijs, zoals een achtergebleven
plugins.entries.<plugin>-blok na het verwijderen van een externe Plugin.
Selectie van fallbackprovider voor web_fetch staat los hiervan:
- kies deze met
tools.web.fetch.provider - of laat dat veld weg en laat OpenClaw automatisch de eerste gereedstaande web-fetch-provider detecteren op basis van beschikbare referenties
web_fetchzonder sandbox kan geïnstalleerde Plugin-providers gebruiken diecontracts.webFetchProvidersdeclareren; fetches met sandbox blijven uitsluitend meegeleverd- momenteel is de meegeleverde web-fetch-provider Firecrawl, geconfigureerd onder
plugins.entries.firecrawl.config.webFetch.*
Wanneer je Kimi kiest tijdens openclaw onboard of
openclaw configure --section web, kan OpenClaw ook vragen om:
- de Moonshot API-regio (
https://api.moonshot.ai/v1ofhttps://api.moonshot.cn/v1) - het standaardmodel voor Kimi-webzoeken (standaard
kimi-k2.6)
Configureer voor x_search plugins.entries.xai.config.xSearch.*. Het gebruikt dezelfde
XAI_API_KEY-fallback als Grok-webzoekopdrachten.
Verouderde tools.web.x_search.*-configuratie wordt automatisch gemigreerd door openclaw doctor --fix.
Wanneer je Grok kiest tijdens openclaw onboard of openclaw configure --section web,
kan OpenClaw ook optionele x_search-configuratie aanbieden met dezelfde sleutel.
Dit is een aparte vervolgstap binnen het Grok-pad, niet een aparte providerkeuze op topniveau
voor webzoeken. Als je een andere provider kiest, toont OpenClaw de
x_search-prompt 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 provider-env-var in de procesomgeving van de Gateway in:
export BRAVE_API_KEY="YOUR_KEY"
Voor een Gateway-installatie plaats je deze in ~/.openclaw/.env.
Zie Env-vars.
Toolparameters
| Parameter | Beschrijving |
|---|---|
query |
Zoekquery (vereist) |
count |
Te retourneren resultaten (1-10, standaard: 5) |
country |
2-letterige ISO-landcode (bijv. "US", "DE") |
language |
ISO 639-1-taalcode (bijv. "en", "de") |
search_lang |
Zoektaalcode (alleen Brave) |
freshness |
Tijdfilter: day, week, month of year |
date_after |
Resultaten na deze datum (YYYY-MM-DD) |
date_before |
Resultaten vóór deze datum (YYYY-MM-DD) |
ui_lang |
UI-taalcode (alleen Brave) |
domain_filter |
Domein-allowlist/denylist-array (alleen Perplexity) |
max_tokens |
Totaal inhoudsbudget, standaard 25000 (alleen Perplexity) |
max_tokens_per_page |
Tokenlimiet per pagina, standaard 2048 (alleen Perplexity) |
x_search
x_search doorzoekt X-berichten (voorheen Twitter) met xAI en retourneert
door AI gesynthetiseerde antwoorden met citaties. Het accepteert query's in natuurlijke taal en
optionele gestructureerde filters. OpenClaw schakelt de ingebouwde xAI-x_search-
tool alleen in voor de aanvraag die deze toolaanroep bedient.
x_search-configuratie
{
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 post naar <baseUrl>/responses wanneer
plugins.entries.xai.config.xSearch.baseUrl is ingesteld. Als dat veld is weggelaten,
valt het 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.
x_search-parameters
| Parameter | Beschrijving |
|---|---|
query |
Zoekquery (vereist) |
allowed_x_handles |
Beperk resultaten tot specifieke X-handles |
excluded_x_handles |
Sluit specifieke X-handles uit |
from_date |
Neem alleen berichten op van of na deze datum (YYYY-MM-DD) |
to_date |
Neem alleen berichten op van of vóór deze datum (YYYY-MM-DD) |
enable_image_understanding |
Laat xAI afbeeldingen inspecteren die aan overeenkomende berichten zijn gekoppeld |
enable_video_understanding |
Laat xAI video's inspecteren die aan overeenkomende berichten zijn gekoppeld |
x_search-voorbeeld
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",
});
Voorbeelden
// 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"],
});
Toolprofielen
Als je toolprofielen of allowlists gebruikt, voeg dan 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
- Web Fetch -- haal een URL op en extraheer leesbare inhoud
- Webbrowser -- volledige browserautomatisering voor sites met veel JS
- Grok zoeken -- Grok als de
web_search-provider - Ollama-webzoekopdracht -- webzoekopdrachten zonder sleutel via je Ollama-host