Tools
Pesquisa na web
web_search pesquisa na web com o provedor configurado e retorna
resultados normalizados, armazenados em cache por consulta durante 15 minutos
(configurável). O OpenClaw também inclui x_search para publicações no X
(antigo Twitter) e web_fetch para buscas leves de URLs. web_fetch sempre é
executado localmente; web_search é encaminhado por meio do xAI Responses
quando o Grok é o provedor, e x_search sempre usa o xAI Responses.
Início rápido
Escolha um provedor
Escolha um provedor e conclua qualquer configuração necessária. Alguns provedores dispensam chaves; outros exigem uma chave de API. Consulte as páginas dos provedores abaixo para obter detalhes.
Configure
openclaw configure --section webIsso armazena o provedor e qualquer credencial necessária. Para provedores
baseados em API, você pode definir a variável de ambiente do provedor (por
exemplo, BRAVE_API_KEY) e pular esta etapa.
Use
await web_search({ query: "OpenClaw plugin SDK" });Para publicações no X:
await x_search({ query: "dinner recipes" });Como escolher um provedor
Resultados estruturados com trechos. Compatível com o modo llm-context e filtros por país/idioma. Há um nível gratuito disponível.
Respostas fundamentadas e sintetizadas por IA por meio da sua conta do servidor de aplicativos do Codex.
Provedor sem chave. Nenhuma chave de API é necessária. Integração não oficial baseada em HTML.
Pesquisa neural e por palavras-chave com extração de conteúdo (destaques, texto e resumos).
Resultados estruturados. Funciona melhor em conjunto com firecrawl_search e firecrawl_scrape para extração aprofundada.
Respostas sintetizadas por IA com citações por meio da fundamentação da Pesquisa Google.
Respostas sintetizadas por IA com citações por meio da fundamentação web da xAI.
Respostas sintetizadas por IA com citações por meio da pesquisa web da Moonshot; alternativas de chat sem fundamentação falham explicitamente.
Resultados estruturados por meio da API de pesquisa do Plano de Tokens MiniMax.
Pesquisa por meio de um host local do Ollama com sessão iniciada ou da API hospedada do Ollama.
API Parallel Search paga (PARALLEL_API_KEY); limites de taxa maiores e ajuste de objetivos.
Adesão sem chave. Search MCP gratuito da Parallel, com trechos densos otimizados para LLM e sem chave de API.
Resultados estruturados com controles de extração de conteúdo e filtragem de domínios.
Metapesquisa auto-hospedada. Nenhuma chave de API é necessária. Agrega Google, Bing, DuckDuckGo e outros.
Resultados estruturados com profundidade de pesquisa, filtragem por tópico e tavily_extract para extração de URLs.
Comparação de provedores
| Provedor | Estilo dos resultados | Filtros | Chave de API |
|---|---|---|---|
| Brave | Trechos estruturados | País, idioma, período, modo llm-context |
BRAVE_API_KEY |
| Pesquisa Hospedada do Codex | Síntese por IA + URLs das fontes | Domínios, tamanho do contexto, localização do usuário | Nenhuma; usa o login do Codex/OpenAI |
| DuckDuckGo | Trechos estruturados | -- | Nenhuma (sem chave) |
| Exa | Estruturados + extraídos | Modo neural/por palavra-chave, data, extração de conteúdo | EXA_API_KEY |
| Firecrawl | Trechos estruturados | Por meio da ferramenta firecrawl_search |
FIRECRAWL_API_KEY |
| Gemini | Síntese por IA + citações | -- | GEMINI_API_KEY |
| Grok | Síntese por IA + citações | -- | OAuth da xAI, XAI_API_KEY ou plugins.entries.xai.config.webSearch.apiKey |
| Kimi | Síntese por IA + citações; falha com alternativas de chat sem fundamentação | -- | KIMI_API_KEY / MOONSHOT_API_KEY |
| Pesquisa MiniMax | Trechos estruturados | Região (global / cn) |
MINIMAX_CODE_PLAN_KEY / MINIMAX_CODING_API_KEY / MINIMAX_OAUTH_TOKEN |
| Pesquisa Web do Ollama | Trechos estruturados | -- | Nenhuma para hosts locais com sessão iniciada; OLLAMA_API_KEY para pesquisa direta em https://ollama.com |
| Parallel | Trechos densos classificados para contexto de LLM | -- | PARALLEL_API_KEY (paga) |
| Pesquisa Parallel (Gratuita) | Trechos densos classificados para contexto de LLM | -- | Nenhuma (Search MCP gratuito) |
| Perplexity | Trechos estruturados | País, idioma, período, domínios, limites de conteúdo | PERPLEXITY_API_KEY / OPENROUTER_API_KEY |
| SearXNG | Trechos estruturados | Categorias, idioma | Nenhuma (auto-hospedado) |
| Tavily | Trechos estruturados | Por meio da ferramenta tavily_search |
TAVILY_API_KEY |
Detecção automática
As listas de provedores na documentação e nos fluxos de configuração estão em
ordem alfabética. A detecção automática usa uma ordem de precedência separada e
fixa e só escolhe um provedor que exige uma credencial
(requiresCredential !== false) quando encontra um configurado. Se nenhum
provider estiver definido, o OpenClaw verifica os provedores nesta ordem e
usa o primeiro que estiver pronto:
Primeiro, os provedores baseados em API:
- Brave --
BRAVE_API_KEYouplugins.entries.brave.config.webSearch.apiKey(ordem 10) - Pesquisa MiniMax --
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 -- OAuth da xAI,
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; oplugins.entries.exa.config.webSearch.baseUrlopcional substitui o endpoint do Exa (ordem 65) - Tavily --
TAVILY_API_KEYouplugins.entries.tavily.config.webSearch.apiKey(ordem 70) - Parallel -- API Parallel Search paga por meio de
PARALLEL_API_KEYouplugins.entries.parallel.config.webSearch.apiKey; oplugins.entries.parallel.config.webSearch.baseUrlopcional substitui o endpoint (ordem 75)
Depois, provedores com endpoint configurado:
- SearXNG --
SEARXNG_BASE_URLouplugins.entries.searxng.config.webSearch.baseUrl(ordem 200)
Provedores sem chave, como Pesquisa Parallel (Gratuita), DuckDuckGo,
Pesquisa Web do Ollama e Pesquisa Hospedada do Codex, nunca vencem a
detecção automática, embora tenham um valor de ordem interno. Eles são usados
somente quando você os seleciona explicitamente com
tools.web.search.provider ou por meio de
openclaw configure --section web. O OpenClaw não envia consultas gerenciadas
de web_search a um provedor sem chave apenas porque nenhum provedor baseado em
API está configurado.
Os modelos OpenAI Responses são uma exceção: enquanto
tools.web.search.provider não estiver definido, eles usam a pesquisa web
nativa da OpenAI em vez dos provedores gerenciados acima (veja abaixo). Defina
tools.web.search.provider como parallel-free (ou outro provedor) para
encaminhá-los pelo caminho gerenciado.
Pesquisa web nativa da OpenAI
Os modelos diretos do OpenAI Responses (api: "openai-responses", provedor openai,
sem URL base ou com uma URL base oficial da API da OpenAI) usam automaticamente
a ferramenta hospedada web_search da OpenAI quando a pesquisa na web do OpenClaw
está habilitada e nenhum provedor gerenciado está fixado. Esse comportamento
pertence ao provedor no plugin integrado da OpenAI e não se aplica a URLs base de
proxies compatíveis com a OpenAI nem a rotas do Azure. Defina
tools.web.search.provider como outro provedor, como brave, para manter a
ferramenta gerenciada web_search para modelos da OpenAI, ou defina
tools.web.search.enabled: false para desabilitar tanto a pesquisa gerenciada
quanto a pesquisa nativa da OpenAI.
Pesquisa nativa na web do Codex
O ambiente de execução do app-server do Codex usa automaticamente a ferramenta
hospedada web_search do Codex quando a pesquisa na web está habilitada e nenhum
provedor gerenciado está selecionado. A pesquisa hospedada nativa e a ferramenta
dinâmica gerenciada web_search do OpenClaw são mutuamente exclusivas, portanto
a pesquisa gerenciada não pode contornar as restrições nativas de domínio. O
OpenClaw usa a ferramenta gerenciada quando a pesquisa hospedada está
indisponível, explicitamente desabilitada ou substituída por um provedor
gerenciado selecionado. O OpenClaw mantém desabilitada a extensão autônoma
web.run do Codex (features.standalone_web_search: false), pois o tráfego de
produção do app-server rejeita o namespace web definido pelo usuário.
- Configure a pesquisa nativa em
tools.web.search.openaiCodex - Defina
tools.web.search.provider: "codex"para disponibilizar a Pesquisa Hospedada do Codex como o provedor gerenciado deweb_searchpara qualquer modelo principal. Cada chamada executa um turno efêmero e limitado do app-server do Codex e falha se o Codex não emitir um itemwebSearchhospedado. mode: "cached"é a preferência padrão, mas o Codex a resolve como acesso externo em tempo real para turnos irrestritos do app-server; defina"live"para solicitar explicitamente o acesso em tempo real- Defina
tools.web.search.providercomo um provedor gerenciado, comobrave, para usar aweb_searchgerenciada do OpenClaw - Defina
tools.web.search.openaiCodex.enabled: falsepara desativar a pesquisa hospedada pelo Codex; outros provedores gerenciados permanecem disponíveis - Restringir a superfície de ferramentas nativas do Codex também mantém a
web_searchgerenciada disponível - Quando
allowedDomainsestá definido, o fallback gerenciado automático falha de forma fechada se a pesquisa hospedada estiver indisponível, para que a lista nativa de permissões não possa ser contornada - Execuções somente com LLM e ferramentas desabilitadas desabilitam tanto a pesquisa nativa quanto a gerenciada
tools.web.search.enabled: falsedesabilita tanto a pesquisa gerenciada quanto a nativa
Alterações persistentes na política efetiva de pesquisa do Codex iniciam uma nova thread vinculada, para que uma thread do app-server já carregada não mantenha acesso obsoleto à pesquisa hospedada. Restrições transitórias por turno usam uma thread temporária restrita e preservam o vínculo existente para uma retomada posterior.
O tráfego direto do OpenAI ChatGPT Responses também pode usar a ferramenta
hospedada web_search da OpenAI. Esse caminho separado continua sendo opcional
por meio de tools.web.search.openaiCodex.enabled: true e se aplica apenas a
modelos openai/* qualificados que usam api: "openai-chatgpt-responses".
{ tools: { web: { search: { enabled: true, // Opcional: use a Pesquisa Hospedada do Codex também com modelos principais que não sejam do Codex. provider: "codex", openaiCodex: { enabled: true, mode: "cached", allowedDomains: ["example.com"], contextSize: "high", userLocation: { country: "US", city: "New York", timezone: "America/New_York", }, }, }, }, },}Para ambientes de execução e provedores que não oferecem suporte à pesquisa
nativa do Codex, o Codex pode usar o fallback gerenciado web_search por meio do
namespace dinâmico de ferramentas do OpenClaw. Use um provedor gerenciado
explícito quando precisar dos controles de rede específicos do provedor do
OpenClaw em vez da pesquisa hospedada pelo Codex.
Selecionar provider: "codex" habilita o plugin integrado codex e usa as
mesmas restrições de tools.web.search.openaiCodex mostradas acima. Primeiro,
autentique o app-server do Codex com
openclaw models auth login --provider openai. O agente principal pode usar
qualquer modelo ou ambiente de execução; somente o executor de pesquisa limitado
é executado pelo Codex.
Segurança de rede
As chamadas HTTP dos provedores gerenciados de web_search usam o caminho de
busca protegido do OpenClaw, limitado ao hostname próprio do provedor atual.
Somente para esse hostname, o OpenClaw permite respostas DNS de IP falso do
Surge, Clash e sing-box nos intervalos 198.18.0.0/15 e fc00::/7. Outros
destinos privados, de local loopback, link-local e de metadados permanecem
bloqueados. A Pesquisa Hospedada do Codex é a exceção: seu executor limitado
delega o acesso à rede à ferramenta hospedada web_search do app-server do
Codex.
Essa permissão automática não se aplica a URLs arbitrárias de web_fetch. Para
web_fetch, habilite explicitamente
tools.web.fetch.ssrfPolicy.allowRfc2544BenchmarkRange e
tools.web.fetch.ssrfPolicy.allowIpv6UniqueLocalRange somente quando seu proxy
confiável for proprietário desses intervalos sintéticos.
Configuração
{ tools: { web: { search: { enabled: true, // padrão: true provider: "brave", // ou omita para detecção automática 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 depois de sua configuração dedicada de
pesquisa na web e de GEMINI_API_KEY. Consulte as páginas dos provedores para
ver exemplos.
O Grok também pode reutilizar um perfil de autenticação OAuth da xAI criado com
openclaw models auth login --provider xai --method oauth; a configuração por
chave de API continua sendo o fallback.
tools.web.search.provider é validado em relação aos IDs de provedores de
pesquisa na web declarados pelos manifestos dos plugins integrados e instalados.
Um erro de digitação como "brvae" faz a validação da configuração falhar, em
vez de recorrer silenciosamente à detecção automática. Se um provedor
configurado tiver apenas evidências obsoletas de plugin, como um bloco
plugins.entries.<plugin> remanescente após a desinstalação de um plugin de
terceiros, o OpenClaw mantém a inicialização resiliente e emite 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 busca na web pronto com base nas credenciais configuradas
web_fetchsem sandbox pode usar provedores de plugins instalados que declaremcontracts.webFetchProviders; buscas com sandbox permitem provedores integrados e instalações verificadas de plugins oficiais, mas excluem plugins externos de terceiros- o plugin oficial Firecrawl é atualmente o único colaborador integrado de
webFetchProviders, configurado emplugins.entries.firecrawl.config.webFetch.*
Quando você escolhe Kimi durante openclaw onboard ou
openclaw configure --section web, o OpenClaw também pode solicitar:
- a região da API Moonshot (
https://api.moonshot.ai/v1ouhttps://api.moonshot.cn/v1) - o modelo padrão de pesquisa na web do Kimi (o padrão é
kimi-k2.6)
Para x_search, configure plugins.entries.xai.config.xSearch.*. Ele usa o
mesmo perfil de autenticação da xAI usado pelo chat, ou a credencial
XAI_API_KEY / de pesquisa na web do plugin usada pela pesquisa na web do Grok.
A configuração legada tools.web.x_search.* é migrada automaticamente por
openclaw doctor --fix.
Quando você escolhe Grok durante openclaw onboard ou
openclaw configure --section web, o OpenClaw também oferece a configuração
opcional de x_search com a mesma credencial logo após a conclusão da
configuração do Grok. Essa é uma etapa posterior separada dentro do caminho do
Grok, não uma escolha separada de provedor de pesquisa na web no nível superior.
Se você escolher outro provedor, o OpenClaw não exibirá a solicitação 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 pesquisa (obrigatória) |
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 pesquisa (somente Brave) |
freshness |
Filtro de tempo: day, week, month ou year |
date_after |
Resultados posteriores a esta data (YYYY-MM-DD) |
date_before |
Resultados anteriores a esta data (YYYY-MM-DD) |
ui_lang |
Código do idioma da interface (somente Brave) |
domain_filter |
Matriz de permissões/bloqueios de domínios (somente Perplexity) |
max_tokens |
Orçamento total de tokens de conteúdo, somente API nativa de Pesquisa do Perplexity |
max_tokens_per_page |
Limite de tokens de extração por página, somente API nativa de Pesquisa do Perplexity |
x_search
x_search consulta publicações do X (antigo Twitter) usando a xAI e retorna
respostas sintetizadas por IA com citações. Ele aceita consultas em linguagem
natural e filtros estruturados opcionais. O OpenClaw constrói a ferramenta
integrada x_search da xAI a cada solicitação, em vez de mantê-la registrada
permanentemente, portanto ela fica ativa apenas no turno que efetivamente a
chama.
Configuração de x_search
Com enabled omitido, x_search é exposto somente quando o provedor do
modelo ativo é xai e as credenciais da xAI são resolvidas. Para um modelo ativo
com um provedor conhecido que não seja xAI, defina
plugins.entries.xai.config.xSearch.enabled como true para habilitar o uso
entre provedores. Se o provedor do modelo ativo estiver ausente ou não puder ser
resolvido, a ferramenta permanecerá oculta. Defina enabled como false para
desativá-la para todos os provedores. As credenciais da xAI são sempre
obrigatórias.
{ plugins: { entries: { xai: { config: { xSearch: { enabled: true, // obrigatório para um provedor conhecido de modelo que não seja xAI model: "grok-4.3", baseUrl: "https://api.x.ai/v1", // opcional, substitui webSearch.baseUrl inlineCitations: false, maxTurns: 2, timeoutSeconds: 30, cacheTtlMinutes: 15, }, webSearch: { apiKey: "xai-...", // opcional se um perfil de autenticação da xAI ou XAI_API_KEY estiver definido baseUrl: "https://api.x.ai/v1", // URL base compartilhada opcional da API Responses da xAI }, }, }, }, },}x_search envia uma solicitação POST para <baseUrl>/responses quando
plugins.entries.xai.config.xSearch.baseUrl está definido. Se esse campo for
omitido, usa como alternativas, na ordem,
plugins.entries.xai.config.webSearch.baseUrl, o campo legado
tools.web.search.grok.baseUrl e, por fim, o endpoint público da xAI
(https://api.x.ai/v1).
Parâmetros de x_search
| Parâmetro | Descrição |
|---|---|
query |
Consulta de pesquisa (obrigatória) |
allowed_x_handles |
Restringe os resultados a, no máximo, 20 nomes de usuário do X |
excluded_x_handles |
Exclui, no máximo, 20 nomes de usuário do X |
from_date |
Inclui somente publicações nesta data ou após ela (AAAA-MM-DD) |
to_date |
Inclui somente publicações nesta data ou antes dela (AAAA-MM-DD) |
enable_image_understanding |
Permite que a xAI analise imagens anexadas às publicações correspondentes |
enable_video_understanding |
Permite que a xAI analise vídeos anexados às publicações correspondentes |
allowed_x_handles e excluded_x_handles são mutuamente exclusivos.
Exemplo de x_search
await x_search({ query: "dinner recipes", allowed_x_handles: ["nytfood"], from_date: "2026-03-01",});// Estatísticas por publicação: use a URL exata do status ou o ID do status quando possívelawait x_search({ query: "https://x.com/huntharo/status/1905678901234567890",});Exemplos
// Pesquisa básicaawait web_search({ query: "OpenClaw plugin SDK" }); // Pesquisa específica para a Alemanhaawait web_search({ query: "TV online schauen", country: "DE", language: "de" }); // Resultados recentes (última semana)await web_search({ query: "AI developments", freshness: "week" }); // Intervalo de datasawait web_search({ query: "climate research", date_after: "2024-01-01", date_before: "2024-06-30",}); // Filtragem por domínio (somente Perplexity)await web_search({ query: "product reviews", domain_filter: ["-reddit.com", "-pinterest.com"],});Perfis de ferramentas
Se você usar perfis de ferramentas ou listas de permissões, adicione
web_search, x_search ou group:web:
{ tools: { allow: ["web_search", "x_search"], // ou: allow: ["group:web"] (inclui web_search, x_search e web_fetch) },}Conteúdo relacionado
- Busca de conteúdo da Web -- busca uma URL e extrai conteúdo legível
- Navegador da Web -- automação completa do navegador para sites que dependem intensamente de JS
- Pesquisa do Grok -- Grok como provedor de
web_search - Pesquisa na Web do Ollama -- pesquisa na Web sem chave por meio do seu host Ollama