Tools
Busca na web
A ferramenta web_fetch faz um HTTP GET simples e extrai conteúdo legível
(HTML para markdown ou texto). Ela não executa JavaScript.
Para sites com muito JS ou páginas protegidas por login, use o Navegador Web.
Início rápido
web_fetch vem habilitada por padrão -- nenhuma configuração é necessária. O agente pode
chamá-la imediatamente:
await web_fetch({ url: "https://example.com/article" });
Parâmetros da ferramenta
urlstringrequiredURL a buscar. Somente http(s).
extractMode'markdown' | 'text'Formato de saída após a extração do conteúdo principal.
maxCharsnumberTrunca a saída para esta quantidade de caracteres.
Como funciona
Fetch
Envia um HTTP GET com um User-Agent semelhante ao Chrome e o cabeçalho
Accept-Language. Bloqueia hostnames privados/internos e verifica redirects novamente.
Extract
Executa Readability (extração do conteúdo principal) na resposta HTML.
Fallback (optional)
Se Readability falhar e Firecrawl estiver configurado, tenta novamente pela API do Firecrawl com modo de contorno de bots.
Cache
Os resultados são armazenados em cache por 15 minutos (configurável) para reduzir buscas repetidas da mesma URL.
Configuração
{
tools: {
web: {
fetch: {
enabled: true, // default: true
provider: "firecrawl", // optional; omit for auto-detect
maxChars: 50000, // max output chars
maxCharsCap: 50000, // hard cap for maxChars param
maxResponseBytes: 2000000, // max download size before truncation
timeoutSeconds: 30,
cacheTtlMinutes: 15,
maxRedirects: 3,
useTrustedEnvProxy: false, // let a trusted HTTP(S) env proxy resolve DNS
readability: true, // use Readability extraction
userAgent: "Mozilla/5.0 ...", // override User-Agent
ssrfPolicy: {
allowRfc2544BenchmarkRange: true, // opt-in for trusted fake-IP proxies using 198.18.0.0/15
allowIpv6UniqueLocalRange: true, // opt-in for trusted fake-IP proxies using fc00::/7
},
},
},
},
}
Fallback do Firecrawl
Se a extração do Readability falhar, web_fetch pode recorrer ao
Firecrawl para contorno de bots e melhor extração:
{
tools: {
web: {
fetch: {
provider: "firecrawl", // optional; omit for auto-detect from available credentials
},
},
},
plugins: {
entries: {
firecrawl: {
enabled: true,
config: {
webFetch: {
apiKey: "fc-...", // optional if FIRECRAWL_API_KEY is set
baseUrl: "https://api.firecrawl.dev",
onlyMainContent: true,
maxAgeMs: 86400000, // cache duration (1 day)
timeoutSeconds: 60,
},
},
},
},
},
}
plugins.entries.firecrawl.config.webFetch.apiKey aceita objetos SecretRef.
A configuração legada tools.web.fetch.firecrawl.* é migrada automaticamente por openclaw doctor --fix.
Comportamento atual em runtime:
tools.web.fetch.providerseleciona explicitamente o provedor de fallback de busca.- Se
providerfor omitido, o OpenClaw detecta automaticamente o primeiro provedor pronto de web-fetch a partir das credenciais disponíveis.web_fetchfora do sandbox pode usar plugins instalados que declaramcontracts.webFetchProviderse registram um provedor correspondente em runtime. Hoje, o provedor incluído é o Firecrawl. - Chamadas
web_fetchem sandbox permanecem limitadas aos provedores incluídos. - Se Readability estiver desabilitado,
web_fetchpula direto para o fallback do provedor selecionado. Se nenhum provedor estiver disponível, ela falha fechada.
Proxy env confiável
Se sua implantação exigir que web_fetch passe por um proxy de saída
HTTP(S) confiável, defina tools.web.fetch.useTrustedEnvProxy: true.
Nesse modo, o OpenClaw ainda aplica verificações SSRF baseadas em hostname antes de enviar a requisição, mas permite que o proxy resolva DNS em vez de fazer fixação de DNS local. Habilite isso somente quando o proxy for controlado pelo operador e aplicar a política de saída após a resolução de DNS.
Limites e segurança
maxCharsé limitado atools.web.fetch.maxCharsCap- O corpo da resposta é limitado a
maxResponseBytesantes do parsing; respostas grandes demais são truncadas com um aviso - Hostnames privados/internos são bloqueados
tools.web.fetch.ssrfPolicy.allowRfc2544BenchmarkRangeetools.web.fetch.ssrfPolicy.allowIpv6UniqueLocalRangesão opt-ins restritos para stacks de proxy fake-IP confiáveis; deixe-os indefinidos, a menos que seu proxy seja dono desses intervalos sintéticos e aplique sua própria política de destino- Redirects são verificados e limitados por
maxRedirects useTrustedEnvProxyé um opt-in explícito e só deve ser habilitado para proxies controlados pelo operador que ainda apliquem política de saída após a resolução de DNSweb_fetché de melhor esforço -- alguns sites precisam do Navegador Web
Perfis de ferramentas
Se você usa perfis de ferramentas ou allowlists, adicione web_fetch ou group:web:
{
tools: {
allow: ["web_fetch"],
// or: allow: ["group:web"] (includes web_fetch, web_search, and x_search)
},
}
Relacionados
- Pesquisa Web -- pesquise na web com vários provedores
- Navegador Web -- automação completa de navegador para sites com muito JS
- Firecrawl -- ferramentas de pesquisa e scraping do Firecrawl