diff --git a/README.md b/README.md index cd068f3..b20301b 100644 --- a/README.md +++ b/README.md @@ -16,6 +16,7 @@ Un agente configurabile basato su DeepAgents che supporta più provider LLM. - **Docker support**: Containerizzazione per deployment facile - **API REST**: Server API per accesso remoto - **Web UI**: Interfaccia web per gestione configurazioni +- **Dashboard monitoraggio**: Monitoraggio in tempo reale del sistema - **Comandi integrati**: Comandi speciali con prefisso "/" per gestione rapida - **Monitoraggio**: Sistema di logging e monitoraggio delle performance - **Dashboard performance**: Monitoraggio dettagliato delle performance @@ -180,6 +181,9 @@ python api_server.py # Accedi all'interfaccia web # http://localhost:8000 + +# Accedi alla dashboard di monitoraggio +# http://localhost:8000/monitoring ``` L'interfaccia web include: @@ -187,6 +191,7 @@ L'interfaccia web include: - Chat con l'agente - Monitoraggio dello stato del sistema - Test di connessione +- Dashboard di monitoraggio in tempo reale ## Utilizzo @@ -213,6 +218,7 @@ Quando interagisci con l'agente, puoi usare comandi speciali preceduti da "/" pe /plugins - Elenca i plugin disponibili /language - Cambia la lingua dell'interfaccia /performance - Mostra il report delle performance +/monitoring - Apre la dashboard di monitoraggio /exit, /quit - Esci dall'agente ``` @@ -274,6 +280,7 @@ L'API sarà disponibile su http://localhost:8000 #### Endpoint API Disponibili - `GET /`: Interfaccia web +- `GET /monitoring`: Dashboard di monitoraggio - `GET /health`: Health check - `POST /chat`: Chat con l'agente - `GET /configurations`: Elenca tutte le configurazioni @@ -307,6 +314,66 @@ curl -X POST http://localhost:8000/configurations \ }' ``` +## Dashboard di Monitoraggio + +MaxClaw Agent include una dashboard di monitoraggio in tempo reale. + +### Accesso alla Dashboard + +```bash +# Avvia il server API +python api_server.py + +# Accedi alla dashboard +# http://localhost:8000/monitoring +``` + +### Funzionalità della Dashboard + +La dashboard include: + +1. **Statistiche Generali**: + - Stato del sistema (online/offline) + - Uptime del sistema + - Richieste totali + - Errori totali + - Tasso di errore + +2. **Provider Attivo**: + - Provider configurato + - Modello in uso + - Stato connessione + - Chiamate al provider + +3. **Utilizzo Strumenti**: + - Strumenti caricati + - Plugin attivi + +4. **Risorse di Sistema**: + - Utilizzo CPU + - Utilizzo memoria + - Utilizzo disco + +5. **Performance**: + - Tempo di risposta medio + - Richieste al minuto + - Picco richieste + +6. **Logs**: + - Logs recenti del sistema + - Filtraggio per tipo (info, warning, error, success) + +7. **Informazioni di Sistema**: + - Hostname + - Piattaforma + - Architettura + - Versione Python + - Versione MaxClaw + +### Aggiornamento Automatico + +La dashboard si aggiorna automaticamente ogni 30 secondi. Puoi anche aggiornare manualmente con il pulsante "🔄 Aggiorna Dati". + ## Strumenti Unificati per Provider MaxClaw Agent ora fornisce un'interfaccia unificata per gestire qualsiasi provider LLM. Una volta configurato un provider, puoi usare gli stessi comandi per tutti. @@ -696,6 +763,7 @@ MaxClaw Agent include un sistema di monitoraggio e logging: - **Metriche di performance**: Tempi di risposta, utilizzo cache - **Report di stato**: Visualizzazione completa dello stato del sistema - **Dashboard performance**: Monitoraggio avanzato delle performance +- **Dashboard web**: Monitoraggio in tempo reale via interfaccia web ## Sicurezza diff --git a/api_server.py b/api_server.py index 8d3be8f..fe80e6d 100644 --- a/api_server.py +++ b/api_server.py @@ -114,11 +114,26 @@ async def root(): "chat": "/chat", "configurations": "/configurations", "health": "/health", - "web_ui": "/static/index.html" + "web_ui": "/static/index.html", + "monitoring": "/monitoring" } } +@app.get("/monitoring") +async def monitoring(): + """Monitoring dashboard endpoint""" + monitoring_file = os.path.join(web_dir, "monitoring.html") + if os.path.exists(monitoring_file): + return FileResponse(monitoring_file) + else: + return { + "message": "Monitoring dashboard not available", + "version": "1.0.0", + "note": "Monitoring dashboard file not found" + } + + @app.get("/health") async def health_check(): """Health check endpoint""" @@ -283,6 +298,18 @@ async def list_providers(): "description": "OpenRouter multi-provider access", "required_env": ["OPENROUTER_API_KEY"], "optional_env": ["OPENROUTER_BASE_URL"] + }, + { + "name": "anthropic", + "description": "Anthropic Claude models", + "required_env": ["ANTHROPIC_API_KEY"], + "optional_env": [] + }, + { + "name": "google", + "description": "Google Gemini models", + "required_env": ["GOOGLE_API_KEY"], + "optional_env": [] } ] } diff --git a/web/monitoring.html b/web/monitoring.html new file mode 100644 index 0000000..bf30279 --- /dev/null +++ b/web/monitoring.html @@ -0,0 +1,636 @@ + + + + + + MaxClaw Agent - Monitoraggio + + + +
+
+

MaxClaw Agent - Monitoraggio

+

Dashboard di monitoraggio in tempo reale

+
+ + + +
+ +
+
Dashboard
+
Logs
+
Performance
+
Sistema
+
+ +
+
+
+

📊 Statistiche Generali

+
+ Stato Sistema + + Online + +
+
+ Uptime + 0 giorni, 0 ore +
+
+ Richieste Totali + 0 +
+
+ Errori Totali + 0 +
+
+ Tasso di Errore + 0% +
+
+ +
+

🤖 Provider Attivo

+
+ Provider + Nessuno +
+
+ Modello + Nessuno +
+
+ Stato Connessione + + Non connesso + +
+
+ Chiamate Provider + 0 +
+
+ +
+

🔧 Utilizzo Strumenti

+
+
+ Strumenti Caricati + 0 +
+
+ Plugin Attivi + 0 +
+
+
+ +
+

💻 Risorse di Sistema

+
+ CPU + 0% +
+
+
+
+
+ Memoria + 0% +
+
+
+
+
+ Disco + 0% +
+
+
+
+
+
+
+ +
+
+

📋 Logs Recenti

+
+ +
+
+
+ +
+
+

📈 Performance

+
+ Tempo di Risposta Medio + 0s +
+
+ Richieste al Minuto + 0 +
+
+ Picco Richieste + 0 +
+
+ +
+
+
+ +
+
+

🖥️ Informazioni di Sistema

+
+ Hostname + - +
+
+ Piattaforma + - +
+
+ Architettura + - +
+
+ Python Version + - +
+
+ MaxClaw Version + 1.0.0 +
+
+
+ +
+ Ultimo aggiornamento: - +
+
+ + + + \ No newline at end of file