Sobre este proyecto
it-programming / desktop-apps
Abierto
Contexto general del proyecto
# 📖 Documento Maestro de Arquitectura: Ecosistema L-IA _Última actualización: 10 de agosto de 2025_ ## I. Filosofía y Arquitectura Central El ecosistema L-IA se fundamenta en un principio inquebrantable: **la centralización absoluta de la lógica de negocio en el backend**. Los bots de Discord no son simples ayudantes; son el **servidor, el cerebro y el motor de todo el sistema**. **Arquitectura Estricta Cliente-Servidor Remoto:** - **Servidor (Backend):** El conjunto de `bots discord`. Son los únicos con acceso y autoridad para leer/escribir en las bases de datos (archivos `.json`), gestionar estados y ejecutar la lógica de negocio. - **Cliente (Frontend):** La `lia-client-app`. Su única función es actuar como una interfaz gráfica remota. Es un cliente "tonto": solo puede enviar peticiones al `lia-suport-bot` y renderizar la información que este le devuelve. **Tiene prohibido procesar datos o tomar decisiones.** ```Mermaid graph TD subgraph "🖥️ Cliente Remoto (Interfaz de Usuario)" A[lia-client-app] end subgraph "🛡️ api gateway / orquestador" b(lia-suport-bot) end subgraph "⚙️ microservicios especializados (lógica de negocio)" c[bot agenda l-ia] d[bot l-ia 1] e[inteligencia] end subgraph "🗃️ base de datos (archivos planos)" f[registrocitas.json] G[historico_actividad.json] H[knowledge_base.json] end A -- "1. Petición API (ej: 'crear cita')" --> B B -- "2. Valida y Delega Tarea" --> C C -- "3. Ejecuta Lógica (CRUD)" --> F C -- "4. Responde a Orquestador" --> B B -- "5. Envía Respuesta a Cliente" --> A ``` --- ## II. Desglose de Componentes Principales (El Ecosistema) ### 🤖 `bots discord` (el backend) el verdadero poder del sistema reside aquí. Cada bot es un microservicio con responsabilidades únicas. #### a. `lia-suport-bot` (el orquestador central) - **propósito:** es el **api gateway** del ecosistema. Todas las comunicaciones, internas y externas, deben pasar por él. - **Funciones Clave:** - **Endpoint Principal:** Expone una API (probablemente en `src/services/Apiservice.js`) para que `lia-client-app` se comunique. - **Orquestación:** No ejecuta la lógica directamente, sino que delega las tareas a los bots especialistas (`Agenda`, `L-IA 1`). Por ejemplo, una petición de "agendar" se redirige al `Bot Agenda L-IA`. - **Seguridad:** Valida las peticiones y centraliza el control de acceso. - **Comunicación WhatsApp:** La presencia de la caché `.wwebjs_cache` indica que gestiona una conexión con WhatsApp, actuando como puente. #### b. `Bot Agenda L-IA` (El Gestor de Citas) - **Propósito:** El componente más complejo. Gestiona el ciclo de vida completo de las citas con una máquina de estados robusta. - **Archivos de Datos:** `data/registrocitas.json`, `data/historico/`. - **Funciones Clave:** - **Máquina de Estados:** Controla el flujo de una cita a través de estados como `activa`, `en_espera` (propuesto), `en curso`, `pendiente_calificacion`, `finalizada`, `cancelada` y todas sus variantes de solicitud. - **Generación de UI en Discord:** Crea y gestiona canales, roles, embeds y botones (`components/`) para cada cita, proporcionando una interfaz de usuario nativa en Discord. - **Lógica de Tiempo:** Utiliza `utils/cuentaRegresiva.js` para transiciones de estado automáticas basadas en el tiempo. - **Seguridad de Datos:** Implementa funciones seguras (`utils/citas-seguras.js`) para la manipulación de datos, aunque los scripts externos han violado esta seguridad en el pasado. #### c. `Bot L-IA 1` (El Monitor de Actividad) - **Propósito:** Rastrear y registrar la actividad de los usuarios, principalmente relacionada con el streaming y el tiempo en línea. - **Funciones Clave:** - **Monitor de Historial:** Scripts como `monitor-historial.js` y `sincronizar-historial.js` se encargan de registrar la actividad. - **Gestión de Sesiones:** Detecta inicios y cierres de sesión (`close-false-session.js`). - **Limpieza de Datos:** Mantiene la integridad de los datos con scripts como `clean-screenshots-historial.js` y `limpiar-duplicados-historial.js`. ### 🖥️ `lia-client-app` (el frontend) - **propósito:** ser la cara visible del sistema para los administradores, a través de una aplicación de escritorio. - **Tecnología:** Electron. - **Regla Fundamental:** **CERO Lógica de negocio.** - **Funcionamiento:** - **Comunicación:** Toda la interacción con el backend se realiza a través de `src/services/Apiservice.js`, que consume la api del `lia-suport-bot`. - **Interfaz de Usuario:** Construye vistas (`src/ui/`) para mostrar los datos recibidos. Utiliza html y css para renderizar paneles de control. - **Scripts Problemáticos (Histórico):** La carpeta `scripts/` contenía utilidades que **violaban la arquitectura** al modificar `registrocitas.json` directamente. **Estos han sido eliminados**, reforzando la regla de que el cliente no toca la base de datos. ### 🧠 `INTELIGENCIA` (El Cerebro AI) - **Propósito:** Un servicio dedicado a procesar datos y ofrecer capacidades de IA, probablemente para análisis futuros o asistencia inteligente. - **Funciones Clave:** - **Procesamiento de Datos:** `src/core/AIProcessor.js` sugiere que puede analizar texto o datos estructurados. - **Base de Conocimiento:** `src/database/knowledge_base.json` indica que mantiene su propia base de datos de conocimiento, posiblemente alimentada por `DiscordKnowledgeCollector.js`. - **Integración:** Se conecta con el ecosistema a través del `lia-suport-bot` para no violar la arquitectura. --- ## III. Herramientas y Scripts (La Caja de Herramientas) El proyecto está equipado con un robusto conjunto de scripts para mantenimiento, diagnóstico y backups. - **Backups:** - `crear-backup-completo.bat`: Un script de Windows para crear una copia completa y segura de todo el proyecto. - `Backup-rapido.js`: Un script de Node.js para crear un backup rápido con información clave en formato JSON. - **Diagnóstico y Corrección:** - `diagnostico-citas-problema.js`: Creado para analizar por qué ciertas citas estaban en un estado incorrecto. - `Corregir-citas-problema.js`: Un script reactivo y peligroso (si se usa mal) para corregir estados directamente en el JSON. Su existencia demuestra la necesidad de la arquitectura estricta. - **Gestión del Workspace:** - `package.json` (raíz): Contiene scripts para gestionar todo el ecosistema (`install:all`, `start:*`, `clean:all`), tratando a cada componente como un microservicio. --- ## IV. Puntos Débiles Históricos y Reglas de Oro (Lecciones Aprendidas) El análisis revela un punto débil crítico que ha sido la **causa raíz de los problemas recientes**: - **Vulnerabilidad:** La modificación directa del archivo `registrocitas.json` por parte de scripts ubicados en `lia-client-app`. - **Impacto:** Creó inconsistencias entre el estado real de los datos y la representación en Discord (canales, botones, embeds), ya que el bot nunca fue notificado del cambio. ### Reglas de Oro (Inquebrantables): 1. **El Cliente es Mudo:** `lia-client-app` no tiene permitido pensar. Solo pregunta al `lia-suport-bot` y muestra lo que le dicen. 2. **El Bot de Soporte es el Único Portero:** Nadie habla directamente con los bots especialistas o la base de datos. Todas las peticiones pasan por `lia-suport-bot`. 3. **La Base de Datos es Sagrada:** Solo el bot responsable de esos datos (ej. `Bot Agenda L-IA` para las citas) puede escribir en ellos. Cualquier otra entidad solo puede solicitar datos. 4. **Los Scripts Externos son para Leer, no para Escribir:** Los scripts de diagnóstico pueden leer los archivos `.json` para análisis, pero cualquier script que **modifique** datos es un riesgo de seguridad y arquitectura. Los que existían han sido eliminados.
Categoría Programación y Tecnología
Subcategoría Aplicaciones de escritorio
¿Es un proyecto o una posición? Un proyecto
Actualmente tengo No aplica
Disponibilidad requerida Tiempo completo
Integraciones de API Otros (Otras APIs)
Plataformas requeridas Windows
Duración del proyecto 1 a 3 meses
Habilidades necesarias