Saltar al contenido principal

Búsqueda web

Libre WebUI puede buscar en la web y entregar los resultados a tus modelos sin exigir una cuenta de proveedor de Libre WebUI ni una integración con una API de búsqueda comercial. La búsqueda pasa por una instancia de SearXNG elegida por el administrador. SearXNG envía las consultas a los buscadores públicos que agrega; esos buscadores pueden observar la solicitud procedente del despliegue de SearXNG y aplicar sus propias políticas de registro, conservación y red.

Como todas las capacidades de doble uso de Libre WebUI, se entrega desactivada. Un administrador la activa una vez; hasta entonces no existe ninguna interfaz de búsqueda.

Cómo funciona

Hay cuatro elementos y cada uno permanece invisible hasta que existe el anterior:

  1. Una instancia de SearXNG accesible desde el backend. La pila privada integrada incluye una; sirve cualquier instancia con la API JSON activada.
  2. La configuración del administrador — Configuración > Conexiones > Búsqueda (la pestaña es solo para administradores). Define la URL de SearXNG, activa Habilitar búsqueda web y usa Probar conexión para verificar el enlace con una consulta real.
  3. Quién puede usarla — la tarjeta Búsqueda web en Configuración → Gestión de usuarios, junto a los controles de acceso a Work y descarga de modelos. Desactivada (valor predeterminado), reserva la búsqueda a los administradores incluso cuando está habilitada; activada, la abre a todos los usuarios activos. El backend lo aplica en cada solicitud.
  4. Los controles por uso que aparecen para los usuarios autorizados:
    • Recuperación en el chat: un botón con un globo en el redactor. Cuando está activo, el modelo de la sesión planifica consultas centradas en palabras clave, con pistas opcionales de actualidad y categoría. Si la planificación falla, Libre recurre al mensaje sin procesar. Los resultados entran en el prompt como contexto y la respuesta muestra etiquetas de fuente numeradas. Funciona con modelos que no admiten llamadas a herramientas.
    • Herramientas de chat: los modelos autorizados que admiten herramientas pueden llamar a la herramienta integrada web_search cuando las herramientas están activadas para ese turno.
    • Work: las tareas con acceso de red obtienen una herramienta web_search en el bucle del agente. El modelo decide cuándo llamarla, como a cualquier otra. Las tareas sin conexión (red desactivada) nunca la ven, aunque la solicitud de búsqueda saldría del backend, no del entorno aislado.

Una búsqueda fallida nunca hace fallar el turno: el modelo responde sin ese contexto y la ejecución continúa.

Configuración con la pila integrada

deploy/private/docker-compose.yml ya contiene el servicio searxng: solo interno (nunca se publica en el host), reforzado y conectado previamente a la aplicación mediante SEARXNG_URL=http://searxng:8080.

  1. Añade un secreto a .env:

    SEARXNG_SECRET=any-long-random-value
  2. docker compose up -d.

  3. Como administrador: Configuración > Conexiones > Búsqueda — la URL viene rellenada desde el entorno —, actívala y pulsa Probar conexión.

Configuración con tu propia instancia de SearXNG

Sirve cualquier instancia de SearXNG accesible, con un requisito: el formato JSON debe estar habilitado en settings.yml (la mayoría de las instancias públicas lo desactivan):

search:
formats:
- html
- json

Pega después su URL base (por ejemplo, http://127.0.0.1:8888 o https://search.example.com) en Configuración > Conexiones > Búsqueda.

Variables de entorno

VariableValor predeterminadoFinalidad
SEARXNG_URLsin definirRellena la URL en la configuración de búsqueda; activarla sigue siendo una acción del administrador

La propia configuración (activación y URL) se conserva en la base de datos, por lo que sobrevive a los reinicios y entra en vigor de inmediato sin volver a desplegar.

Privacidad y alcance

  • Las búsquedas se ejecutan en el servidor. Los navegadores nunca contactan directamente con SearXNG. Libre WebUI no necesita una cuenta de proveedor de búsqueda, aunque un despliegue de SearXNG personalizado puede configurar motores con sus propias credenciales.
  • Los términos de búsqueda salen del proceso de Libre WebUI hacia SearXNG y luego hacia los motores superiores seleccionados. Autoalojar la puerta permite controlar ese salto; no convierte por sí solo la búsqueda pública en local o anónima.
  • El texto de los resultados se limita antes de entrar en el contexto del modelo (500 caracteres por resultado). Los administradores eligen un límite de 1–100; el predeterminado es 6. Solo se conservan URL de resultados http(s).
  • La instancia integrada solo es accesible en la red interna de la pila. Su limitador de velocidad está desactivado por ello; no la publiques.

Solución de problemas

No aparece el globo en el redactor / no hay herramienta web_search en Work. La búsqueda no está habilitada (Configuración > Conexiones > Búsqueda) o la cuenta no tiene permiso: los usuarios normales necesitan que se active Búsqueda web en Configuración → Gestión de usuarios.

La prueba de conexión falla con HTTP 403. La instancia no permite el formato JSON. Añade json a search.formats en settings.yml (consulta lo anterior) y reiníciala.

La prueba de conexión no alcanza el servicio. La URL debe ser accesible desde el backend, no desde el navegador. En la pila integrada es http://searxng:8080; dentro de un contenedor, localhost identifica el propio contenedor.

Las respuestas ignoran los resultados. El modelo sigue decidiendo qué usar. Los modelos pequeños siguen mejor el contexto inyectado cuando la pregunta es concreta; las fuentes bajo la respuesta siempre muestran lo recuperado.