FuerteventuraTV AI Chatbot — Documentación (WordPress)
FuerteventuraTV AI Chatbot es un widget de chat con IA flotante y multilingüe para WordPress. Añade a tu sitio un asistente que responde a los visitantes en inglés, italiano o español, impulsado por tu propia clave de NVIDIA NIM — guardada cifrada en el servidor, nunca expuesta al navegador — y sin ninguna tarifa por mensaje por nuestra parte. Es la edición complementaria para WordPress de El Savio (la versión para Joomla) y está pensada para sitios turísticos y editoriales que reciben visitantes internacionales que hacen las mismas preguntas rutinarias en varios idiomas.
Requisitos: WordPress 6.0 o superior, PHP 8.1 o superior.
Instalación
- Descarga el
.zipdel plugin desde el email de compra o desde tu cuenta. Mantenlo comprimido. - En el escritorio de WordPress ve a Plugins → Añadir nuevo → Subir plugin.
- Elige el archivo zip
fvtv-chatbot, haz clic en Instalar ahora y luego en Activar. - Tras la activación, la pantalla de ajustes del plugin aparece en el menú de administración.
Configuración
Todos los ajustes están en la propia pantalla de configuración del plugin, en el menú de administración. Los pasos principales tras la activación:
- Introduce tu Download Key. La recibes con el email de licencia tras la compra. Pégala en el campo de la clave en la pantalla de ajustes — esto desbloquea las actualizaciones con licencia en un clic desde el servidor de actualizaciones de GMC / FuerteventuraTV.
- Añade tu clave de NVIDIA NIM. El chatbot funciona sobre NVIDIA NIM con tu propia clave de proveedor. Introdúcela en los ajustes; se guarda cifrada en el servidor y nunca se envía a los navegadores de los visitantes. No hay ninguna tarifa por mensaje por nuestra parte — solo pagas a tu proveedor.
- Configura el perfil de la IA. Define el perfil del asistente para que sus respuestas se mantengan alineadas con la marca de tu sitio.
- Configura las respuestas rápidas. Define respuestas rápidas para orientar a los visitantes hacia las conversaciones más habituales.
- Configura el fallback de FAQ local. Las preguntas frecuentes respondidas por la FAQ local no usan ninguna llamada de IA, así que esas respuestas son instantáneas y no cuestan nada en créditos del proveedor.
- Apunta el feed de noticias RSS a tu contenido. El asistente puede incorporar el contenido actual de tu sitio en sus respuestas en lugar de responder en el vacío.
La limitación de peticiones (rate limiting) en el endpoint del chat viene integrada, protegiéndolo de abusos sin configuración adicional.
Uso del plugin
El widget de chat flotante
Una vez configurado, el widget aparece como un botón de chat flotante en el frontend de tu sitio. Los visitantes pueden chatear en inglés, italiano o español, con cambio de idioma, y el plugin respeta la configuración multilingüe de tu sitio. Las respuestas rápidas aparecen en el widget para guiar a los visitantes hacia las respuestas que más se piden en la mayoría de los sitios.
Fallback de FAQ y respuestas de IA
Cuando la pregunta de un visitante coincide con una entrada de la FAQ local, la respuesta se sirve de inmediato sin llamada de IA — rápida y sin consumo del proveedor. Las preguntas realmente nuevas se envían a NVIDIA NIM usando tu clave. El plugin también funciona sin ninguna clave de IA: en ese caso recurre por completo a las respuestas de la FAQ local, de modo que el widget sigue respondiendo a las preguntas habituales.
Endpoint REST
El widget se comunica con el servidor a través de un endpoint REST en fvtvchatbot/v1/chat. Las peticiones a este endpoint tienen limitación de peticiones, y la clave del proveedor permanece en el lado del servidor en todo momento. Normalmente no necesitas tocar este endpoint — existe para el propio widget.
Actualizaciones y licencia
Las actualizaciones son automáticas. Con tu Download Key introducida en la pantalla de ajustes, el plugin consulta por sí solo el servidor de actualizaciones de GMC / FuerteventuraTV (aproximadamente cada 12 horas) y ofrece las nuevas versiones en Plugins y en Escritorio → Actualizaciones, como cualquier otro plugin, mientras tu licencia esté activa. También puedes volver a descargar la última versión desde tu cuenta en cualquier momento.
El software se publica bajo la GNU GPL. Tu compra (49 EUR, pago único) te da la versión oficial, actualizaciones con licencia en un clic y soporte para un sitio. Si lo necesitas en más sitios o para proyectos de clientes, contáctanos para un acuerdo por volumen o de agencia. La licencia cubre únicamente el plugin de WordPress fvtv-chatbot; la edición para Joomla (El Savio) y la variante de la línea ESE son productos separados.
Soporte
Para obtener ayuda, responde a tu email de compra o escríbenos por WhatsApp al +34 633 168 995 — la misma línea que aparece en tu email de licencia. Incluye por favor:
- el nombre y la versión del producto,
- tus versiones de WordPress y PHP,
- una URL pública o una captura de pantalla del problema (con las claves ocultas).
Respondemos en inglés, italiano y español. Si el plugin no funciona como se describe y no podemos solucionarlo, puedes solicitar un reembolso dentro de los 14 días posteriores a la compra.
Todo incluido
79 funciones reales, agrupadas por área — toda la profundidad del chatbot de IA El Savio, entregado idéntico para Joomla y WordPress.
Motor de conversación con IA
- 16 de los mejores LLM disponibles desde el primer momento — elige entre Meta Llama 3.1/3.2/3.3/4, NVIDIA Nemotron, Mistral/Mixtral, Google Gemma 3, OpenAI GPT-OSS y Qwen 3, todos sobre NVIDIA NIM.
- Equilibra calidad y coste — temperatura configurable, presupuesto de tokens máximos, profundidad del historial de conversación y tiempo de espera de las peticiones.
- Control de longitud para respuestas completas — una directiva escalada al presupuesto de tokens hace que el modelo termine cada frase y lista en lugar de cortarse a mitad de respuesta.
- Endpoint de proveedor personalizado — apunta el cliente a cualquier URL de chat-completions compatible con NVIDIA NIM si usas tu propio enrutamiento.
- Tu clave nunca llega al navegador — todas las llamadas al modelo se ejecutan en el servidor, así que las credenciales y los prompts se mantienen privados.
- Memoria multiturno — el historial reciente de la conversación se incorpora a cada petición para que las respuestas se mantengan en contexto.
Anclaje & conocimiento
- Respuestas ancladas en tu propio contenido — las respuestas se mantienen fieles a tu marca y al tema en lugar de recurrir a conocimiento genérico de la web.
- Base de conocimiento personalizada completa — pega tus propios datos, políticas y detalles que el asistente debe conocer.
- Lista de servicios / ofertas — declara exactamente qué vendes para que el bot promueva ofertas reales y sepa qué queda fuera del menú.
- Persona editable — define el nombre, el rol y la personalidad del asistente, más un bloque de system-prompt adicional de texto libre.
- Contexto de negocio por página — en la página de perfil de un anfitrión (p. ej. mediante com_agentize) el widget responde sobre ese negocio concreto, saneado de nuevo en el servidor.
- Modo white-label — renombra el asistente apartándolo de la marca FuerteventuraTV; el prompt cambia a una identidad neutra, totalmente basada en opciones, con tus propios contactos y la URL de tu sitio.
- Emparejador de bypass de FAQ — las preguntas configuradas se responden al instante con cero créditos de IA, mediante coincidencia contains / exact / regex (límites PCRE reforzados).
- Funciona incluso antes de configurar una clave de IA — las FAQ coincidentes y un fallback localizado EN/IT/ES mantienen el widget receptivo sin ninguna clave de proveedor configurada.
- Contadores de uso de FAQ — mira qué respuestas predefinidas se usan más para poder afinarlas.
Contexto en vivo (clima, mar & noticias)
- Clima en vivo dentro de la respuesta — temperatura actual, viento y rachas desde Open-Meteo (sin clave API adicional), en caché y localizados.
- Condiciones marinas — altura de las olas, dirección, periodo y nivel del mar para sitios costeros / orientados al surf.
- Horarios de mareas automáticos — eventos de marea alta/baja derivados de la serie horaria del nivel del mar para las próximas 24 h.
- Ubicación configurable — define latitud, longitud y una etiqueta legible; por defecto Corralejo, Fuerteventura.
- Noticias RSS resumidas en el prompt — hasta tres feeds (EN/IT/ES) obtenidos en el servidor para que el bot pueda dirigir a los visitantes a tu contenido más reciente.
- Fresco pero económico — clima y noticias tienen cada uno TTL de caché independientes y ajustables por el administrador.
Multilingüe & localización
- 11 idiomas para el contexto en vivo — el contexto de clima, mar y noticias se muestra en EN, IT, ES, DE, FR, PT, PL, RU, CS, SK, HR.
- Selector de idioma dentro del widget — los visitantes cambian de idioma al vuelo sin recargar la página.
- Detección automática del idioma del visitante — se resuelve a partir de la etiqueta de idioma del sitio (Joomla) o de WPML / Polylang / locale (WordPress), con un valor por defecto configurable y una opción auto.
- Mensajes de bienvenida localizados — texto de saludo por idioma (dejarlo en blanco mantiene el valor por defecto integrado).
- Respuestas rápidas por idioma — chips de sugerencia clicables que guían las conversaciones más habituales, editables por idioma.
Widget de chat & experiencia del visitante
- Botón de chat flotante en cada página — abre un panel de chat modal con una animación fluida.
- Lanzador personalizable — elige un emoji o la imagen de un logo como avatar, más colores primario/secundario.
- Control de ubicación — esquina inferior derecha o inferior izquierda.
- Respuestas con formato enriquecido — renderizado Markdown seguro frente a XSS (negrita, cursiva, código en línea, encabezados, reglas, listas con viñetas, enlaces) en lugar de asteriscos en crudo.
- Traspaso suave a WhatsApp — para precios, horarios o disponibilidad en tiempo real el bot redirige a tu número de WhatsApp configurado en lugar de inventar detalles.
- Memoria de conversación con opt-in — el historial del chat puede persistir en el navegador entre páginas; desactivado por defecto y borrado al deshabilitarlo.
- Sin dependencias en el frontend — widget en vanilla-JS, sin jQuery ni librerías externas, seguro en cualquier plantilla.
Captación de leads & notificaciones
- No pierdas nunca la demanda fuera de oferta — el modelo señala las peticiones de cosas que no vendes (coche de alquiler, hotel, restaurante…) y dispara una notificación en lugar de quedarse en un callejón sin salida.
- Alertas por email — las peticiones fuera de oferta se envían por correo a una dirección que se rellena previamente con el email del propio administrador, con un asunto configurable.
- Alertas por webhook — envía la misma alerta a Slack, a un bot de Telegram o a cualquier endpoint JSON genérico.
- Registro de notificaciones — vista de administrador de solo lectura de cada alerta con idioma, vista previa del mensaje, IP con hash e indicadores de envío por mail/webhook.
- Con límite de frecuencia y no bloqueante — las notificaciones tienen límite de tasa y nunca retrasan ni bloquean la respuesta al visitante.
Administración & operativa
- Panel de backend — estado de un vistazo más los contadores de notificaciones agregados en una sola consulta.
- Gestor de FAQ — creación/lectura/actualización/eliminación completa de respuestas predefinidas, con idioma y tipo de coincidencia por entrada.
- Prueba de conexión con NVIDIA en un clic — hace una ida y vuelta al proveedor y reporta la latencia más sugerencias claras para los errores 401/402/403/429/503 (con enlaces de solución).
- Endpoint de health — diagnóstico protegido por ACL que reporta el estado de configuración del proveedor y del esquema de la base de datos sin filtrar jamás la clave.
- Modo admin-assistant — con opt-in, el widget se ejecuta dentro del backend de administración como ayudante consciente de la página (pantalla actual reenviada, revalidada en el servidor; bloqueado en las pantallas de usuarios/instalador/editor/opciones).
- Permisos granulares — reglas ACL estándar de Joomla sobre el componente.
Controles de visibilidad & ubicación
- Reglas de dónde mostrarlo — segmentación por ruta/prefijo de path, página exacta o elementos de menú de navegación concretos.
- Control de en-todas-partes-o-en-ninguna — valor por defecto con comodín y anulaciones por página.
- Protección anti-conflicto con Vokira — oculta automáticamente este chatbot en las páginas donde se renderiza el complemento conserje premium Vokira, para que nunca se apilen dos asistentes.
- Lista negra estricta de admin — el widget nunca se inyecta en las pantallas de login, instalador, configuración, gestión de usuarios o post-instalación.
Seguridad & privacidad
- Clave API cifrada en reposo — almacenada con XSalsa20-Poly1305 (libsodium), con la clave derivada del propio secret/salts del sitio, de modo que el texto cifrado queda ligado a esa instalación.
- Campo de clave enmascarado — el blob cifrado nunca se renderiza en el navegador; "déjalo en blanco para conservarla" evita sobrescrituras accidentales.
- Protección CSRF — aplicada en cada endpoint de escritura.
- Límite de tasa atómico por IP — ventanas de minuto + hora mediante un único upsert SQL sin condiciones de carrera; fail-open, para que el sitio siga funcionando si la base de datos cae.
- Detección de IP resistente a la suplantación — las cabeceras de proxy (Cloudflare / nginx) solo se respetan para los CIDR de proxys de confianza en la whitelist.
- Salida a prueba de inyecciones — una whitelist de URL http/https sobre la salida del modelo y los enlaces RSS bloquea las cargas
javascript:/data:. - Análisis de XML reforzado — el parser RSS elimina la expansión de entidades (mitigación de XXE / billion-laughs) e impone el no-network.
- Cabeceras de seguridad integradas — X-Content-Type-Options, X-Frame-Options, Referrer-Policy y Permissions-Policy en las páginas del frontend (no destructivas, nunca sobrescriben los valores del servidor).
- Constructor de CSP completo — modos off / report-only / enforce, fuentes extra por directiva script/style/img/connect, report URI opcional y un interruptor unsafe-inline.
- Bloqueo de acceso al manifest — el archivo
.htaccessinstalado deniega el acceso HTTP a los archivos XML/INI del plugin. - Respetuoso con el RGPD por diseño — los visitantes deben confirmar el aviso de privacidad antes del primer mensaje; la persistencia de la conversación es opt-in; ningún dato se vende ni se comparte con el proveedor.
- Aviso de privacidad personalizado — texto de consentimiento y enlace a la política de privacidad configurables dentro del widget, recordados por cada host para que no se vuelvan a pedir en cada página.
Rendimiento & caché
- Atajo de FAQ que ahorra créditos — las preguntas comunes se resuelven sin ninguna llamada a la IA.
- Contexto en vivo en caché — el clima y las noticias se almacenan en caché con TTL independientes para reducir las llamadas externas.
- Panel de una sola ida y vuelta — los contadores de notificaciones agregados en una única sentencia SQL.
- Entrega vía Web Asset Manager — CSS/JS registrados a través del pipeline de assets del CMS con cache-busting por versión, sin etiquetas duplicadas.
- Tabla de tasa autolimpiante — las filas caducadas se eliminan de forma probabilística, sin necesidad de cron.
Desarrolladores & API
- Endpoint de chat JSON público —
chat.send(task de Joomla) /POST /wp-json/fvtvchatbot/v1/chat(WordPress). - Endpoint de noticias público —
news.get/GET /wp-json/fvtvchatbot/v1/news, con el bypass de caché deshabilitado para los que lo invocan. - Endpoint de health diagnóstico — sonda de estado protegida por ACL en ambas plataformas.
- Filtro de render para WordPress —
fvtv_chatbot_should_renderpara ocultar el widget de forma programática (p. ej. en el checkout). - Filtro de fallback para WordPress —
fvtv_chatbot_pre_key_fallbackpara que los sitios white-label anulen las respuestas de FAQ offline. - Núcleo con pruebas unitarias — las suites PHPUnit cubren la paridad de cifrado, el emparejador de FAQ, el limitador de tasa, el constructor de prompts y la brújula del clima; la matriz de CI se ejecuta en PHP 8.2/8.3/8.4 con phpcs + phpstan.
Confianza & licencia
- GPL v2 o posterior — el código es libre / de código abierto; conservas todos los derechos GPL.
- Autoalojado, sin servicio de chat de terceros — las conversaciones pasan por el proveedor que configures; nada se enruta a través del proveedor de la herramienta.
- Trae tu propia clave de NVIDIA NIM — apta para el plan gratuito, así que no hay ninguna tarifa por mensaje por nuestra parte.
- Actualizaciones con un clic bajo licencia — las nuevas versiones se instalan directamente desde el backend del CMS a través del gateway GMC / FuerteventuraTV mientras tu licencia esté activa (Joomla comprueba ~cada 24 h, WordPress ~cada 12 h).
- Entrega de actualizaciones validada — un paquete de actualización solo se acepta cuando el gateway devuelve un
download_urlHTTPS válido en fuerteventuratv.net. - Modelo Download Key — una clave del email de tu licencia desbloquea las actualizaciones; vuelve a descargar la build más reciente desde tu cuenta en cualquier momento.
- Soporte & reembolso — soporte en EN/IT/ES por email o WhatsApp; reembolso en 14 días si no funciona como se describe y no se puede solucionar.
- Probado en producción — responde a diario a visitantes reales en el portal turístico fuerteventuratv.net.
Joomla & WordPress
- Joomla — se entrega como un único paquete
pkg_fvtvchatbot(componentecom_fvtvchatbot+ plugin de sistemaplg_system_fvtvchatbot); la interfaz del widget está disponible en los 11 idiomas; requiere Joomla 5.1+ / 6.x y PHP 8.2+. Instala solo el zip del paquete único — nunca los zips internos. - WordPress — un único plugin
fvtv-chatbot; la interfaz del widget se entrega en EN/IT/ES con paridad completa del system-prompt de 11 idiomas y del paquete de UI añadida en la 1.0.24; se integra con WPML/Polylang para la detección automática de idioma; clave API cifrada a partir de los salts de WP; requiere WordPress 6.2+ y PHP 8.2+. Las dos builds se mantienen en lockstep como gemelas con paridad de funciones (clima/mar, notificación fuera de oferta, motor de FAQ, modo admin-assistant, controles de visibilidad y protección Vokira presentes en ambas).


