Este proyecto implementa un chatbot avanzado, reutilizable y seguro para aplicaciones web desarrolladas en Java con el framework ZKoss. El chatbot es capaz de responder preguntas frecuentes, guiar a usuarios, registrar conversaciones, aplicar reglas avanzadas, detectar lenguaje ofensivo y soportar comandos especiales. Incluye panel de administración y es fácilmente integrable en cualquier aplicación ZKoss.
Chatbot/
├── AdminPanel.zul # Panel de administración (ZK)
├── AdminPanelViewModel.java # ViewModel del panel admin
├── chatbot.css # Estilos del widget
├── chatbot.zul # Widget visual del chatbot (ZK)
├── ChatbotService.java # Lógica principal y backend del chatbot
├── ChatbotViewModel.java # ViewModel del widget chatbot
├── dao/
│ ├── LogConversacionDAO.java # Acceso a logs de conversación
│ ├── PreguntaDAO.java # Acceso a preguntas
│ ├── ReglaDAO.java # Acceso a reglas
│ └── RespuestaDAO.java # Acceso a respuestas
└── model/
├── LogConversacion.java # Modelo de log de conversación
├── Pregunta.java # Modelo de pregunta
├── Regla.java # Modelo de regla
└── Respuesta.java # Modelo de respuesta
- Respuestas automáticas: Coincidencia exacta, similitud y reglas avanzadas.
- Panel de administración: CRUD de preguntas, respuestas y reglas.
- Registro de conversaciones: Logging completo para auditorÃa y QA.
- Detección de lenguaje ofensivo: Filtro de palabras prohibidas.
- Comandos especiales: /ayuda, /historial, /faq, /exportar.
- Exportación de logs: Descarga de logs en formato CSV.
- Sugerencias automáticas: Auto-complete para preguntas frecuentes.
- Historial de usuario: Consulta de interacciones previas.
- AnalÃtica básica: Pregunta más frecuente.
- Seguridad: Validación de entrada, control de longitud, autenticación básica.
- Fácil integración: Solo incluye el widget y configura el ViewModel.
- Incluye el widget en tu página ZKoss:
<include src="chatbot.zul"/>
- Asegúrate de que el package base sea
Chatboty la estructura de carpetas coincida. - Configura el datasource y DAOs según tu base de datos real si lo deseas.
- Escribe tu mensaje en la caja de texto y presiona Enter o el botón "Enviar".
- El bot responderá automáticamente según las reglas y base de conocimiento.
- Usa comandos especiales para funciones avanzadas:
/ayuda— Muestra los comandos disponibles./historial— Muestra el número de mensajes previos del usuario./faq— Lista preguntas frecuentes./exportar— Descarga logs (solo admin).
- Accede a
AdminPanel.zulpara gestionar preguntas, respuestas y reglas. - Permite agregar, editar y eliminar entradas del conocimiento del bot.
- (Opcional) Integra autenticación para restringir acceso a administradores.
- Todas las entradas de usuario son validadas y sanitizadas.
- Se filtran palabras ofensivas y comandos peligrosos.
- El sistema es extensible para integración con SSO, JWT, o bases de datos reales.
- Los logs pueden ser exportados y auditados.
- Integración con IA (OpenAI, Dialogflow, etc.)
- Soporte multilenguaje.
- Integración con sistemas de tickets o CRM.
- Notificaciones push o email.
- Panel de analÃtica avanzada.
Desarrollado por el equipo de desarrollo. Uso libre para proyectos internos y comerciales. Se recomienda mantener esta documentación y los créditos en futuras versiones.