3.6 KiB
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