04. Busca web (Websearch)¶
🎯 Objetivo¶
Habilitar e controlar a busca na web para que o agente leia resultados atuais e cite fontes.
📋 Como funciona¶
Encontre o último release do Bun e resuma as mudanças.
Na primeira busca, o OpenCode pede permissão e a escolha de provider; ele lembra a escolha para as próximas sessões.
🌐 Providers incluídos¶
| Provider | ID | Variável de ambiente |
|---|---|---|
| Exa | exa |
EXA_API_KEY |
| Firecrawl | firecrawl |
FIRECRAWL_API_KEY |
| Parallel | parallel |
PARALLEL_API_KEY |
| Tavily | tavily |
TAVILY_API_KEY |
| TinyFish | tinyfish |
TINYFISH_API_KEY (opcional) |
Conecte via /connect ou exporte a variável antes de iniciar:
TAVILY_API_KEY=sua-chave opencode
⚙️ Escolher o provider¶
{
"websearch": { "provider": "tavily" }
}
Use "random" para escolher um disponível automaticamente. Cada sessão mantém o provider até sofrer rate limit (HTTP 429) — então tenta outro e coloca o primeiro em cooldown (Retry-After ou 60s).
🔐 Permissões e desabilitar¶
{
"permissions": [
{ "action": "websearch", "resource": "*", "effect": "ask" }
]
}
Para remover a ferramenta por completo:
{ "websearch": false }
❓ Desafio prático¶
- Configure um provider com
/connecte faça uma busca que cite fontes - Force
askna permissãowebsearche confirme o prompt - Configure
"provider": "random"e simule o fallback de rate limit - Desabilite a busca com
"websearch": falsee confirme que a ferramenta some
📚 Fonte oficial¶
Próximo passo: Aula 05 — Contexto: referências e anexos · Voltar ao módulo