ParamManagerScripts/.doc/MemoriaDeEvolucion.md

3.6 KiB

Memoria de Evolución - ParamManagerScripts

Descripción Base del Proyecto

ParamManagerScripts es un sistema de gestión y ejecución de scripts que proporciona una interfaz web para organizar y ejecutar scripts de diferentes tipos (Python, C#, etc.) de manera ordenada y controlada.

Funcionalidad Principal

1. Sistema de Configuración Jerárquica

  • Nivel 1 (Global): Parámetros compartidos por todos los scripts (data/data.json)
  • Nivel 2 (Grupo): Configuración específica de cada grupo de scripts (script_config.json)
  • Nivel 3 (Trabajo): Parámetros específicos del directorio de trabajo (work_dir.json)

Esto esta definido en .doc\backend_setup.md

2. Gestión de Scripts por Categorías

  • Scripts de Configuración: Scripts Python tradicionales organizados en grupos
  • Launcher GUI: Scripts Python con interfaz gráfica
  • Proyectos C#: Ejecutables y proyectos .NET
  • Proyectos Python: Scripts Python especializados

3. Características del Frontend

  • Interfaz web accesible via http://127.0.0.1:5000/
  • Panel de logs en tiempo real con WebSocket
  • Gestión de directorios de trabajo por grupo
  • Integración con editores (VS Code, Cursor, Visual Studio)
  • Icono de bandeja del sistema para acceso rápido

4. Sistema de Launchers

  • Launcher General: Para scripts Python con GUI
  • Launcher C#: Gestión de proyectos y ejecutables .NET
  • Launcher Python: Scripts Python especializados con gestión de entornos

5. Servicios Compartidos

  • ExcelService: Manipulación de archivos Excel
  • LanguageService: Detección de idiomas
  • LLMService: Integración con modelos de IA (OpenAI, Groq, Claude, etc.)

Esto esta definido en .doc\backend_setup.md

Arquitectura Técnica

  • Backend: Flask con WebSocket para comunicación en tiempo real
  • Frontend: HTML/CSS/JavaScript con comunicación AJAX
  • Configuración: Sistema de archivos JSON con validación por esquemas
  • Ejecución: Subprocesos controlados con logging centralizado
  • Codificación: UTF-8 obligatorio para evitar problemas de caracteres

Concepto Clave: Orientación a Directorios de Trabajo

El sistema está diseñado para trabajar con directorios específicos donde los scripts procesan archivos. Cada grupo puede tener su directorio de trabajo configurado, y los scripts acceden a la configuración consolidada a través de load_configuration() que combina los tres niveles de configuración.


Historial de Cambios

[Fecha de Creación] - Descripción Base

  • Documentación inicial del sistema ParamManagerScripts
  • Descripción de la arquitectura y funcionalidades principales
  • Establecimiento de la estructura de memoria de evolución

[2024-12-19] - Implementación de Campos de Tipo Archivo

  • Nueva funcionalidad: Agregado soporte para campos de tipo "Archivo" en el editor de esquemas
  • Selección de archivos: Implementado diálogo de selección de archivos con tkinter.filedialog.askopenfilename
  • Botón "Abrir": Agregado botón adicional para abrir archivos seleccionados con la aplicación predeterminada del sistema
  • Compatibilidad multiplataforma: Soporte para Windows (os.startfile), macOS (open) y Linux (xdg-open)
  • Validaciones: Verificación de existencia y tipo de archivo antes de intentar abrirlo
  • Integración UI: Botón "Abrir" se habilita automáticamente cuando se selecciona un archivo
  • Endpoints API: Nuevas rutas /api/browse-files y /api/open-file para manejo de archivos
  • Casos de uso: Ideal para archivos Excel, Markdown, documentos y cualquier tipo de archivo que requiera apertura rápida