Este proyecto está inspirado en el proyecto de CHATBOT-UPIICSA de Eduardo, este proyecto igual busca ayudar a la comunidad de UPIICSA a resolver sus dudas de una manera rápida y eficiente con technologías web.
- Usar
IndexedDBpara almacenar los embeddings pre-calculados para cargas instantáneas en visitas recurrentes - Resolver bug del service worker
- Terminar la funcionalidad de botón "Configurar"
- Crear componente tooltip para sugerencias de UI
- Implementar UUID fallback si no está disponible
crypto.randomUUID() - Detectar si el usuario ha instalado la PWA y agregar la etiqueta 'user-scalable=no' para hacer la experiencia más nativa
- Mejorar accesibilidad de modal:
- Gestionar el foco del teclado al abrir/cerrar el modal
- Añadir atributos ARIA (
role="dialog",aria-modal="true")
- Implementar importación dinámica (
import()) o code-splitting para cargar de forma diferida las librerías de IA
- Sistema de feedback con Google Sheets como backend
- Integrar WebLLM con RAG (Retrieval-Augmented Generation) para dispositivos potentes
- Optimizar la carga de estrategias para evitar la reinicialización de una estrategia ya cargada
- Implementar un Web Worker para gestionar la carga en segundo plano de estrategias secundarias (como Pyodide)
- Crear un script de pre-cómputo para generar los embeddings sin conexión
- Configurar un Service Worker para almacenar en caché activos grandes (modelos de IA, Pyodide)
- Agregar opción de "Más herramientas" para mostrar herramientas adicionales que pueden ser útiles para los estudiantes como saes fill-form
- Funcionalidad de búsqueda en historial de chats
- Implementar un estado de carga global para deshabilitar la entrada de chat mientras se inicializan las estrategias
- Sanitizar las respuestas del asistente para convertir automáticamente las URLs en enlaces clicables
- Añadir un botón "Copiar Mensaje" a las respuestas del asistente
- Arreglar "New chat" error para mobile
- Add vercel json to redirect everything to the SPA
- Implementar un historial de chat persistente usando
localStorage - Crear un componente modal para mostrar información adicional o configuraciones
- Implementar menú de tres puntos para editar/eliminar chats (con long-press en móvil)
- Crear componente toast para notificaciones breves
- Implementar un buscador de preguntas si el bot puede no saber la respuesta y puede existir
- Implementar
driver.jspara crear un tour interactivo de la aplicación
- Introducir un enrutador (router) para manejar múltiples vistas
- Convertir la aplicación en una Progressive Web App (PWA) completa
- TypeScript
- Web assembly (con python)
- PWA (Progressive Web App)
- Transformers.js
- Web components
$ pnpm install
$ yarn install
$ npm install
$ deno install
$ bun installSi desea contribuir a este proyecto, no dude en ponerse en contacto.