Autoalojamiento

Sifthound ofrece una alternativa autoalojada y compatible con la API de búsqueda de Tavily

El usuario de GitHub khsarvar lanzó Sifthound, una alternativa de código abierto a Tavily que se ejecuta en su propia infraestructura utilizando SearXNG y es compatible con MCP.

Ilustración de un servidor de búsqueda autoalojado conectado a una estación de trabajo de desarrollo
Ilustración creada para este artículo

Traducido automáticamente del original en inglés.

El 25 de septiembre de 2026, el usuario de GitHub khsarvar publicó Sifthound, un proyecto de código abierto diseñado para servir como una alternativa autoalojada a la API de búsqueda web de Tavily. Este lanzamiento está dirigido a equipos de desarrollo que construyen agentes de IA y aplicaciones de modelos de lenguaje grandes (LLM) y prefieren gestionar su propia infraestructura en lugar de depender de proveedores externos de software como servicio (SaaS). La herramienta replica la funcionalidad principal de Tavily mientras se ejecuta completamente en servidores locales o privados.

Qué ocurrió

Sifthound está construido para imitar la estructura de la API de Tavily, ofreciendo endpoints para búsqueda, extracción de contenido, rastreo (crawling) y mapeo de sitios. Al coincidir con los formatos de solicitud y respuesta del servicio original, permite a los desarrolladores cambiar de la plataforma alojada de Tavily a su propia instancia con cambios mínimos en el código. El proyecto depende de SearXNG, un motor de metabúsqueda respetuoso con la privacidad, para recopilar resultados de proveedores de búsqueda públicos como DuckDuckGo y Brave. Para el procesamiento de contenido, utiliza trafilatura para extraer texto limpio y markdown de las páginas web, y algoritmos BM25 para la clasificación por relevancia en lugar de reordenamiento neuronal.

El lanzamiento incluye soporte para el Model Context Protocol (MCP), lo que permite la integración directa con asistentes de codificación de IA como Claude Desktop y Cursor. Los desarrolladores pueden ejecutar Sifthound mediante Docker Compose, que incluye la instancia necesaria de SearXNG, o instalarlo directamente usando pip. El proyecto está licenciado bajo la Licencia MIT, permitiendo el uso y la modificación gratuitos, aunque el nombre en sí está protegido por una política de marca registrada separada que requiere que los forks utilicen una marca diferente.

Detalles clave

  • Compatibilidad inmediata (Drop-in): La API acepta los mismos parámetros que Tavily para los endpoints /search, /extract, /crawl y /map, funcionando con SDKs oficiales de Python e integraciones de LangChain simplemente cambiando la URL base.
  • Sin claves de API de búsqueda requeridas: Las consultas de búsqueda se enrutan a través de SearXNG, eliminando la necesidad de claves de API individuales de los motores de búsqueda, aunque una clave de Anthropic es opcional para generar respuestas directas.
  • Medidas de seguridad: El sistema bloquea solicitudes a direcciones privadas, de bucle invertido (loopback) y de enlace local para prevenir la falsificación de solicitudes del lado del servidor (SSRF), incluyendo comprobaciones contra ataques de redirección DNS durante los redireccionamientos.
  • Soporte MCP: Expone un servidor MCP sobre HTTP en /mcp y admite ejecución stdio para clientes locales, permitiendo que los agentes de IA usen herramientas de búsqueda directamente dentro de su flujo de trabajo.
  • Diferencias en la clasificación: Las puntuaciones de relevancia se calculan utilizando mezcla BM25 en lugar del reordenador neuronal de Tavily, y funciones como include_image_descriptions son aceptadas pero actualmente ignoradas.
  • Manejo de errores: Si todos los motores de búsqueda upstream limitan la tasa de solicitudes o muestran CAPTCHAs al IP del servidor, Sifthound devuelve un error 502 con razones específicas en lugar de un conjunto de resultados vacío, ayudando a los agentes a distinguir entre la ausencia de resultados y fallos temporales.

Antecedentes

Tavily se ha convertido en una opción popular para los desarrolladores de IA porque simplifica la compleja tarea de obtener datos web en tiempo real para modelos de lenguaje grandes. Normalmente, un agente necesitaría consultar múltiples motores de búsqueda, analizar HTML desordenado, eliminar anuncios y elementos de navegación, y clasificar los resultados por relevancia. Tavily gestiona este pipeline como un servicio administrado. Sin embargo, depender de una API de terceros introduce dependencias en la disponibilidad externa, los modelos de precios y las políticas de privacidad de datos. Las soluciones autoalojadas buscan dar a los equipos control sobre este pipeline de datos, manteniendo los registros de consultas sensibles internos y evitando costos por solicitud.

SearXNG actúa como la columna vertebral de las capacidades de búsqueda de Sifthound. Es un motor de metabúsqueda de código abierto que agrega resultados de varios proveedores sin rastrear a los usuarios. Al combinar SearXNG con herramientas de extracción como trafilatura, Sifthound recrea la propuesta de valor de Tavily: entregar datos limpios y estructurados a los modelos de IA. La inclusión del soporte MCP refleja una tendencia creciente en el desarrollo de IA donde las herramientas se estandarizan para permitir una interacción fluida entre diferentes clientes de IA y recursos locales.

Por qué importa

Para los equipos que ejecutan su propio software, controlar la capa de búsqueda de un agente de IA reduce el riesgo operativo y el costo. Cuando alojas Sifthound tú mismo, no estás sujeto a los límites de tasa ni a los aumentos de precio de un proveedor de API comercial. Esto es particularmente importante para aplicaciones que realizan grandes volúmenes de búsquedas, donde las tarifas por llamada pueden acumularse rápidamente. Además, mantener las consultas de búsqueda en las instalaciones asegura que las investigaciones propietarias o las referencias de datos internos no salgan de tu red, cumpliendo con los requisitos de cumplimiento normativo de muchas empresas.

La naturaleza de compatibilidad inmediata de la API significa que los equipos de ingeniería no necesitan refactorizar sus bases de código existentes para beneficiarse del autoalojamiento. Si un proyecto ya usa langchain-tavily o el cliente oficial de Python de Tavily, cambiar a Sifthound solo requiere un cambio de configuración. Esto reduce la barrera de entrada para organizaciones que desean alejarse de las dependencias de SaaS sin incurrir en una deuda técnica significativa. También proporciona una opción de respaldo si los servicios externos experimentan interrupciones, asegurando la continuidad del negocio para flujos de trabajo críticos de IA.

Sin embargo, el autoalojamiento conlleva compromisos. Sifthound no ofrece renderizado de JavaScript, lo que significa que no puede extraer contenido de aplicaciones de página única (SPA) que dependen fuertemente de scripts del lado del cliente. Los equipos que necesiten esta función aún pueden requerir herramientas como Firecrawl. Además, dado que depende de motores de búsqueda públicos a través de SearXNG, es susceptible a los mismos problemas de CAPTCHA y límites de tasa que afectan a cualquier scraper automatizado. Comprender estas limitaciones ayuda a los equipos a decidir si el equilibrio entre control y conveniencia es adecuado para su caso de uso específico.

Qué puedes hacer

  • Prueba la API localmente: Clona el repositorio y ejecuta docker compose up para iniciar una instancia local, luego usa curl o el SDK de Python para verificar las capacidades de búsqueda y extracción contra tu flujo de trabajo actual.
  • Configura claves de API: Establece la variable de entorno API_KEYS para restringir el acceso a tu instancia de Sifthound, asegurando que solo las aplicaciones autorizadas puedan activar operaciones de búsqueda o rastreo.
  • Ajusta la configuración de SearXNG: Edita el archivo docker/searxng/settings.yml para habilitar más motores de búsqueda, lo que ayuda a mitigar los problemas de límite de tasa cuando un proveedor bloquea temporalmente tu dirección IP.
  • Integra con clientes MCP: Añade Sifthound a tu configuración de Claude Desktop o Cursor usando el fragmento JSON proporcionado para habilitar la búsqueda en lenguaje natural directamente dentro de tu entorno de codificación.
  • Monitorea los registros de errores: Vigila los errores 502 que indican fallas en los motores, e implementa lógica de reintento en tu aplicación para manejar bloques temporales de proveedores de búsqueda upstream de manera elegante.
  • Evalúa las necesidades de renderizado: Determina si tus sitios web objetivo requieren renderizado de JavaScript; si es así, planifica integrar un servicio de renderizado separado junto con Sifthound para esos dominios específicos.

Más noticias

Todas las noticias