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