Tools
Pesquisa na web
The tool web_search pesquisa na web usando o provedor configurado e
retorna resultados. Os resultados são armazenados em cache por consulta por 15 minutos (configurável).
O OpenClaw também inclui x_search para publicações do X (antigo Twitter) e
web_fetch para busca leve de URLs. Nesta fase, web_fetch permanece
local, enquanto web_search e x_search podem usar xAI Responses nos bastidores.
Início rápido
Choose a provider
Escolha um provedor e conclua qualquer configuração necessária. Alguns provedores não exigem chave, enquanto outros usam chaves de API. Consulte as páginas dos provedores abaixo para obter detalhes.
Configure
openclaw configure --section web
Isso armazena o provedor e qualquer credencial necessária. Você também pode definir uma variável
de ambiente (por exemplo, BRAVE_API_KEY) e pular esta etapa para provedores
baseados em API.
Use it
O agente agora pode chamar web_search:
await web_search({ query: "OpenClaw plugin SDK" });
Para publicações do X, use:
await x_search({ query: "dinner recipes" });
Como escolher um provedor
Resultados estruturados com trechos. Compatível com o modo llm-context e filtros de país/idioma. Camada gratuita disponível.
Alternativa sem chave. Nenhuma chave de API necessária. Integração não oficial baseada em HTML.
Pesquisa neural + por palavra-chave com extração de conteúdo (destaques, texto, resumos).
Resultados estruturados. Melhor usado junto com firecrawl_search e firecrawl_scrape para extração profunda.
Respostas sintetizadas por IA com citações via fundamentação do Google Search.
Respostas sintetizadas por IA com citações via fundamentação web da xAI.
Respostas sintetizadas por IA com citações via pesquisa web da Moonshot; alternativas de chat sem fundamentação falham explicitamente.
Resultados estruturados via API de pesquisa do MiniMax Token Plan.
Pesquisa via host local do Ollama autenticado ou pela API hospedada do Ollama.
Resultados estruturados com controles de extração de conteúdo e filtragem por domínio.
Metabusca auto-hospedada. Nenhuma chave de API necessária. Agrega Google, Bing, DuckDuckGo e mais.
Resultados estruturados com profundidade de pesquisa, filtragem por tópico e tavily_extract para extração de URL.
Comparação de provedores
| Provedor | Estilo de resultado | Filtros | Chave de API |
|---|---|---|---|
| Brave | Trechos estruturados | País, idioma, tempo, modo llm-context |
BRAVE_API_KEY |
| DuckDuckGo | Trechos estruturados | -- | Nenhuma (sem chave) |
| Exa | Estruturado + extraído | Modo neural/palavra-chave, data, extração de conteúdo | EXA_API_KEY |
| Firecrawl | Trechos estruturados | Via ferramenta firecrawl_search |
FIRECRAWL_API_KEY |
| Gemini | Sintetizado por IA + citações | -- | GEMINI_API_KEY |
| Grok | Sintetizado por IA + citações | -- | XAI_API_KEY |
| Kimi | Sintetizado por IA + citações; falha em alternativas de chat sem fundamentação | -- | KIMI_API_KEY / MOONSHOT_API_KEY |
| MiniMax Search | Trechos estruturados | Região (global / cn) |
MINIMAX_CODE_PLAN_KEY / MINIMAX_CODING_API_KEY / MINIMAX_OAUTH_TOKEN |
| Ollama Web Search | Trechos estruturados | -- | Nenhuma para hosts locais autenticados; OLLAMA_API_KEY para pesquisa direta em https://ollama.com |
| Perplexity | Trechos estruturados | País, idioma, tempo, domínios, limites de conteúdo | PERPLEXITY_API_KEY / OPENROUTER_API_KEY |
| SearXNG | Trechos estruturados | Categorias, idioma | Nenhuma (auto-hospedado) |
| Tavily | Trechos estruturados | Via ferramenta tavily_search |
TAVILY_API_KEY |
Detecção automática
Pesquisa web nativa da OpenAI
Modelos diretos de OpenAI Responses usam automaticamente a ferramenta web_search hospedada pela OpenAI quando a pesquisa web do OpenClaw está habilitada e nenhum provedor gerenciado está fixado. Esse é um comportamento de propriedade do provedor no Plugin OpenAI incluído e se aplica apenas ao tráfego nativo da API OpenAI, não a URLs base de proxy compatíveis com OpenAI nem a rotas Azure. Defina tools.web.search.provider para outro provedor, como brave, para manter a ferramenta web_search gerenciada para modelos OpenAI, ou defina tools.web.search.enabled: false para desabilitar tanto a pesquisa gerenciada quanto a pesquisa nativa da OpenAI.
Pesquisa web nativa do Codex
Modelos compatíveis com Codex podem opcionalmente usar a ferramenta web_search nativa do provedor em Responses em vez da função web_search gerenciada pelo OpenClaw.
- Configure-a em
tools.web.search.openaiCodex - Ela só é ativada para modelos compatíveis com Codex (
openai-codex/*ou provedores usandoapi: "openai-codex-responses") web_searchgerenciado ainda se aplica a modelos que não são Codexmode: "cached"é a configuração padrão e recomendadatools.web.search.enabled: falsedesabilita tanto a pesquisa gerenciada quanto a nativa
{
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",
},
},
},
},
},
}
Se a pesquisa nativa do Codex estiver habilitada, mas o modelo atual não for compatível com Codex, o OpenClaw mantém o comportamento normal de web_search gerenciado.
Segurança de rede
Chamadas de provedores web_search gerenciadas usam o caminho de fetch protegido do OpenClaw. Para
hosts de API de provedores confiáveis, o OpenClaw permite respostas DNS de IP falso
do Surge, Clash e sing-box em 198.18.0.0/15 e fc00::/7 somente para esse nome de host
do provedor. Outros destinos privados, local loopback, link-local e de metadados permanecem bloqueados.
Essa permissão automática não se aplica a URLs arbitrárias de web_fetch. Para
web_fetch, habilite tools.web.fetch.ssrfPolicy.allowRfc2544BenchmarkRange e
tools.web.fetch.ssrfPolicy.allowIpv6UniqueLocalRange explicitamente somente quando seu
proxy confiável controlar esses intervalos sintéticos.
Configuração da pesquisa web
Listas de provedores na documentação e nos fluxos de configuração são alfabéticas. A detecção automática mantém uma ordem de precedência separada.
Se nenhum provider estiver definido, o OpenClaw verifica os provedores nesta ordem e usa o
primeiro que estiver pronto:
Primeiro, provedores baseados em API:
- Brave --
BRAVE_API_KEYouplugins.entries.brave.config.webSearch.apiKey(ordem 10) - MiniMax Search --
MINIMAX_CODE_PLAN_KEY/MINIMAX_CODING_API_KEY/MINIMAX_OAUTH_TOKEN/MINIMAX_API_KEYouplugins.entries.minimax.config.webSearch.apiKey(ordem 15) - Gemini --
plugins.entries.google.config.webSearch.apiKey,GEMINI_API_KEYoumodels.providers.google.apiKey(ordem 20) - Grok --
XAI_API_KEYouplugins.entries.xai.config.webSearch.apiKey(ordem 30) - Kimi --
KIMI_API_KEY/MOONSHOT_API_KEYouplugins.entries.moonshot.config.webSearch.apiKey(ordem 40) - Perplexity --
PERPLEXITY_API_KEY/OPENROUTER_API_KEYouplugins.entries.perplexity.config.webSearch.apiKey(ordem 50) - Firecrawl --
FIRECRAWL_API_KEYouplugins.entries.firecrawl.config.webSearch.apiKey(ordem 60) - Exa --
EXA_API_KEYouplugins.entries.exa.config.webSearch.apiKey;plugins.entries.exa.config.webSearch.baseUrlopcional substitui o endpoint da Exa (ordem 65) - Tavily --
TAVILY_API_KEYouplugins.entries.tavily.config.webSearch.apiKey(ordem 70)
Depois disso, alternativas sem chave:
- DuckDuckGo -- alternativa HTML sem chave, sem conta ou chave de API (ordem 100)
- Ollama Web Search -- alternativa sem chave via seu host local do Ollama configurado quando ele estiver acessível e autenticado com
ollama signin; pode reutilizar a autenticação bearer do provedor Ollama quando o host precisar dela e pode chamar a pesquisa direta emhttps://ollama.comquando configurado comOLLAMA_API_KEY(ordem 110) - SearXNG --
SEARXNG_BASE_URLouplugins.entries.searxng.config.webSearch.baseUrl(ordem 200)
Se nenhum provedor for detectado, ele volta para Brave (você receberá um erro de chave ausente solicitando que configure uma).
Configuração
{
tools: {
web: {
search: {
enabled: true, // default: true
provider: "brave", // or omit for auto-detection
maxResults: 5,
timeoutSeconds: 30,
cacheTtlMinutes: 15,
},
},
},
}
A configuração específica do provedor (chaves de API, URLs base, modos) fica em
plugins.entries.<plugin>.config.webSearch.*. O Gemini também pode reutilizar
models.providers.google.apiKey e models.providers.google.baseUrl como fallbacks
de prioridade mais baixa após sua configuração dedicada de busca na web e GEMINI_API_KEY. Consulte as
páginas dos provedores para exemplos.
tools.web.search.provider é validado em relação aos IDs dos provedores de busca na web
declarados pelos manifestos dos plugins incluídos e instalados. Um erro de digitação como "brvae"
falha na validação da configuração em vez de voltar silenciosamente para a detecção automática. Se um
provedor configurado tiver apenas evidência obsoleta de Plugin, como um bloco
plugins.entries.<plugin> remanescente após desinstalar um Plugin de terceiros,
o OpenClaw mantém a inicialização resiliente e relata um aviso para que você possa reinstalar o
Plugin ou executar openclaw doctor --fix para limpar a configuração obsoleta.
A seleção do provedor de fallback de web_fetch é separada:
- escolha-o com
tools.web.fetch.provider - ou omita esse campo e deixe o OpenClaw detectar automaticamente o primeiro provedor de web-fetch pronto a partir das credenciais disponíveis
web_fetchsem sandbox pode usar provedores de plugins instalados que declaramcontracts.webFetchProviders; buscas com sandbox permanecem apenas incluídas- hoje, o provedor de web-fetch incluído é Firecrawl, configurado em
plugins.entries.firecrawl.config.webFetch.*
Ao escolher Kimi durante openclaw onboard ou
openclaw configure --section web, o OpenClaw também pode pedir:
- a região da API Moonshot (
https://api.moonshot.ai/v1ouhttps://api.moonshot.cn/v1) - o modelo padrão de busca na web do Kimi (o padrão é
kimi-k2.6)
Para x_search, configure plugins.entries.xai.config.xSearch.*. Ele usa o
mesmo fallback XAI_API_KEY da busca na web do Grok.
A configuração legada tools.web.x_search.* é migrada automaticamente por openclaw doctor --fix.
Ao escolher Grok durante openclaw onboard ou openclaw configure --section web,
o OpenClaw também pode oferecer a configuração opcional de x_search com a mesma chave.
Esta é uma etapa complementar separada dentro do caminho do Grok, não uma escolha separada de
provedor de busca na web de nível superior. Se você escolher outro provedor, o OpenClaw não
mostrará o prompt de x_search.
Armazenamento de chaves de API
Arquivo de configuração
Execute openclaw configure --section web ou defina a chave diretamente:
{
plugins: {
entries: {
brave: {
config: {
webSearch: {
apiKey: "YOUR_KEY", // pragma: allowlist secret
},
},
},
},
},
}
Variável de ambiente
Defina a variável de ambiente do provedor no ambiente do processo do Gateway:
export BRAVE_API_KEY="YOUR_KEY"
Para uma instalação do Gateway, coloque-a em ~/.openclaw/.env.
Consulte Variáveis de ambiente.
Parâmetros da ferramenta
| Parâmetro | Descrição |
|---|---|
query |
Consulta de busca (obrigatório) |
count |
Resultados a retornar (1-10, padrão: 5) |
country |
Código de país ISO de 2 letras (por exemplo, "US", "DE") |
language |
Código de idioma ISO 639-1 (por exemplo, "en", "de") |
search_lang |
Código do idioma de busca (somente Brave) |
freshness |
Filtro de tempo: day, week, month ou year |
date_after |
Resultados após esta data (AAAA-MM-DD) |
date_before |
Resultados antes desta data (AAAA-MM-DD) |
ui_lang |
Código de idioma da interface (somente Brave) |
domain_filter |
Array de allowlist/denylist de domínios (somente Perplexity) |
max_tokens |
Orçamento total de conteúdo, padrão 25000 (somente Perplexity) |
max_tokens_per_page |
Limite de tokens por página, padrão 2048 (somente Perplexity) |
x_search
x_search consulta publicações do X (antigo Twitter) usando xAI e retorna
respostas sintetizadas por IA com citações. Ele aceita consultas em linguagem natural e
filtros estruturados opcionais. O OpenClaw só habilita a ferramenta x_search
integrada da xAI na requisição que atende a esta chamada de ferramenta.
Configuração de x_search
{
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 envia para <baseUrl>/responses quando
plugins.entries.xai.config.xSearch.baseUrl está definido. Se esse campo for omitido,
ele faz fallback para plugins.entries.xai.config.webSearch.baseUrl, depois para o
legado tools.web.search.grok.baseUrl e, por fim, para o endpoint público da xAI.
Parâmetros de x_search
| Parâmetro | Descrição |
|---|---|
query |
Consulta de busca (obrigatório) |
allowed_x_handles |
Restringe resultados a handles específicos do X |
excluded_x_handles |
Exclui handles específicos do X |
from_date |
Inclui apenas publicações nesta data ou após ela (AAAA-MM-DD) |
to_date |
Inclui apenas publicações nesta data ou antes dela (AAAA-MM-DD) |
enable_image_understanding |
Permite que a xAI inspecione imagens anexadas a publicações correspondentes |
enable_video_understanding |
Permite que a xAI inspecione vídeos anexados a publicações correspondentes |
Exemplo de 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 possible
await x_search({
query: "https://x.com/huntharo/status/1905678901234567890",
});
Exemplos
// 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"],
});
Perfis de ferramentas
Se você usar perfis de ferramentas ou allowlists, adicione web_search, x_search ou group:web:
{
tools: {
allow: ["web_search", "x_search"],
// or: allow: ["group:web"] (includes web_search, x_search, and web_fetch)
},
}
Relacionados
- Web Fetch -- busca uma URL e extrai conteúdo legível
- Web Browser -- automação completa de navegador para sites com muito JS
- Grok Search -- Grok como provedor de
web_search - Ollama Web Search -- busca na web sem chave por meio do seu host Ollama