Hermes encontra o Perplexity Search: uma API key turbina a busca na web e a extração de páginas

Alguma vez a busca na web do seu agente deixou você na mão? Você pergunta “qual é a versão estável mais recente deste framework em 2026” e ele devolve tutoriais de três anos atrás — ou o canal gratuito de busca estoura o limite de requisições no meio da tarefa e só resta tentar de novo. Quando isso acontece, o primeiro impulso da maioria é trocar de modelo, mas a alavanca mais inteligente é o backend de busca — as ferramentas web do Hermes são plugáveis e você escolhe o fornecedor separadamente. Em 4 de setembro, a Search API da Perplexity chegou ao repositório oficial, juntando-se à Exa, Parallel, Tavily, Firecrawl e Keenable como mais um backend com chave própria: com uma única API key, tanto web_search quanto web_extract podem rodar em um motor novo. Este post explica por que trocar, como configurar e a única pegadinha que costuma enganar as pessoas.
Primeiro, o modelo mental: duas ferramentas, um backend intercambiável
O Hermes divide o acesso à web em duas ferramentas:
web_search— recebe sua pergunta, encontra páginas candidatas e devolve títulos, URLs e descrições curtas;web_extract— recebe URLs concretas, lê e destila o conteúdo da página.
Qual fornecedor atende cada ferramenta é controlado por web.search_backend e web.extract_backend (ou por web.backend, que define os dois de uma vez). Se você nunca configurou um backend, está coberto: o Hermes traz um mecanismo gratuito de rotação sem configuração que funciona de imediato — veja 5 canais de busca gratuitos: busca na web sem drama de API key. Este post trata do caminho pago: quando a qualidade ou a estabilidade dos canais gratuitos não basta, aponte o backend para uma API de busca comercial em que você confia.
O que é a Perplexity e por que vale a pena experimentar
A Perplexity é o produto de busca com IA que muita gente já usa diariamente, construído sobre o próprio índice web. Esse índice agora está aberto ao Hermes por meio da Search API:
- Resultados ranqueados e com data do índice próprio da Perplexity — para consultas do tipo “versão mais recente” ou “acontecimentos recentes”, a chance de empurrar páginas velhas para o topo é muito menor do que nos canais gratuitos baseados em scraping;
- As requisições de
web_searchusamsearch_context_size: low, mantendo o snippet de cada resultado no tamanho de uma descrição — suficiente para o modelo decidir se vale abrir a página, sem entupir sua janela de contexto com kilobytes de texto de página; web_extractusa o mesmo endpoint de “snippets relevantes à consulta” que o CLI oficialpplx— você recebe os trechos de cada página que importam para a consulta, não a página inteira (mais sobre isso abaixo — é a pegadinha fácil de deixar passar).
Uma ressalva honesta: a Perplexity não tem camada gratuita anônima. É um fornecedor pago, cobrado por requisição, então não entra no anel de rotação gratuita sem configuração do Hermes — se você quer busca totalmente gratuita, fique com os canais do post linkado acima; se quer qualidade confiável, esta é a opção a considerar.
Configuração em três passos
Passo 1 — consiga uma key. Gere uma em https://www.perplexity.ai/account/api.
Passo 2 — coloque a key no seu ambiente. Adicione uma linha ao ~/.hermes/.env:
PERPLEXITY_API_KEY=pplx-your-key
Ou defina com um comando (mesmo efeito):
hermes config set env.PERPLEXITY_API_KEY pplx-your-key
Se sua rede exige um proxy, ou você quer apontar para um gateway self-hosted, existe um PERPLEXITY_BASE_URL opcional que substitui o padrão https://api.perplexity.ai.
Passo 3 — troque o backend para a Perplexity. Qualquer um dos dois jeitos funciona:
# Option A: pick Perplexity in the interactive selector
hermes tools
# Option B: write the config directly
hermes config set web.backend perplexity
Para um controle mais fino, você pode trocar apenas uma capacidade — por exemplo, buscar via Perplexity mantendo a extração de página inteira na Firecrawl:
hermes config set web.search_backend perplexity
hermes config set web.extract_backend firecrawl
web.backend, web.search_backend e web.extract_backend são campos reais da seção de config web; confira com hermes config get web.backend ou hermes status. Um detalhe de conveniência: se você só definir a key e nunca escolher um backend explicitamente, a estratégia “provedores pagos primeiro” do Hermes adota a Perplexity automaticamente — ela fica depois da Tavily e antes da Exa na ordem de preferência; por outro lado, se você já tiver outra key paga configurada, sua configuração atual não é deslocada.
O que acontece por baixo dos panos
A implementação (plugins/web/perplexity/provider.py) é direta:
web_searchchamaPOST https://api.perplexity.ai/searche mapeia osnippetde cada resultado para o campo de descrição; uma única chamada devolve no máximo 20 resultados (o teto rígido da Perplexity);web_extractchamaPOST /sdk/content/snippets— a mesma rota por trás do comando oficialpplx content snippets. Um detalhe de design que vale saber:web_extractnão carrega consulta, então o Hermes deriva uma consulta de relevância a partir das palavras no caminho da URL — buscarexample.com/docs/bloom-filterna prática consulta “bloom filter”;- Cada requisição tem timeout de 60 segundos; quando uma página não produz snippet, essa URL volta com um campo
errorem vez de derrubar a chamada inteira (então um HTTP 200 não significa que todas as páginas deram certo).
A pegadinha: snippets não são a página inteira
A extração da Perplexity devolve os trechos relevantes à consulta, com cortes marcados por reticências (…), e não um despejo verbatim da página inteira. Se você precisa do texto completo — digamos, puxar um documento inteiro para o modelo resumir — aponte web.extract_backend de volta para a Firecrawl, a Exa ou a Parallel, que suportam extração de página inteira. Os snippets da Perplexity brilham quando você quer avaliar rápido sobre o que é uma página e se ela merece uma leitura mais profunda; combine as duas abordagens e você fica com o melhor dos dois mundos.
Como obter
O backend foi mesclado ao repositório oficial em 4 de setembro (PR #102055, commit f1ccf436a2) — depois da última release, a v0.21.0, publicada em 31 de agosto, então ele ainda não está em nenhuma release. Hoje vive apenas na main; uma release estável o incorpora na próxima. Para experimentar agora, rode a partir da branch main; caso contrário, espere o hermes update avisar sobre uma nova versão (você pode acompanhar a linha do tempo nas notas da release v0.21.0).
Resumo
- Se a qualidade da busca decepciona, troque o backend antes de trocar o modelo;
- Uma única key da Perplexity acende tanto
web_search(resultados ranqueados e com data) quantoweb_extract(snippets relevantes à consulta) — mas é paga e não faz parte do anel de rotação gratuita; - Configure com
PERPLEXITY_API_KEY, troque comweb.backende divida comweb.search_backend/web.extract_backend; - Para páginas integrais verbatim, mantenha a extração na Firecrawl / Exa / Parallel — a Perplexity devolve apenas os trechos relevantes;
- Atualmente só na
main; a próxima release oficializa.
Também quer manter sob controle o custo de contexto das pesquisas na web? Veja cache de resultados de busca na web para consultas repetidas pararem de queimar tokens e a referência do comando hermes config.