- Python 58.3%
- JavaScript 26.8%
- CSS 8.2%
- HTML 5.7%
- Makefile 0.7%
- Other 0.3%
| .forgejo/workflows | ||
| claudecode_dashboard | ||
| docs | ||
| static | ||
| tests | ||
| .gitignore | ||
| docker-compose.yml | ||
| Dockerfile | ||
| Makefile | ||
| README.md | ||
Claude Code Dashboard
Dashboard local pour visualiser la consommation de tokens des sessions Claude Code.
Aperçu
Démarrage rapide
Avec Docker via Makefile
make run
Puis ouvrir http://127.0.0.1:8765.
Commandes utiles :
make build
make run
make logs
make stop
make rm
Avec l'image publiée dans la registry
docker run -d \
--name claude-code-dashboard \
--restart unless-stopped \
-p 8765:8765 \
-v "$HOME/.claude:/data/claude:ro" \
-v dashboard-cache:/data/cache \
forge.lclr.dev/thibaud-lclr/claude-code-dashboard:latest
Puis ouvrir http://127.0.0.1:8765.
Pour un lancement ponctuel avec logs attachés :
docker run --rm -it \
-p 8765:8765 \
-v "$HOME/.claude:/data/claude:ro" \
-v dashboard-cache:/data/cache \
forge.lclr.dev/thibaud-lclr/claude-code-dashboard:latest
Avec Docker Compose
docker compose up --build
Sans Docker
python3 -m claudecode_dashboard
Puis ouvrir http://127.0.0.1:8765.
Variables utiles
HOST:127.0.0.1par défaut en local,0.0.0.0dans DockerPORT:8765CLAUDE_ROOT:~/.claude/projectsen local,/data/claude/projectsdans DockerDASHBOARD_DB:.cache/dashboard.sqlite3en local,/data/cache/dashboard.sqlite3dans Docker
Volumes Docker
Le lancement Docker local monte :
~/.claudeen lecture seule pour lire les sessions Claude Code./claudecode_dashboarden lecture seule./staticen lecture seule- le volume Docker
dashboard-cachepour persister le cache SQLite
Les changements dans static/ sont visibles après refresh. Les changements Python nécessitent un redémarrage du conteneur.
Avec l'image publiée, seuls ~/.claude et le volume dashboard-cache sont nécessaires.
Données affichées
Le dashboard affiche :
- l’évolution quotidienne des tokens
- la répartition par modèle
- la répartition par projet
- les volumes d’entrée, sortie, cache lu et cache créé
- l’usage des outils et des requêtes web
- la fiabilité des outils (erreurs explicites et statuts inconnus) et le volume en caractères de payload MCP
- les sous-sessions d’agents
- des pistes d’économie basées sur les agrégats
Les prompts et le contenu des résultats ne sont pas stockés ni affichés. Le volume de payload MCP est compté en caractères de payload MCP, pas des tokens.
Cache SQLite
Le serveur garde le dernier rapport agrégé en SQLite pour éviter de relire tout l’historique à chaque chargement. Si les fichiers Claude Code sont plus récents que la dernière synchronisation, l’interface affiche les données en cache avec le bandeau Données pas sync, puis permet de relancer une synchronisation complète.
Tests
python3 -m unittest discover -s tests
