Añadir Home
commit
31936e0c38
|
@ -0,0 +1,117 @@
|
||||||
|
# Gestor de Configuraciones y Ejecución de Scripts
|
||||||
|
|
||||||
|
## 1. Resumen y Objetivo
|
||||||
|
|
||||||
|
El software es una aplicación web desarrollada con **Flask** y **Tailwind CSS** (vía [cdn.tailwindcss.com](https://cdn.tailwindcss.com)), diseñada para ejecutarse en una única PC con Windows sin requerir autenticación. La aplicación tiene dos objetivos principales:
|
||||||
|
|
||||||
|
- **Gestión de Configuraciones:**
|
||||||
|
Permite editar y mantener configuraciones en tres niveles:
|
||||||
|
- **Nivel 1:** Configuración general (ej. modelo LLM, API keys).
|
||||||
|
- **Nivel 2:** Configuración específica para cada grupo de scripts.
|
||||||
|
- **Nivel 3:** Configuración del entorno de trabajo donde se ejecutan los scripts.
|
||||||
|
|
||||||
|
- **Ejecución de Scripts:**
|
||||||
|
Facilita la ejecución de scripts Python agrupados en directorios, pasando como parámetros las configuraciones de los tres niveles y capturando su salida en un bloque de logs.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 2. Requisitos Funcionales
|
||||||
|
|
||||||
|
### 2.1 Gestión de Configuraciones
|
||||||
|
|
||||||
|
La aplicación gestiona tres niveles de configuración:
|
||||||
|
|
||||||
|
#### Nivel 1 – Configuración General
|
||||||
|
- **Propósito:**
|
||||||
|
Almacenar parámetros globales (ej. modelo LLM, API keys).
|
||||||
|
- **Archivos:**
|
||||||
|
- `data.json`: Contiene los valores actuales.
|
||||||
|
- `esquema.json`: Define la estructura y validaciones.
|
||||||
|
- **Ubicación:**
|
||||||
|
Directorio `/data`.
|
||||||
|
|
||||||
|
#### Nivel 2 – Configuración del Grupo de Scripts
|
||||||
|
- **Propósito:**
|
||||||
|
Parámetros específicos para cada grupo de scripts (por ejemplo, rutas y opciones de ejecución).
|
||||||
|
- **Archivos:**
|
||||||
|
- `data.json`: Configuración específica de cada grupo, ubicado en
|
||||||
|
`backend/script_groups/{script_groups_name}`.
|
||||||
|
- `esquema.json`: Archivo único que define el esquema común para todos los grupos, ubicado en
|
||||||
|
`backend/script_groups/`.
|
||||||
|
- **Archivo de Directorio de Trabajo:**
|
||||||
|
La cadena de texto que indica el camino al directorio de trabajo se almacena en un archivo separado, por ejemplo, `work_dir.txt`, ubicado en
|
||||||
|
`backend/script_groups/{script_groups_name}/work_dir.txt`.
|
||||||
|
|
||||||
|
#### Nivel 3 – Configuración del Directorio de Trabajo
|
||||||
|
- **Propósito:**
|
||||||
|
Almacenar parámetros específicos del entorno de trabajo donde se ejecutan los scripts.
|
||||||
|
- **Archivos:**
|
||||||
|
- `data.json`: Contiene la configuración del directorio de trabajo.
|
||||||
|
- `esquema.json`: Define la estructura y validaciones para este nivel, ubicado en
|
||||||
|
`backend/script_groups/{script_groups_name}`.
|
||||||
|
- **Nota:**
|
||||||
|
La cadena del directorio de trabajo **no se almacena en este nivel**, ya que se gestiona desde el Nivel 2 en un archivo separado.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### 2.2 Ejecución de Scripts
|
||||||
|
|
||||||
|
- **Detección de Scripts:**
|
||||||
|
Cada grupo de scripts, ubicado en `backend/script_groups/{script_groups_name}`, contiene archivos Python nombrados `x1.py`, `x2.py`, ..., `xn.py`.
|
||||||
|
|
||||||
|
- **Descripción de Scripts:**
|
||||||
|
Se extrae una breve descripción de cada script (por ejemplo, del docstring o comentario inicial).
|
||||||
|
|
||||||
|
- **Ejecución:**
|
||||||
|
Cada script se ejecuta mediante un botón "Ejecutar" que le pasa como parámetros los datos actuales de los tres niveles (1, 2 y 3).
|
||||||
|
|
||||||
|
- **Captura de Salida:**
|
||||||
|
Toda la salida que se genere en consola durante la ejecución se redirige al bloque de logs de la aplicación.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### 2.3 Bloque de Logs
|
||||||
|
|
||||||
|
- **Visualización:**
|
||||||
|
Un área en la página principal muestra en tiempo real la salida de la ejecución de los scripts y otras actividades.
|
||||||
|
- **Acción:**
|
||||||
|
Un botón "Limpiar" permite borrar el contenido del log.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### 2.4 Persistencia
|
||||||
|
|
||||||
|
- **Combo List:**
|
||||||
|
La selección del grupo de scripts se mantiene persistente entre recargas de la página.
|
||||||
|
- **Directorio de Trabajo:**
|
||||||
|
La ruta al directorio de trabajo se almacena en `backend/script_groups/{script_groups_name}/work_dir.txt` y se mantiene persistente.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 3. Estructura de Archivos y Directorios
|
||||||
|
|
||||||
|
La organización de archivos y directorios es la siguiente:
|
||||||
|
|
||||||
|
```plaintext
|
||||||
|
/data
|
||||||
|
├── data.json # Configuración general (Nivel 1)
|
||||||
|
└── esquema.json # Esquema para Nivel 1
|
||||||
|
|
||||||
|
/backend
|
||||||
|
└── script_groups
|
||||||
|
├── esquema.json # Esquema común para Nivel 2 (configuración del grupo)
|
||||||
|
├── {script_groups_name_1}
|
||||||
|
│ ├── data.json # Configuración del grupo (Nivel 2)
|
||||||
|
│ ├── work_dir.txt # Cadena de texto con el directorio de trabajo
|
||||||
|
│ ├── x1.py # Script 1
|
||||||
|
│ ├── x2.py # Script 2
|
||||||
|
│ └── esquema.json # Esquema para Nivel 3 (configuración del directorio de trabajo)
|
||||||
|
├── {script_groups_name_2}
|
||||||
|
│ ├── data.json # Configuración del grupo (Nivel 2)
|
||||||
|
│ ├── work_dir.txt # Cadena de texto con el directorio de trabajo
|
||||||
|
│ ├── x1.py
|
||||||
|
│ └── esquema.json # Esquema para Nivel 3
|
||||||
|
└── ... (otros grupos)
|
||||||
|
|
||||||
|
/(Directorio de Trabajo Variable)
|
||||||
|
└── data.json # Configuración del directorio de trabajo (Nivel 3)
|
Loading…
Reference in New Issue