Intermedio 10 minBúsqueda web

SearXNG: dotar a un modelo de búsqueda web local

Respuesta directa

SearXNG (software libre bajo licencia AGPL-3.0, que no rastrea a sus usuarios ni elabora perfiles de ellos) es un metabuscador autoalojado: envía tus consultas a otros motores y combina sus resultados, sin clave de API ni factura. Para un modelo local, el paso que desbloquea todo es añadir «json» a la lista de formatos de settings.yml (solo «html» por defecto) y después conectar esa salida JSON a tu interfaz de chat o a tu agente.

Un modelo abierto no sabe nada de esta semana, y nada en su respuesta te lo advierte: hablará del mes pasado con la misma seguridad que de una tabla de multiplicar aprendida de memoria. Darle acceso a una búsqueda web corrige eso. SearXNG es un metabuscador autoalojado que ofrece este servicio sin clave de API, sin facturación por consulta y sin cuenta, lo que lo convierte en un componente coherente de una instalación local en la que no quieres enviar cada pregunta a un tercero.

Por Mohamed Meguedmi·Actualización 2026-09-28·Probado en Windows, macOS y Linux

#Por qué un modelo local necesita la web

El conocimiento de un modelo se detiene en su fecha de entrenamiento, y no sabe con certeza dónde se sitúa esta frontera. Existen dos soluciones: proporcionarle tú mismo los hechos en el prompt o darle los medios para buscarlos por sí mismo al responder. La búsqueda es la forma general de la segunda y la más escalable en cuanto las preguntas varían.

La opción evidente es una API de búsqueda comercial: una cuenta, una clave y una factura por consulta. SearXNG es la alternativa autoalojada. Tú gestionas la instancia, las consultas salen de tu casa, no hay ninguna cuenta y nada se registra salvo que tú lo decidas. Para una instalación cuyo interés reside precisamente en que los datos se queden en casa, enviar cada pregunta a un servicio de terceros por la puerta de atrás sería una forma bastante extraña de quedarse a medio camino.

El propio proyecto se presenta claramente como un metabuscador que no rastrea a los usuarios ni elabora perfiles de ellos, y se distribuye bajo la licencia libre AGPL-3.0. Es una licencia de copyleft fuerte: redistribuir una versión modificada, incluso como servicio en línea, obliga a volver a publicar el código fuente correspondiente bajo los mismos términos. Para un uso personal o interno de un equipo, esta cláusula nunca se activa: solo afecta a la redistribución de una versión modificada a terceros, no al simple hecho de ejecutar la instancia en casa o en tu empresa.

#Lo que hace SearXNG, sin magia

El kit de IA Local

Tu ChatGPT privado y gratuito en tu máquina en 1 hora — LM Studio, Ollama, Open WebUI, tus documentos, sin nube.

  • Espacio en línea de por vida
  • PDF + archivos
  • Reembolsado 30 j

SearXNG no rastrea la web ni posee ningún índice. Es un intermediario: tu consulta se envía a un conjunto configurable de motores existentes, sus respuestas llegan, se eliminan los duplicados y se reordenan, y recibes una única lista. Los motores consultados no ven tu dirección IP, sino la de la instancia.

Esta condición de intermediario también explica la promesa de privacidad que destaca el propio proyecto: la instancia no rastrea a los usuarios ni elabora perfiles sobre ellos. Ninguna cuenta, ninguna cookie de seguimiento publicitario, ningún historial de búsquedas vinculado a una identidad: esto distingue claramente a SearXNG de los buscadores comerciales cuyo modelo de negocio se basa precisamente en elaborar perfiles a partir de las consultas y los clics a lo largo del tiempo.

La calidad se hereda
Desactiva los motores que devuelven ruido para tu uso específico: esto mejora las respuestas del modelo más que cualquier ajuste del prompt, porque el modelo no puede compensar un contexto inicial ya contaminado.
La automatización parece un abuso
Una persona realiza unas pocas búsquedas por minuto; un bucle de agente realiza decenas. Los motores de búsqueda consultados responden con captchas y bloqueos temporales, que ves reflejados en resultados vacíos.

Esta fuerte dependencia de los motores de los que obtiene sus resultados es la principal contrapartida de cualquier metabuscador: SearXNG no puede ser mejor que los resultados que agrega, y también hereda sus fallos y sus cambios. Si un motor cambia su marcado HTML de un día para otro, el módulo correspondiente de SearXNG deja de funcionar hasta que los responsables de su mantenimiento lo actualicen. Esto explica por qué, en una instancia que lleva mucho tiempo sin actualizarse, algunos motores dejan de responder silenciosamente, sin un mensaje de error explícito.

#L'installer

  1. 01
    Desplegar el contenedor
    La imagen oficial está publicada en Docker Hub (searxng/searxng) y en GHCR (ghcr.io/searxng/searxng), ambas mantenidas por el propio proyecto. En una sola máquina, la imagen junto con un servicio de caché Valkey (el fork de código abierto de Redis) bastan de sobra para empezar.
  2. 02
    Mantenerlo en la red local
    Una instancia expuesta en internet se descubre en pocos días y se utiliza como intermediario gratuito, lo que provoca que se bloquee su acceso a los motores de búsqueda que consulta. Se limita al acceso desde la red local o se protege con autenticación.
  3. 03
    Verificar desde la máquina que lo llamará
    No desde tu navegador. Un contenedor que llama a otro necesita la dirección visible desde Docker, no localhost.
!
El antiguo repositorio searxng-docker se ha reemplazado
Muchos tutoriales aún remiten al repositorio searxng-docker, que ahora está marcado como reemplazado (superseded) por el propio proyecto. Las nuevas instalaciones deben seguir la guía de contenedorización del repositorio principal; para las instalaciones existentes basadas en searxng-docker, hay un procedimiento de migración documentado que debe seguirse en lugar de ignorarse. Seguir un tutorial antiguo que apunte al repositorio anterior sigue siendo técnicamente posible, pero ya no es la vía recomendada por el propio proyecto.

#El ajuste que todo el mundo pasa por alto

Por defecto, una instancia de SearXNG recién instalada solo sirve HTML: perfecto para un humano, totalmente inutilizable para un programa. La documentación oficial confirma que la clave search.formats de settings.yml solo contiene «html» por defecto, aunque csv, json y rss están disponibles; hay que añadir json y reiniciar. Esta es la única causa de la gran mayoría de los «no funciona» que se encuentran al conectar SearXNG a una interfaz de chat.

!
La protección contra bots también te bloqueará
El limitador que protege una instancia pública también bloquea tus propias llamadas automatizadas y ahora requiere una base de datos Valkey (el fork de código abierto de Redis), no solo un ajuste en settings.yml. En una instancia restringida a tu red, desactivarlo es precisamente el objetivo buscado; en una instancia accesible desde internet, se mantiene activo, se configura correctamente el host de Valkey y se autentican las llamadas.

#Conectarlo a tu modelo

Puntos de integración más comunes
EntornoRol de SearXNG
Interfaz web de chat localProveedor de búsqueda integrado: se introduce la URL de la instancia, las respuestas incluyen una lista de fuentes
Framework de agentesUna herramienta de búsqueda que el agente puede invocar
Cadena de búsqueda documentalEtapa de recuperación para preguntas de actualidad, junto al índice de tus documentos
Herramienta de automatizaciónUna simple llamada HTTP al punto de acceso JSON

El esquema es siempre el mismo: la búsqueda devuelve fragmentos y direcciones, tu código o tu interfaz selecciona algunos, y estos se insertan en el prompt antes de que el modelo responda a la pregunta planteada. El modelo no navega: lee lo que se le ofrece. Por eso, la calidad de los fragmentos y el tamaño de la ventana de contexto tienen más peso aquí que el tamaño del modelo.

#Los ajustes que realmente cambian algo

Una instancia recién instalada activa por defecto un gran número de motores, lo que parece generoso, pero reduce la calidad: más ruido, más duplicados y más latencia al esperar a que el motor más lento del grupo devuelva su respuesta. La primera mejora real nunca consiste en modificar el prompt del modelo, sino la lista de motores activos y su pertinencia real para el uso previsto.

Desactivar los motores que no sean pertinentes
Un uso centrado en documentación técnica, por ejemplo, no necesita los motores de imágenes ni de compras activados por defecto. Cada motor menos supone una fuente de ruido menos y una petición menos a los servicios de búsqueda externos que gestionar cada día.
Activar el caché
Una base de datos Valkey compartida evita repetir una búsqueda idéntica en cada llamada de un agente que repite la misma pregunta en un bucle, lo que ahorra tanto tiempo de respuesta como parte de la valiosa cuota disponible en los motores de búsqueda consultados.
Fijar un límite de resultados
Pedir diez resultados cuando el modelo solo leerá tres desperdicia mucho espacio de contexto y añade latencia sin aportar nada concreto. Ajusta el número de resultados devueltos a lo que tu prompt realmente aprovecha después, ni más ni menos.
Monitorear los registros al arrancar
Una instancia recientemente actualizada a Valkey puede fallar silenciosamente si el nombre de host aún apunta a un antiguo servicio de caché. Un vistazo a los logs del contenedor evita buscar en otra parte un problema que está ahí.

#Limitaciones que debes prever

Los límites de los motores
Resultados vacíos significan casi siempre un bloqueo anterior, no un error de configuración del propio SearXNG. Menos motores activos, más caché Valkey, y sobre todo, sin agente que busque en bucle sin límite de frecuencia.
Extractos cortos
Para obtener contenido en profundidad, hay que recuperar y limpiar las páginas a las que apuntan los enlaces: esa es la función de un extractor especializado, no de un motor de búsqueda que se limita a transmitir resultados ya resumidos previamente.
Sin clasificación inteligente
SearXNG combina resultados, no entiende tu pregunta. Una consulta vaga devuelve un contexto vago, que el modelo resume cuidadosamente sin nunca indicar que la pregunta planteada estaba mal formulada.
El mantenimiento corre por tu cuenta
Los motores de búsqueda de los que depende cambian sus páginas, y los módulos deben adaptarse. Una instancia que se deja un año sin actualizar se degrada silenciosamente.
La migración a Valkey afecta a las instancias antiguas
Una instancia instalada hace más de un año puede seguir haciendo referencia a un antiguo servicio de caché. Comprueba el nombre de host configurado para el limitador: si ya no coincide con el contenedor que está realmente en ejecución hoy, la protección contra bots falla silenciosamente en lugar de bloquear correctamente los abusos.

#FAQ

¿Es SearXNG gratuito?+
Sí, es software libre bajo licencia AGPL-3.0, auto-hospedado, sin costo de licencia ni facturación por consulta, ya que consulta a otros motores en lugar de mantener su propio índice. Pagas el alojamiento, la electricidad y el tiempo de mantenimiento, como con cualquier servicio que gestiones tú mismo.
¿Por qué mi instancia devuelve HTML y no JSON?+
Porque el formato JSON no está activado por defecto: la documentación oficial confirma que search.formats solo contiene «html» al instalarse. Añade json a esta lista en settings.yml y reinicia la instancia. Es el bloqueo más frecuente al conectar la instancia a una interfaz de chat.
¿Puedo usar una instancia pública en lugar de alojar la mía?+
En teoría sí, en la práctica no: las instancias públicas limitan el tráfico automatizado y muchas desactivan deliberadamente el formato JSON por esta razón precisa. Esto también equivale a confiar tus consultas al servidor de un desconocido que no controlas en absoluto, lo que anula la principal ventaja de alojar tú mismo la herramienta desde un principio.
¿Se necesita una GPU?+
No. Es un servicio web ligero que transmite peticiones a otros motores y fusiona sus respuestas; no implica cálculos pesados y basta de sobra con un servidor sencillo, incluso uno pequeño y económico sin tarjeta gráfica dedicada. La GPU solo se utiliza para el modelo que después leerá los resultados devueltos por SearXNG.
¿Por qué dejan de aparecer resultados al cabo de un tiempo?+
Los motores de búsqueda a los que consulta tu instancia la han limitado o bloqueado temporalmente, generalmente porque un proceso automatizado ha realizado consultas con demasiada frecuencia y demasiado rápido. Reduce el número de motores activos, guarda los resultados en caché localmente y espacia las llamadas de cualquier agente que busque en bucle sin límite.
¿Esto actualiza mi modelo?+
Esto le proporciona texto reciente para leer, lo cual no es lo mismo que actualizar sus conocimientos internos de una vez por todas. La calidad depende de los fragmentos recuperados y de la capacidad del modelo para apoyarse realmente en ellos en lugar de en su memoria de entrenamiento fija.
¿Qué cambia la licencia AGPL-3.0 de SearXNG para mí?+
Nada para un uso interno o personal: ejecutar la instancia no genera ninguna obligación particular. La AGPL exige volver a publicar el código fuente si redistribuyes una versión modificada, incluso como servicio accesible a través de una red en lugar de como software instalado localmente; un punto que debes conocer antes de ofrecer una instancia modificada como servicio a otros.
¿Esta guía te ha ayudado?

¿Un comentario, un error, una precisión? Avísanos, eso mejora la guía para todos.