Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
openclaw-dashboard — 🔐 Dashboard di monitoraggio sicuro e in tempo reale per gli agenti AI OpenClaw. Autenticazione, TOTP MFA, monitoraggio dei costi, feed dal vivo, browser della memoria e altro ancora. | Kitploit
Strumenti/GitHubGitHub/tugcantopaloglu/openclaw-dashboard
Sicurezza dei ContenitoriAudit di ConfigurazioneSicurezza di ReteSicurezza CloudDevSecOpsRilevamento SegretiAutenticazioneRisposta agli IncidentiSicurezza delle API

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
Analisi dei Log
GitHubtugcantopaloglu/openclaw-dashboard

openclaw-dashboard

🔐 Dashboard di monitoraggio sicuro e in tempo reale per gli agenti AI OpenClaw. Autenticazione, TOTP MFA, monitoraggio dei costi, feed dal vivo, browser della memoria e altro ancora.

Vedi RepositorySito web
6981205 mesi faRevisionato da Kitploit
header

Dashboard degli Agenti OpenClaw

License: MIT Node.js OpenClaw

Una dashboard di monitoraggio bella, sicura e in tempo reale per gli agenti OpenClaw. Tieni traccia delle sessioni, monitora l'uso delle API, visualizza i costi, gestisci i file di memoria e controlla lo stato del sistema — tutto in un unico posto.

Dashboard Preview

📸 Screenshots

PanoramicaSessioniCosti
OverviewSessionsCosts
Limiti di VelocitàFeed in DirettaLog
LimitsFeedLogs

✨ Funzionalità

  • 🤖 Gestione Sessioni - Visualizza tutte le sessioni degli agenti con stato di attività in tempo reale
  • 📊 Monitoraggio Limiti di Velocità - Tieni traccia dell'uso delle API Claude e Gemini su finestre mobili
  • 💰 Analisi dei Costi - Ripartizione dettagliata della spesa per modello, sessione e periodo di tempo
  • ⚡ Feed in Diretta - Stream in tempo reale dei messaggi degli agenti su tutte le sessioni
  • 🧠 Visualizzatore di Memoria - Esplora e leggi i file di memoria degli agenti (MEMORY.md, HEARTBEAT.md, note giornaliere)
  • 📁 Gestore File - Visualizza e modifica file dell'area di lavoro, competenze e configurazioni con rafforzamento della sicurezza
  • 📈 Salute del Sistema - Monitoraggio CPU, RAM, disco, temperatura con sparklines
  • 🔄 Controllo Servizi - Azioni rapide per riavviare OpenClaw, la dashboard o altri servizi
  • 📋 Visualizzatore Log - Log di sistema in tempo reale con aggiornamento automatico
  • ⏰ Gestione Cron - Visualizza, abilita/disabilita e attiva manualmente i job cron
  • 🌐 Integrazione Tailscale - Visualizza stato, IP e peer connessi di Tailscale
  • 🎯 Mappa di Calore Attività - Visualizza le ore di picco di utilizzo negli ultimi 30 giorni
  • 🔥 Tracciamento Striscia - Monitora le strisce di attività giornaliere
  • 🔍 Ricerca e Filtraggio Sessioni - Filtra per stato, modello, intervallo di date con ricerca dal vivo
  • 🎨 Tema Scuro/Chiaro - Alterna tra modalità scura e chiara con preferenza persistente
  • ⌨️ Scorciatoie da Tastiera - Naviga rapidamente con tasti rapidi (1-7, Spazio, /, Esc, ?)
  • 📱 Reattivo per Dispositivi Mobili - Funziona su telefoni e tablet
  • 🔔 Notifiche del Browser - Ricevi avvisi quando i limiti di utilizzo si avvicinano
  • 📊 Vista Cronologia - Cronologia visiva dell'attività delle sessioni
  • 💾 Attività Git - Tieni traccia dei commit recenti nei tuoi repository
  • 🎛️ Scraper Utilizzo Claude - Recupera dati reali di utilizzo da Claude Code CLI
  • 🔷 Tracciamento Utilizzo Gemini - Monitora l'utilizzo dei modelli Google Gemini con ripartizioni per modello
  • 🔀 Cambio Fornitore - Alterna tra utilizzo Claude e Gemini sulla scheda panoramica

🚀 Avvio Rapido```bash

Clone the repository

git clone https://github.com/tugcantopaloglu/openclaw-dashboard.git cd openclaw-dashboard

Set your OpenClaw workspace path (optional, auto-detects if not set)

export WORKSPACE_DIR=/path/to/your/openclaw/workspace

Start the dashboard

node server.js

root@kitploit:~
Visita `http://localhost:7000` nel tuo browser. Al primo accesso, vedrai una **schermata di registrazione** in cui creerai il tuo nome utente e password. Dopo la registrazione, accedi con le tue credenziali.

## 📦 Installazione

### Prerequisiti

- **Node.js** v18 o superiore (verifica con `node --version`)
- **OpenClaw** installato e in esecuzione
- **Systemd** (opzionale, per l'installazione come servizio su Linux)

#### Dipendenze opzionali

| Strumento | Necessario per | Installazione |
|-----------|----------------|---------------|
| `jq` | Pagina di gestione Docker | `sudo apt install jq` |
| `tmux` | Scraper di utilizzo Claude CLI | `sudo apt install tmux` |
| `python3` | Parser di utilizzo Claude CLI | Solitamente preinstallato |
| `docker` | Pagina di gestione Docker | [docs.docker.com](https://docs.docker.com/engine/install/) |

### Installazione Manuale

1. **Clona il repository**   ```bash
   git clone https://github.com/tugcantopaloglu/openclaw-dashboard.git
   cd openclaw-dashboard
  1. Configurare l'ambiente (opzionale) ```bash export DASHBOARD_PORT=7000 export WORKSPACE_DIR=/path/to/your/workspace export OPENCLAW_DIR=$HOME/.openclaw export OPENCLAW_AGENT=main
    root@kitploit:~
  2. Avvia il server ```bash node server.js
    root@kitploit:~

Il server stamperà: ``` 🚀 Dashboard running on http://localhost:7000 🔑 Recovery token: abc123def456...

root@kitploit:~
**Salva il token di recupero** — ti servirà se dimentichi la password.

4. **Accedi alla dashboard**
Apri `http://localhost:7000` e registra il tuo account.

### Servizio Systemd (install.sh)

Per eseguire la dashboard come servizio di sistema con avvio automatico e ripristino in caso di crash:```bash
sudo ./install.sh

Questo farà:

  • Creare /etc/systemd/system/agent-dashboard.service
  • Creare configurazione override in /etc/systemd/system/agent-dashboard.service.d/override.conf
  • Abilitare e avviare il servizio
  • Impostare il percorso dell'area di lavoro e generare un token di recupero

Visualizza i log:```bash journalctl -u agent-dashboard -f

root@kitploit:~
### Docker```bash
# Build
docker build -t openclaw-dashboard .

# Run
docker run -d \
  --name openclaw-dashboard \
  -p 3001:3001 \
  -e WORKSPACE_DIR=/app/workspace \
  -e DASHBOARD_ALLOW_HTTP=true \
  -v ~/.openclaw:/home/node/.openclaw:ro \
  -v ~/.openclaw/workspace:/app/workspace \
  openclaw-dashboard

Per l'accesso alla pagina di gestione Docker, passa il socket Docker:```bash docker run -d
--name openclaw-dashboard
-p 3001:3001
-e WORKSPACE_DIR=/app/workspace
-e DASHBOARD_ALLOW_HTTP=true
-v ~/.openclaw:/home/node/.openclaw:ro
-v ~/.openclaw/workspace:/app/workspace
-v /var/run/docker.sock:/var/run/docker.sock:ro
--group-add $(stat -c '%g' /var/run/docker.sock)
openclaw-dashboard

root@kitploit:~
### Variabili d'ambiente

| Variabile | Descrizione | Predefinito |
|-----------|-------------|-------------|
| `DASHBOARD_PORT` | Porta del server | `7000` |
| `DASHBOARD_TOKEN` | Token di recupero per il reset della password | Generato automaticamente all'avvio |
| `WORKSPACE_DIR` | Percorso workspace di OpenClaw | `$OPENCLAW_WORKSPACE` o directory corrente |
| `OPENCLAW_DIR` | Directory di configurazione di OpenClaw | `~/.openclaw` |
| `OPENCLAW_AGENT` | ID agente da monitorare | `main` |
| `DASHBOARD_ALLOW_HTTP` | Consenti HTTP da IP non locali | `false` |

**Esempi:**```bash
# Custom port
DASHBOARD_PORT=8080 node server.js

# Custom recovery token
DASHBOARD_TOKEN=my_secret_token_12345 node server.js

# Different workspace
WORKSPACE_DIR=/mnt/data/openclaw node server.js

🔐 Autenticazione

Il dashboard utilizza l'autenticazione tramite nome utente e password con sessioni sicure lato server.

Registrazione per la prima volta

  1. Visita l'URL del dashboard (es., http://localhost:7000)
  2. Vedrai una schermata di registrazione
  3. Scegli un nome utente e una password
  4. Clicca su Registrati
  5. Accedi con le tue nuove credenziali

Accesso

  • Inserisci il tuo nome utente e la password
  • Spunta opzionalmente "Ricordami" per rimanere connesso per 3 ore (usa localStorage)
  • Senza "Ricordami", la sessione dura solo fino alla chiusura del browser (usa sessionStorage)

Sicurezza della Password

  • Hashing PBKDF2 — 100.000 iterazioni con SHA-512
  • Salt casuale — Unico per ogni password
  • Sessioni lato server — Le password non vengono mai memorizzate nel browser, solo token di sessione
  • Confronti sicuri contro attacchi temporali — Previene attacchi di temporizzazione sulla verifica della password

Limitazione delle Richieste

Per prevenire attacchi di forza bruta:

  • 5 tentativi di accesso falliti → Blocco soft di 15 minuti
  • 20 tentativi di accesso falliti → Blocco hard (richiede riavvio del servizio)
  • I limiti di richiesta sono in memoria e vengono resettati al riavvio del servizio

🔑 Autenticazione Multifattore (MFA)

Aggiungi un ulteriore livello di sicurezza con password monouso basate sul tempo (TOTP).

Abilitazione MFA

  1. Accedi al dashboard
  2. Vai alla pagina Sicurezza (barra laterale)
  3. Clicca su "Abilita MFA"
  4. Appare un codice QR — scansiona con la tua app di autenticazione:
    • Google Authenticator (iOS, Android)
    • Authy (iOS, Android, Desktop)
    • Microsoft Authenticator (iOS, Android)
    • 1Password, Bitwarden, o qualsiasi app compatibile TOTP
  5. Inserisci il codice di 6 cifre mostrato nell'app per verificare
  6. MFA ora è attiva! 🎉

Utilizzo di MFA

Una volta abilitata, ogni accesso richiede:

  1. Il tuo nome utente e la password (come di consueto)
  2. Un codice TOTP di 6 cifre dalla tua app di autenticazione
  • I codici si aggiornano ogni 30 secondi
  • Il dashboard accetta codici con tolleranza di ±1 finestra per deriva dell'orologio (30 secondi prima/dopo)

Disabilitazione MFA

  1. Vai alla pagina Sicurezza
  2. Clicca su "Disabilita MFA"
  3. Inserisci il tuo attuale codice TOTP di 6 cifre per confermare
  4. MFA ora è disabilitata

Reset di MFA (in caso di blocco)

Se perdi l'accesso alla tua app di autenticazione (telefono perso, app disinstallata, ecc.):

  1. Collegati via SSH al tuo server
  2. Esegui questo comando per cancellare il segreto MFA: ```bash node -e "const fs=require('fs');const c=JSON.parse(fs.readFileSync('/root/clawd/data/credentials.json','utf8'));delete c.mfaSecret;fs.writeFileSync('/root/clawd/data/credentials.json',JSON.stringify(c,null,2));console.log('MFA cleared')"
    root@kitploit:~
  3. Riavvia la dashboard: ```bash systemctl restart agent-dashboard
    root@kitploit:~
  4. Accedi solo con il tuo nome utente e password
  5. Riattiva l'MFA con un nuovo codice QR

Importante: Regola il percorso /root/clawd/data/credentials.json se il tuo workspace è diverso.

🔓 Recupero Password

Password dimenticata?

Se dimentichi la password:

  1. Clicca su "Password dimenticata?" nella schermata di login
  2. Inserisci il tuo token di recupero (vedi "Come trovare il tuo token di recupero" di seguito)
  3. Imposta una nuova password
  4. Accedi con la tua nuova password

Come trovare il tuo token di recupero

Il token di recupero (DASHBOARD_TOKEN) viene stampato all'avvio del server. Puoi trovarlo in diversi posti:

Controlla i log di avvio del server```bash

journalctl -u agent-dashboard | grep "Recovery token"

root@kitploit:~
[No content provided in the INPUT section.]```
🔑 Recovery token: 3e6b91f352418b486a9aa9d82fbbc1b1

Verifica Systemd Override Config```bash

cat /etc/systemd/system/agent-dashboard.service.d/override.conf

root@kitploit:~
Cerca:```ini
Environment=DASHBOARD_TOKEN=3e6b91f352418b486a9aa9d82fbbc1b1

Controlla la Variabile d'Ambiente

Se l'hai impostata manualmente:```bash echo $DASHBOARD_TOKEN

root@kitploit:~
### Cambiare la tua password

Per cambiare la password mentre sei loggato:

1. Vai alla pagina **Sicurezza**
2. Inserisci la tua **password corrente**
3. Inserisci la tua **nuova password**
4. Clicca su **"Cambia Password"**
5. Tutte le altre sessioni vengono invalidate (dovrai accedere di nuovo altrove)

### Reset completo dell'account (Opzione nucleare)

Se tutto è bloccato e non riesci ad accedere:

1. **Connettiti via SSH al tuo server**
2. **Elimina il file delle credenziali**:
```   ```bash
   rm /root/clawd/data/credentials.json
  1. Riavvia il dashboard: ```bash systemctl restart agent-dashboard
    root@kitploit:~
  2. Visita la dashboard — appare la schermata di registrazione
  3. Crea un nuovo account da zero

Attenzione: Questo cancella il tuo nome utente, password e impostazioni MFA. I file di memoria e i log di audit non vengono influenzati.

🛡️ Funzionalità di Sicurezza

La dashboard è costruita con le migliori pratiche di sicurezza:

  • Hashing delle password PBKDF2 — 100.000 iterazioni, SHA-512, sale casuale
  • Confronti a prova di temporizzazione — Previene attacchi di temporizzazione sulla verifica di token/password
  • Sessioni lato server — Token di sessione memorizzati in memoria, password mai inviate al browser
  • Limitazione del tasso — Limitatore di tasso unificato per tentativi di accesso (5 soft / 20 hard lockout)
  • Imposizione HTTPS — HTTP bloccato tranne da localhost e Tailscale (100.64.0.0/10)
  • Intestazioni di sicurezza:
    • HSTS — Forza HTTPS nelle visite future
    • CSP — Content Security Policy (nessuno script inline, stessa origine)
    • X-Frame-Options: DENY — Previeni clickjacking
    • X-Content-Type-Options: nosniff — Previeni MIME sniffing
    • X-XSS-Protection: 1; mode=block — Protezione XSS legacy
  • Registrazione audit — Tutti gli eventi di autenticazione e le azioni distruttive registrati in data/audit.log
  • CORS — Solo stessa origine, nessun wildcard (*) consentito
  • Validazione input:
    • Whitelist dei servizi per log e azioni
    • Protezione da path traversal per l'accesso ai file
    • Limiti di dimensione del payload (massimo 1MB)
  • Backup automatici — file .bak creati prima di sovrascrivere i file del workspace

🌐 Sicurezza di Rete

La dashboard è progettata per accesso locale o tramite Tailscale:

Metodi di Accesso Consigliati

  1. Localhost — Accesso dalla stessa macchina: http://localhost:7000
  2. Tailscale — Accesso dalla tua rete Tailscale: http://100.x.x.x:7000
    • Tailscale fornisce crittografia TLS automatica (MagicDNS + HTTPS)
    • Gli IP Tailscale (da 100.64.0.0 a 100.127.255.255) sono esenti dall'imposizione HTTPS
  3. Rete locale — Accesso dalla LAN (usa HTTPS o imposta DASHBOARD_ALLOW_HTTP=true)

Imposizione HTTPS

Per impostazione predefinita, la dashboard blocca l'accesso HTTP da IP non locali. Eccezioni:

  • Localhost (127.0.0.1, ::1)
  • IP Tailscale (100.64.0.0/10)

Per altre reti, la dashboard richiede HTTPS o l'intestazione X-Forwarded-Proto: https (da un proxy inverso).

Per consentire HTTP da tutti gli IP (non consigliato):```bash DASHBOARD_ALLOW_HTTP=true node server.js

root@kitploit:~
### Non esporre a Internet pubblica

**Questa dashboard NON è progettata per l'esposizione a Internet pubblica.** Sebbene disponga di autenticazione e limitazione delle richieste, è progettata per reti private. Se è necessario esporla:
- Utilizzare un proxy inverso (nginx, Caddy) con HTTPS
- Aggiungere una whitelist IP
- Considerare invece una VPN (Tailscale, WireGuard)

## 🛠️ Risoluzione dei problemi

### "Troppi tentativi falliti"

**Problema:** Vedi "Troppi tentativi di accesso falliti. Riprova più tardi."

**Soluzioni:**
- Attendere **15 minuti** affinché il blocco temporaneo scada
- Riavviare il servizio per cancellare i limiti di richiesta:  ```bash
  systemctl restart agent-dashboard
  • I limiti di velocità sono in memoria e si azzerano al riavvio

Impossibile accedere dopo il cambio della password

Problema: La tua password è stata cambiata ma non riesci ad accedere.

Soluzione: Utilizza la procedura "Password dimenticata?" con il tuo token di recupero per impostare una nuova password.

Codice MFA non funzionante

Problema: Il codice TOTP di 6 cifre viene rifiutato.

Soluzioni:

  • Assicurati che l'orologio del telefono sia sincronizzato:
    • iOS: Impostazioni → Generali → Data e ora → Imposta automaticamente
    • Android: Impostazioni → Sistema → Data e ora → Data e ora automatiche
  • I codici TOTP hanno una tolleranza di ±30 secondi per la deriva dell'orologio
  • Prova a inserire il codice successivo (aspetta 30 secondi che si aggiorni)
  • Se ancora non funziona, reimposta l'MFA tramite SSH (vedi la sezione "Resetting MFA")

Dashboard non si carica

Problema: Il browser mostra una pagina vuota o un errore di connessione.

Soluzioni:

  1. Controlla lo stato del servizio: ```bash systemctl status agent-dashboard
    root@kitploit:~
  2. Controllare i log: ```bash journalctl -u agent-dashboard -n 50
    root@kitploit:~
  3. Verifica porta: ```bash curl http://localhost:7000/api/auth/status
    root@kitploit:~

Dovrebbe restituire: ```json {"authenticated": false, "requiresRegistration": false}

root@kitploit:~
### "HTTPS required" error

**Problema:** Il browser mostra "HTTPS richiesto. Accedi tramite localhost, Tailscale, o abilita HTTPS."

**Soluzioni:**
- Accesso tramite **localhost**: `http://localhost:7000`
- Accesso tramite **Tailscale**: `http://100.x.x.x:7000`
- Imposta `DASHBOARD_ALLOW_HTTP=true` nell'ambiente (non consigliato):  ```bash
# Add to /etc/systemd/system/agent-dashboard.service.d/override.conf
Environment=DASHBOARD_ALLOW_HTTP=true

# Reload and restart
systemctl daemon-reload
systemctl restart agent-dashboard

Pagina vuota dopo l'aggiornamento

Problema: La dashboard mostra una pagina vuota dopo aver scaricato il nuovo codice.

Soluzioni:

  • Aggiornamento forzato: Ctrl+Shift+R (Windows/Linux) o Cmd+Shift+R (macOS)
  • Cancella la cache del browser per l'URL della dashboard
  • Controlla la console del browser (F12 → scheda Console) per errori JavaScript

📡 Riferimenti API

La dashboard espone un'API REST per l'accesso programmatico. Tutti gli endpoint richiedono autenticazione tramite l'intestazione Authorization: Bearer <sessionToken>.

Endpoint non autenticati

  • GET /api/auth/status — Verifica lo stato di autenticazione
  • POST /api/auth/login — Accedi con nome utente/password (+ TOTP se MFA abilitato)
  • POST /api/auth/register — Registra un nuovo account (solo se non esistono credenziali)
  • POST /api/auth/reset-password — Reimposta la password con token di recupero

Endpoint autenticati

Tutti gli altri endpoint richiedono autenticazione:

  • GET /api/config — Configurazione della dashboard
  • GET /api/sessions — Elenca tutte le sessioni degli agenti
  • GET /api/usage — Dati di utilizzo su finestra mobile di 5 ore
  • GET /api/costs — Dati di spesa per giorno, modello e sessione
  • GET /api/system — Metriche di salute del sistema
  • GET /api/memory-files — Elenca i file di memoria
  • GET /api/memory-file?path=<path> — Legge un file di memoria
  • GET /api/key-files — Elenca i file dell'area di lavoro (skill, configurazioni)
  • GET /api/key-file?path=<name> — Legge un file dell'area di lavoro
  • POST /api/key-file — Scrive in un file dell'area di lavoro (con backup)
  • GET /api/crons — Elenca i job cron
  • POST /api/cron/<id>/toggle — Abilita/disabilita un job cron

Per esempi dettagliati di richieste/risposte, consulta la versione precedente di questo README o esplora l'API nella scheda Rete del browser.

📂 File dei dati

La dashboard archivia i dati nella tua directory dell'area di lavoro:

Struttura del file delle credenziali:```json { "username": "admin", "passwordHash": "pbkdf2_sha512$100000$...", "salt": "...", "mfaSecret": "BASE32SECRET..." // Only if MFA enabled }

root@kitploit:~
## 🔗 Integrazione OpenClaw

La dashboard rileva automaticamente:
- **Sessioni** da `$OPENCLAW_DIR/agents/$AGENT_ID/sessions/`
- **Job cron** da `$OPENCLAW_DIR/cron/jobs.json`
- **File di memoria** da `$WORKSPACE_DIR/MEMORY.md`, `HEARTBEAT.md` e `memory/*.md`
- **Repository Git** da `$WORKSPACE_DIR/projects/*/`
- **Dati di salute** salvati in `$WORKSPACE_DIR/data/health-history.json`

### File Richiesti

La dashboard funziona meglio quando questi file esistono:
- `$WORKSPACE_DIR/MEMORY.md` - Memoria a lungo termine dell'agente
- `$WORKSPACE_DIR/HEARTBEAT.md` - Lista attività heartbeat
- `$WORKSPACE_DIR/memory/YYYY-MM-DD.md` - Note di memoria giornaliere
- `$WORKSPACE_DIR/scripts/scrape-claude-usage.sh` - Scraper utilizzo Claude
- `$WORKSPACE_DIR/scripts/parse-claude-usage.py` - Parser utilizzo Claude
- `$WORKSPACE_DIR/scripts/scrape-gemini-usage.sh` - Scraper utilizzo Gemini
- `$WORKSPACE_DIR/scripts/parse-gemini-usage.py` - Parser utilizzo Gemini

## ⌨️ Scorciatoie da Tastiera

| Tasto | Azione |
|-------|--------|
| `1` | Passa a Panoramica |
| `2` | Passa a Sessioni |
| `3` | Passa a Costi |
| `4` | Passa a Limiti di Velocità |
| `5` | Passa a Memoria |
| `6` | Passa a File |
| `7` | Passa a Live Feed |
| `8` | Passa a Log |
| `9` | Passa a Sicurezza |
| `Space` | Metti in pausa/Riprendi feed (quando nella pagina Live Feed) |
| `/` | Focus sulla casella di ricerca |
| `Esc` | Chiudi modali e overlay |
| `?` | Mostra aiuto scorciatoie da tastiera |

## 🤝 Contributi

I contributi sono benvenuti! Segui queste linee guida:

1. **Forka** il repository
2. **Crea** un ramo feature (`git checkout -b feature/amazing-feature`)
3. **Esegui commit** delle modifiche (`git commit -m 'Add amazing feature'`)
4. **Fai push** sul ramo (`git push origin feature/amazing-feature`)
5. **Apri** una Pull Request

### Configurazione di Sviluppo```bash
git clone https://github.com/tugcantopaloglu/openclaw-dashboard.git
cd openclaw-dashboard
export WORKSPACE_DIR=/path/to/test/workspace
node server.js

La dashboard non ha un passaggio di build — modifica server.js o index.html e ricarica.

Stile del codice

  • Nessun commento nel codice (autodocumentante)
  • Nomi di funzioni brevi e diretti

📄 Licenza

Licenza MIT - vedi il file LICENSE per i dettagli.

🙏 Riconoscimenti

  • Realizzato con Claude Code
  • Realizzato per OpenClaw
  • Ispirato dalle dashboard moderne (Grafana, Vercel, Railway)
  • Font: Inter e JetBrains Mono

📞 Supporto

  • Problemi: GitHub Issues
  • Twitter: @tugcantopaloglu

Realizzato con ✨ da Tuğcan Topaloğlu

Scarica lo strumento
  • 📊 Selettore per Modello - Scegli quale modello/finestra visualizzare (Opus, Sonnet, Pro, Flash, ecc.)
  • 🔄 Aggiornamento Automatico - Aggiornamenti dei dati in tempo reale ogni 5 secondi
  • 🌟 Statistiche Totali - Token totali, messaggi, costo dalla prima sessione
  • 📈 Cronologia della Salute - Sparklines di CPU, RAM, temperatura e utilizzo disco nelle ultime 24 ore
  • 🎯 Azioni Rapide - Manutenzione del sistema con un clic (aggiornamenti, pulizia, riavvii)
  • 🍎 Compatibile con macOS - Supporto completo per statistiche di sistema macOS, servizi e report di memoria
  • 🛡️ Dashboard di Sicurezza del Sistema - Regole UFW, porte aperte, fail2ban, log SSH, audit di sicurezza (richiede ri-autenticazione)
  • ⚙️ Editor di Configurazione - Modifica la configurazione di OpenClaw con validazione JSON, backup automatico e riavvio del gateway (richiede ri-autenticazione)
  • 🐳 Gestione Docker - Visualizza contenitori, immagini, utilizzo di sistema; avvia/ferma/riavvia contenitori; elimina risorse inutilizzate
  • 🔔 Centro Notifiche - Feed eventi log di audit con contatore di badge non letti (accesso, modifiche configurazione, eventi di sicurezza)
  • 🔐 Autenticazione Nome Utente/Password - Registrazione sicura con hashing password PBKDF2
  • 🔑 MFA TOTP - Autenticazione a due fattori opzionale (compatibile con Google Authenticator)
  • 💾 Ricordami - Solo sessione o login persistente di 3 ore
  • 🛡️ Sicurezza Rafforzata - HSTS, CSP, limitazione della velocità, confronti temporizzati sicuri, audit logging
  • 📦 Dipendenze Minime - Node.js puro, nessun database o pacchetti npm richiesti. Opzionale: jq (pagina Docker), tmux + python3 (scraper utilizzo Claude CLI), docker (gestione Docker)
  • POST /api/cron/<id>/run — Attiva manualmente un job cron
  • GET /api/logs?service=<service>&lines=<N> — Recupera i log di sistema
  • POST /api/action/<action> — Esegui azioni rapide (restart-openclaw, restart-dashboard, ecc.)
  • POST /api/claude-usage-scrape — Attiva lo scraping dell'utilizzo di Claude
  • GET /api/claude-usage — Ottieni l'ultimo utilizzo di Claude scaricato
  • POST /api/gemini-usage-scrape — Attiva lo scraping dell'utilizzo di Gemini
  • GET /api/gemini-usage — Ottieni l'ultimo utilizzo di Gemini scaricato
  • GET /api/live — Flusso di eventi inviati dal server (SSE) di messaggi in tempo reale
  • GET /api/notifications?limit=<N> — Eventi del registro di audit per il centro notifiche
  • POST /api/reauth — Riautenticazione per pagine sensibili (Sicurezza, Configurazione)
  • GET /api/openclaw-config — Legge il file di configurazione di OpenClaw
  • PUT /api/openclaw-config — Salva la configurazione con backup automatico e riavvio del gateway
  • GET /api/sys-security — Informazioni sulla sicurezza del sistema (UFW, porte, fail2ban, log SSH)
  • GET /api/docker — Elenca container Docker, immagini e utilizzo del sistema
  • POST /api/docker/action — Azioni Docker (avvia/ferma/riavvia container, pulizia)
  • GET /api/services — Elenca i servizi systemd
  • POST /api/services/action — Azioni sui servizi (avvia/ferma/riavvia, solo autorizzati)
  • FileScopo
    data/credentials.jsonNome utente + password hashata + segreto MFA
    data/audit.logTraccia di audit di sicurezza (rotazione automatica a 10 MB)
    data/health-history.jsonStorico CPU/RAM/Temperatura/Disk per sparkline
    data/claude-usage.jsonUltimi dati di utilizzo di Claude scaricati
    data/gemini-usage.jsonUltimi dati di utilizzo di Gemini scaricati