Plataforma base para agentes con:
Frontend: UI con chat en lenguaje natural y configuracion.Backend: API FastAPI + agentes + tools + servicios.Config: configuracion local (hosts, servicios y credenciales).prompts: prompts versionados por agente.
Agents/
Frontend/
Backend/
Agents/
base_agent.py
log_agent.py
Tools/
common/
log_agent/
services/
Config/
local_config.example.yaml
credentials.example.json
prompts/
common/
logsAgent/
El proyecto ha sido migrado completamente a TypeScript y utiliza la siguiente pila técnica:
- Frontend: React (TSX) + esbuild para bundling ultrarápido.
- Backend: FastAPI (Python) que sirve la API y los activos estáticos.
- Desktop: Electron como contenedor de la aplicación.
- Compilación:
ts-nodepermite ejecutar el proceso principal de Electron directamente desde TypeScript.
- Node.js: 20+ (recomendado 22)
- Python: 3.11+
- API Key de Gemini: Configurada en
Config/credentials.jsono variable de entornoGEMINI_API_KEY.
-
Instalar dependencias:
npm install
-
Lanzar la aplicación:
npm start
El comando npm start:
- Compila el Frontend usando
esbuildhaciaFrontend/dist/bundle.js. - Inicia el proceso principal de Electron (
main.ts). - Electron levanta automáticamente el backend de Python en segundo plano.
- La UI se carga desde el servidor local de FastAPI.
npm run build:frontend: Solo compila el bundle de React.npm start: Flujo completo (Build + Electron + Backend).
Se ha añadido un lanzador para Windows:
Launch.bat: Haz doble clic para compilar el frontend e iniciar la aplicación automáticamente.
Agents/
Frontend/ # Código React + TSX
dist/ # Bundle generado por esbuild
components/ # Componentes de Chat y Configuración
Backend/ # API FastAPI y Logica de Agentes
Agents/ # Definiciones de agentes
Tools/ # Herramientas (logs, etc.)
Config/ # Configuración local (YAML/JSON)
main.ts # Proceso principal de Electron (TS)
package.json # Dependencias Node y Scripts
tsconfig.json # Configuración de TypeScript
El agente principal está diseñado para analizar logs de sistemas distribuidos. Utiliza:
- Prompts Dinámicos: Combinación de instrucciones base y específicas.
- Tools de Análisis: Capacidad para leer logs, verificar salud de servicios y revisar despliegues.
- El usuario envía una consulta en lenguaje natural.
- El agente detecta el objetivo (entorno/servicio).
- Ejecuta una serie de pasos técnicos (verificables en el panel derecho).
- Devuelve un análisis con causa probable y recomendación.
Para modificar la aplicación:
- Edita los archivos
.tsxo.ts. - Ejecuta
npm startpara ver los cambios.esbuildrecompilará el frontend en milisegundos. - El backend de Python se recarga automáticamente si está configurado en modo
--reload(comportamiento por defecto enmain.ts).