Hermes y la búsqueda de Perplexity: una sola API key mejora tanto la búsqueda web como la extracción de páginas

¿Te ha defraudado alguna vez la búsqueda web de tu agente? Preguntas «cuál es la última versión estable de este framework en 2026» y te salen tutoriales de hace tres años — o el canal de búsqueda gratuito se ve limitado por rate limiting a mitad de tarea y solo puedes reintentar. Cuando esto ocurre, el primer impulso de la mayoría es cambiar de modelo, pero la palanca más inteligente es el backend de búsqueda: las herramientas web de Hermes son conectables y puedes elegir el proveedor por separado. El 4 de septiembre, la API de búsqueda de Perplexity aterrizó en el repositorio oficial, uniéndose a Exa, Parallel, Tavily, Firecrawl y Keenable como otro backend con clave: con una sola API key, tanto web_search como web_extract pueden funcionar sobre un motor nuevo. Este artículo explica por qué merece la pena cambiarse, cómo configurarlo y el único detalle que suele despistar a la gente.
Primero, el modelo mental: dos herramientas, un backend intercambiable
Hermes divide el acceso web en dos herramientas:
web_search— recibe tu pregunta, encuentra páginas candidatas y devuelve títulos, URLs y descripciones breves;web_extract— recibe URLs concretas, lee y destila el contenido de la página.
El proveedor que sirve cada herramienta se controla con web.search_backend y web.extract_backend (o con web.backend, que configura ambos a la vez). Si nunca has configurado un backend, también estás cubierto: Hermes incluye un mecanismo gratuito de rotación que funciona de serie sin necesidad de configuración — ver 5 canales de búsqueda gratuitos: búsqueda web sin dramas de API keys. Este artículo trata la vía de pago: cuando la calidad o la estabilidad de los canales gratuitos no bastan, apunta el backend a una API de búsqueda comercial de confianza.
Qué es Perplexity y por qué merece la pena probarla
Perplexity es el producto de búsqueda con IA que mucha gente ya usa a diario, construido sobre su propio índice web. Ese índice ahora está abierto a Hermes a través de la API de búsqueda:
- Resultados clasificados y con fecha del propio índice de Perplexity: para consultas de «última versión» o «eventos recientes», es mucho menos probable que los canales gratuitos basados en scraping sitúen arriba páginas obsoletas;
- las peticiones de
web_searchusansearch_context_size: low, lo que mantiene el fragmento de cada resultado con la longitud de una descripción — suficiente para que el modelo decida si abre la página, sin rellenar la ventana de contexto con kilobytes de texto de página; web_extractusa el mismo endpoint de «fragmentos relevantes a la consulta» que el CLI oficialpplx— recibes los pasajes de cada página que importan para la consulta, no la página entera (más abajo lo detallamos: es el escollo fácil de pasar por alto).
Una advertencia honesta: Perplexity no tiene nivel gratuito anónimo. Es un proveedor de pago por petición, así que no se incorpora al anillo gratuito de rotación sin configuración de Hermes — si quieres una búsqueda totalmente gratuita, quédate con los canales del artículo enlazado arriba; si lo que quieres es una calidad fiable, esta es la opción a considerar.
Configuración en tres pasos
Paso 1 — consigue una clave. Genera una en https://www.perplexity.ai/account/api.
Paso 2 — guarda la clave en tu entorno. Añade una línea a ~/.hermes/.env:
PERPLEXITY_API_KEY=pplx-your-key
O defínela con un comando (el mismo efecto):
hermes config set env.PERPLEXITY_API_KEY pplx-your-key
Si tu red requiere un proxy, o quieres apuntar a una pasarela autoalojada, existe una PERPLEXITY_BASE_URL opcional que sobreescribe el valor por defecto https://api.perplexity.ai.
Paso 3 — cambia el backend a Perplexity. Cualquiera de las dos opciones funciona:
# Option A: pick Perplexity in the interactive selector
hermes tools
# Option B: write the config directly
hermes config set web.backend perplexity
Para un control más fino, puedes cambiar solo una de las capacidades — por ejemplo, buscar con Perplexity y mantener la extracción de páginas completas en Firecrawl:
hermes config set web.search_backend perplexity
hermes config set web.extract_backend firecrawl
web.backend, web.search_backend y web.extract_backend son campos reales de la sección de configuración web; compruébalo con hermes config get web.backend o hermes status. Un detalle práctico: si solo configuras la clave y nunca eliges un backend de forma explícita, la estrategia «paid providers first» de Hermes adopta Perplexity automáticamente — queda después de Tavily y antes de Exa en el orden de preferencia; por el contrario, si ya tienes configurada otra clave de pago, tu configuración actual no se ve desplazada.
Qué ocurre bajo el capó
La implementación (plugins/web/perplexity/provider.py) es sencilla:
web_searchllama aPOST https://api.perplexity.ai/searchy asigna elsnippetde cada resultado al campo de descripción; una sola llamada devuelve como máximo 20 resultados (el límite máximo de Perplexity);web_extractllama aPOST /sdk/content/snippets— la misma ruta que usa el comando oficialpplx content snippets. Un detalle de diseño que conviene conocer:web_extractno lleva consulta, así que Hermes deriva una consulta de relevancia a partir de las palabras de la ruta de la URL — al recuperarexample.com/docs/bloom-filter, en realidad consulta «bloom filter»;- cada petición tiene un tiempo de espera de 60 segundos; cuando una página no produce ningún fragmento, esa URL se devuelve con un campo
erroren lugar de hacer fallar toda la llamada (así que un HTTP 200 no significa que todas las páginas hayan tenido éxito).
El escollo: los fragmentos no son la página completa
El extract de Perplexity devuelve los pasajes relevantes a la consulta, con las elisiones marcadas con puntos suspensivos (…), no un volcado literal de la página completa. Si necesitas el texto íntegro — por ejemplo, extraer un documento entero para que el modelo lo resuma —, apunta web.extract_backend de nuevo a Firecrawl, Exa o Parallel, que admiten la extracción de páginas completas. Los fragmentos de Perplexity brillan cuando quieres juzgar rápido de qué trata una página y si merece una lectura más profunda; combina ambos enfoques y obtienes lo mejor de cada uno.
Cómo conseguirlo
El backend se fusionó en el repositorio oficial el 4 de septiembre (PR #102055, commit f1ccf436a2) — después de que la última versión, la v0.21.0, se publicara el 31 de agosto, así que todavía no está incluido en ninguna versión. Hoy vive solo en main; la próxima versión estable lo incorporará. Para probarlo ya, ejecuta desde la rama main; si no, espera a que hermes update te anuncie una versión nueva (puedes seguir la cronología con nuestras notas de la versión v0.21.0).
Resumen
- Si la calidad de la búsqueda te decepciona, cambia el backend antes que el modelo;
- Una sola clave de Perplexity activa tanto
web_search(resultados clasificados y con fecha) comoweb_extract(fragmentos relevantes a la consulta) — pero es de pago y no forma parte del anillo gratuito de rotación; - Configúralo con
PERPLEXITY_API_KEY, cambia conweb.backendy separa las capacidades conweb.search_backend/web.extract_backend; - Para páginas completas y literales, mantén el extract en Firecrawl / Exa / Parallel — Perplexity solo devuelve los pasajes relevantes;
- Actualmente solo está en
main; la próxima versión lo hará oficial.
¿Quieres mantener también bajo control el coste de contexto de la investigación web? Consulta guardar en caché los resultados de búsqueda web para que las consultas repetidas dejen de quemar tokens y la referencia del comando hermes config.