Skip to Content

Chatbot Pilot

Chatbot Pilot es un chatbot de atención al cliente con IA para WordPress. Se presenta como un widget de chat flotante en el frontal y una zona completa de administración en Ajustes → Chatbot Pilot. El plugin ofrece dos modos de funcionamiento:

  • Modo n8n — el widget reenvía cada mensaje del visitante a un workflow externo de n8n  mediante webhook. Úsalo cuando ya tengas automatizaciones, lógica a medida o integraciones de terceros fuera de WordPress.
  • Modo RAG nativo — el plugin indexa el contenido de tu propio sitio (entradas, páginas, custom post types) en fragmentos guardados en una base de datos SQLite local, recupera los pasajes más relevantes en el momento de la consulta y genera una respuesta con el proveedor LLM que elijas (OpenAI, Anthropic Claude, Google Gemini, DeepSeek o una instancia local de Ollama).

Ambos modos comparten el mismo widget, el mismo log de conversaciones y las mismas herramientas de feedback/exportación, así que puedes cambiar de backend cuando quieras sin perder la experiencia cara al visitante.

Widget de chat
Widget de chat tal y como se renderiza en el frontal.

Puntos fuertes

  • Backend dual: webhook n8n o Retrieval-Augmented Generation totalmente nativo.
  • Soporte LLM multi-proveedor: OpenAI, Anthropic Claude, Google Gemini, DeepSeek, Ollama (local).
  • Motor RAG nativo con almacenamiento en SQLite, tamaño de fragmento configurable y recuperación top-K.
  • Indexación en segundo plano vía cron de WordPress, para que reindexar nunca bloquee la UI del admin.
  • Widget personalizable: posición, colores primario/fondo/texto, colores de burbuja de usuario y bot, dimensiones, radio de bordes, tipografía.
  • Textos editables para mensaje de bienvenida, subtítulo, placeholder del input, estado de carga y mensaje de error.
  • Log de conversaciones con feedback por mensaje (pulgar arriba / pulgar abajo) y exportación a CSV.
  • Health check integrado que verifica la conectividad con el proveedor, el estado del índice y la accesibilidad del webhook.
  • Listo para multilingüe vía Polyglot — los textos del widget y la base de conocimiento se pueden servir por idioma.

Requisitos

El plugin es autocontenido y no requiere ningún servicio externo en modo RAG nativo más allá de la API LLM que elijas. El vector store incluido usa SQLite, disponible en cualquier build estándar de PHP.

ComponenteRecomendado
WordPress6.2 o superior (probado hasta 7.0)
PHP7.4 o superior (recomendado 8.x)
Base de datosMySQL/MariaDB para los datos de WordPress, SQLite para el índice vectorial
HTTPSNecesario para las llamadas a webhook y a proveedores
Red salienteNecesario para alcanzar al proveedor LLM seleccionado

Para el modo n8n necesitas además una instancia de n8n accesible con un nodo Webhook configurado para aceptar peticiones POST. Para Ollama necesitas un servidor Ollama corriendo y accesible desde el host de WordPress (típicamente http://localhost:11434).

Instalación

  1. Abre Plugins → Añadir nuevo → Subir plugin en el administrador de WordPress y sube el ZIP de Chatbot Pilot.
  2. Activa Chatbot Pilot.
  3. Abre Ajustes → Chatbot Pilot. El plugin crea sus tablas de base de datos y las opciones por defecto en la primera carga.
  4. Elige el modo de backend (n8n o RAG nativo) y completa la configuración del proveedor que se describe abajo.
  5. En modo RAG nativo, pulsa Reindexar al menos una vez para poblar la base de conocimiento antes de exponer el widget a los visitantes.
  6. Visita cualquier página pública del frontal para confirmar que el widget aparece en la posición configurada.

El widget se encola automáticamente en cada página una vez configurado el plugin; no hace falta shortcode ni tocar el tema.

Configuración

La pantalla de ajustes vive en Ajustes → Chatbot Pilot y se divide en seis pestañas — General, AI / RAG, Apariencia, Iconos, Textos y Feedback. Todos los valores se guardan por sitio (o por sitio de red en multisite) y se pueden cambiar sin reindexar, salvo los propios parámetros de indexación.

General

Chatbot Pilot — Ajustes, pestaña General
Pestaña General — Licencia, interruptor maestro Activar Chatbot, lista de Visibilidad por URL y la tarjeta de Notificación con globo con su retraso.

La pestaña General lleva tres tarjetas:

  • Licencia — pega tu clave PILOT-XXXX-XXXX-XXXX-XXXX y pulsa Verificar y guardar para habilitar las actualizaciones automáticas del plugin.
  • General → Activar Chatbot — interruptor maestro para mostrar el widget en el sitio.
  • Visibilidad → Oculto en estas URLs — lista separada por comas o saltos de línea de rutas donde el widget debe permanecer oculto (coincidencia por prefijo: /login también oculta /login/).
  • Notificación con globo — saca una pista estilo globo junto a la burbuja del chat tras un retraso configurable (Mostrar tras en segundos, 0 = inmediatamente) para atraer la atención.

Modo de backend

Elige exactamente un backend. La elección determina qué campos posteriores son visibles.

  • Webhook n8n — el widget hace POST del mensaje del visitante, el ID de conversación y la URL de la página actual al webhook que indiques. La respuesta esperada es un payload JSON con una cadena reply que se renderiza de vuelta al usuario.
  • RAG nativo — la petición se gestiona dentro del proceso. El plugin recupera los top-K fragmentos más relevantes del índice local, construye un prompt y llama al proveedor LLM configurado.

Ajustes de n8n

Visibles solo cuando el modo de backend es Webhook n8n.

  • URL del webhook — URL HTTPS completa de tu nodo Webhook de n8n.
  • Cabecera de autenticación (opcional) — nombre y valor de una cabecera que se enviará en cada petición, útil para webhooks protegidos por secreto compartido.
  • Timeout — tiempo máximo, en segundos, que se espera a la respuesta antes de mostrar el mensaje de error al usuario.

Proveedor de IA (RAG nativo)

Visible solo cuando el modo de backend es RAG nativo.

Ajustes del proveedor de IA
Ajustes del proveedor de IA

Selecciona un proveedor y rellena los campos correspondientes:

ProveedorNotas
OpenAIMejor calidad global con la familia GPT-4. Requiere una API key de platform.openai.com.
Anthropic ClaudeBuen razonamiento y control de tono. Requiere una API key de console.anthropic.com.
Google GeminiRespuestas rápidas a precio competitivo. Requiere una clave de Google AI Studio.
DeepSeekOpción económica con buen desempeño en contenido técnico.
OllamaCorre en local. Configura la URL base (por defecto http://localhost:11434) y el nombre del modelo. No requiere API key.

Cada proveedor expone los mismos tres campos:

  • API key (o URL base para Ollama) — se guarda en la tabla de opciones de WordPress; nunca se expone al frontal.
  • Modelo — el identificador específico del modelo a llamar (por ejemplo gpt-4o-mini, claude-3-5-sonnet, gemini-1.5-flash, deepseek-chat, llama3.1:8b).
  • Probar conexión — envía un ping mínimo al proveedor y reporta éxito o el error literal devuelto por la API. Ejecútalo siempre tras cambiar la clave o el modelo.

Base de conocimiento

Controla cómo se construye y se consulta el índice RAG nativo. Los cambios en los parámetros de fragmentación se aplican en la siguiente reindexación.

  • Ruta fuente — lista separada por comas de tipos de contenido (o una URL raíz) a ingestar. Deja el valor por defecto post,page para indexar todo el sitio, o restringe a un CPT específico de base de conocimiento.
  • Tamaño de fragmento — número de tokens de cada fragmento escrito en el índice. Por defecto 500. Fragmentos más pequeños mejoran la precisión de la recuperación; más grandes preservan más contexto circundante.
  • Top-K — número de fragmentos recuperados por cada pregunta del visitante y pasados al LLM como contexto. Por defecto 5.
  • Reindexar — programa una reconstrucción completa vía WP-Cron. La barra de progreso muestra el número de documentos en cola, procesados y saltados. Mientras corre el trabajo, el índice existente sigue sirviendo consultas.
  • Limpiar índice — borra todas las filas de la tabla vectorial. Úsalo antes de cambiar el modelo de embeddings.

Apariencia

Cada aspecto visual del widget se edita en esta pestaña. La vista previa en vivo de la derecha se actualiza al momento al cambiar valores.

Ajustes de apariencia
Ajustes de apariencia

Posición

  • Abajo a la derecha (por defecto)
  • Abajo a la izquierda

Colores

  • Color primario — fondo de la cabecera, botón de enviar, anillos de foco.
  • Color de fondo — fondo de la ventana del chat.
  • Color de texto — color de texto base dentro de la ventana.
  • Color del mensaje de usuario — fondo de la burbuja del visitante.
  • Color del mensaje del bot — fondo de la burbuja del asistente.

Dimensiones

  • Anchura y altura de la ventana — en píxeles.
  • Tamaño del botón launcher — diámetro del botón flotante.
  • Radio del borde — se aplica a la ventana, a las burbujas y al launcher.

Tipografía

  • Familia de fuente — hereda del tema por defecto; se puede sobrescribir con cualquier stack CSS de fuentes.
  • Tamaño base de fuente — aplicado al cuerpo del chat.

Iconos

Chatbot Pilot — pestaña Iconos
Pestaña Iconos — elige el icono del launcher (burbuja de chat, mensaje, robot, soporte, brillo), el icono de cerrar y el de enviar, o sube tu propio SVG/PNG.

La pestaña Iconos separa el branding del de Apariencia para que puedas cambiar los iconos de launcher, cerrar y enviar sin tocar colores ni tamaños. El conjunto incluido cubre los patrones de chat más habituales; el campo URL personalizada acepta cualquier SVG o PNG accesible públicamente.

Textos

Chatbot Pilot — pestaña Textos
Pestaña Textos — todas las cadenas visibles al visitante en un mismo sitio: título y subtítulo de la cabecera, mensaje de bienvenida, placeholder del input, textos de carga y error, prompt de feedback y texto de la notificación con globo.

Cada cadena visible al visitante vive en la pestaña Textos, así puedes traducir o reformular el widget sin tocar el tema visual:

  • Mensaje de bienvenida — primer mensaje que se muestra cuando el visitante abre el widget.
  • Subtítulo — texto pequeño bajo el título en la cabecera.
  • Placeholder del input — texto en el campo de entrada vacío.
  • Texto de carga — se muestra mientras se espera la respuesta del asistente.
  • Mensaje de error — se muestra cuando la llamada al backend falla o agota el timeout.
  • Prompt de feedback — texto encima de los controles de pulgar arriba / pulgar abajo (cuando el feedback está activo).
  • Texto de la notificación con globo — copy que aparece en el globo de aviso.

Reglas de visibilidad

  • Mostrar en — elige entre Todas las páginas, Solo en las páginas seleccionadas o En todas excepto las páginas seleccionadas. Los IDs de página se introducen como una lista separada por comas.
  • Ocultar para usuarios logueados — apaga el widget en las sesiones autenticadas.
  • Breakpoint móvil — anchura de viewport por debajo de la cual el widget pasa a un layout compacto.

Feedback y analítica

  • Activar botones de feedback — añade controles de pulgar arriba / pulgar abajo bajo cada mensaje del asistente.
  • Almacenar conversaciones — mantiene la transcripción completa en la tabla wp_chatbotpilot_conversations para revisión y exportación.
  • Periodo de retención — número de días tras los cuales el cron diario purga las conversaciones almacenadas. Pon 0 para conservarlas para siempre.

Health check

El panel de health check siempre está visible en la parte alta de la pantalla de ajustes. Lanza tres pruebas y muestra una pastilla de estado de color para cada una:

  • Accesibilidad del proveedor — llama a la API del LLM con un ping de un token.
  • Estado del índice — cuenta los fragmentos en el store SQLite y reporta el timestamp de la última reindexación exitosa.
  • Accesibilidad del webhook (modo n8n) — emite una petición OPTIONS a la URL del webhook configurado.

Cualquier estado que no esté en verde es pulsable y se despliega mostrando el error literal que devolvió la llamada subyacente, lo que normalmente basta para diagnosticar el problema.

Uso

Para visitantes

El widget aparece en cada página donde apliquen las reglas de visibilidad. El visitante pulsa el botón launcher para abrir la ventana, lee el mensaje de bienvenida y teclea una pregunta en el input. Al pulsar Enter o el botón de enviar se envía el mensaje; el widget muestra el texto de carga y luego renderiza la respuesta del asistente con formato markdown (negrita, enlaces, listas ordenadas y no ordenadas, bloques de código).

Si los botones de feedback están activos, el visitante puede valorar cada mensaje del asistente. La valoración se guarda contra el ID del mensaje para que la misma respuesta pueda revisarse después en el panel de admin.

Para administradores

La administración del día a día ocurre en dos sitios:

  • Ajustes → Chatbot Pilot para la configuración y el panel de health check.
  • Chatbot Pilot → Conversaciones para el log de conversaciones y la exportación del feedback.
Feedback y log de conversaciones
Feedback y log de conversaciones

El log de conversaciones lista cada sesión con la fecha, la página de origen, el número de mensajes y el feedback agregado. Cada fila se puede desplegar para mostrar la transcripción completa, incluidos los pasajes de contexto recuperados en modo RAG nativo. El botón Exportar CSV en la parte alta del listado produce un CSV UTF-8 con una fila por mensaje; respeta cualquier filtro de fecha o valoración activo.

Reindexar tras cambios de contenido

El índice nativo no se actualiza en tiempo real. Lanza una reindexación cuando:

  • Publiques o edites sustancialmente un lote de entradas.
  • Cambies el tamaño de fragmento, la ruta fuente o el modelo de embeddings.
  • El panel de health check reporte un estado de índice obsoleto o vacío.

Para actualizaciones incrementales el plugin también reindexa una entrada concreta al guardar cuando la opción Reindexación automática al guardar está activa en la pestaña Base de conocimiento. Esto añade una pequeña sobrecarga a cada guardado de entrada pero mantiene la base de conocimiento sincronizada sin intervención manual.

Cambiar de backend

Puedes alternar entre n8n y RAG nativo cuando quieras. El widget, el log de conversaciones y el store de feedback se comparten entre modos. Al cambiar a RAG nativo por primera vez, acuérdate de ejecutar Reindexar antes de que el widget pueda responder preguntas.

Capturas

Las capturas siguientes se corresponden con las cuatro áreas principales de la interfaz de admin y con el widget del frontal.

Widget de chat del frontal

Widget de chat renderizado en una página
Widget de chat renderizado en una página

Configuración del proveedor de IA

Selección de proveedor, API key, modelo y prueba de conexión
Selección de proveedor, API key, modelo y prueba de conexión

Editor de apariencia del widget

Vista previa en vivo con posición, colores, dimensiones y textos
Vista previa en vivo con posición, colores, dimensiones y textos

Log de conversaciones y exportación del feedback

Lista de conversaciones con indicadores de feedback
Lista de conversaciones con indicadores de feedback

FAQ

¿Qué backend me conviene?

Usa RAG nativo si tu objetivo es responder preguntas sobre el contenido de tu propio sitio y quieres una solución autocontenida que solo necesita una API key de LLM. Usa n8n si necesitas combinar el chatbot con herramientas externas (consultas a CRM, ticketing, enrutado a medida) o si la conversación tiene que disparar acciones fuera de WordPress.

¿Necesito instalar n8n para usar el plugin?

No. n8n solo es necesario si eliges n8n como modo de backend. El modo RAG nativo es totalmente autocontenido.

¿Mis datos se envían a un tercero?

En modo RAG nativo, cada prompt y el contexto recuperado se envían al proveedor LLM que hayas seleccionado. Si esto no es aceptable, monta el plugin contra una instancia local de Ollama — en ese caso ningún dato sale del servidor. En modo n8n, cada mensaje se envía a tu propio endpoint de n8n; lo que pase después depende del workflow que hayas montado.

¿Dónde se guarda el índice?

El índice vectorial es un archivo SQLite en wp-content/uploads/chatbot-pilot/. La tabla de opciones de WordPress guarda la configuración del chatbot y la tabla wp_chatbotpilot_conversations guarda el log de conversaciones.

¿Puedo usarlo en un sitio multilingüe?

Sí. Con Polyglot instalado, el indexador ingiere las versiones traducidas de cada entrada y los textos del widget se sirven por idioma. Sin Polyglot puedes seguir operando un widget por idioma si limitas la ruta fuente a categorías específicas por idioma.

¿Soporta custom post types?

Sí. Añade los slugs de los CPT al campo Ruta fuente, separados por comas, y reindexa.

¿Puedo exportar las conversaciones?

Sí. El botón Exportar CSV en la pantalla de Conversaciones produce un archivo CSV UTF-8 con una fila por mensaje, incluida la valoración, el timestamp, la página de origen y el texto completo del mensaje.

¿Cómo borro los datos de un visitante?

Abre Chatbot Pilot → Conversaciones, filtra por session ID o por IP y usa la acción Borrar en las filas que coincidan. La conversación y sus entradas de feedback se eliminan al momento.

¿Funciona el widget sin JavaScript?

No. El widget es un componente JavaScript de una sola página; no degrada de forma elegante a un fallback noscript.

Resolución de problemas

El widget no aparece en el frontal

  • Verifica que el modo de backend esté fijado y que las credenciales pertinentes (API key o URL del webhook) estén guardadas.
  • Revisa las reglas de visibilidad — puede que la página esté excluida.
  • Inspecciona la consola del navegador: una respuesta 4xx de admin-ajax.php suele indicar un problema de permisos o nonce causado por un plugin de caché agresivo.

El asistente responde con el mensaje de error

Abre el panel de health check y pulsa la pastilla roja para leer el error del proveedor tal cual. Causas habituales:

  • API key caducada o revocada.
  • El modelo seleccionado no está disponible para tu cuenta o región.
  • Rate limit excedido — espera o sube el plan del proveedor.
  • La URL del webhook devuelve un estado distinto de 2xx.

La reindexación parece atascada

El cron de WordPress solo se dispara cuando el sitio recibe tráfico. Provoca un hit manual o llama a wp cron event run --due-now desde WP-CLI. La barra de progreso se refresca cada pocos segundos mientras el trabajo está corriendo.

Las respuestas se van del tema o se inventan cosas

  • Reindexa tras editar contenido recientemente.
  • Sube Top-K para dar al modelo más contexto.
  • Reduce el Tamaño de fragmento para una recuperación más fina y luego reindexa.
  • Prueba un modelo más potente (por ejemplo, pasa de GPT-4o-mini a GPT-4o, o de Gemini Flash a Gemini Pro).

Las respuestas de Ollama son muy lentas

La velocidad de inferencia local depende por completo del host. Usa un modelo cuantizado (:q4_K_M o similar), asegúrate de que la aceleración por GPU está activa y mantén el tamaño de fragmento y el top-K moderados.

No se guardan las conversaciones

Confirma que Almacenar conversaciones está activo en la pestaña Feedback y analítica y que la tabla wp_chatbotpilot_conversations existe. Desactivar y reactivar el plugin recrea las tablas que falten.

Last updated on