71 lines
3.6 KiB
Markdown
71 lines
3.6 KiB
Markdown
# 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
|