Dashboard de stats de toutes les discussions avec Claude Code - Utilisation de tokens par jours, par modèles, etc
  • Python 58.3%
  • JavaScript 26.8%
  • CSS 8.2%
  • HTML 5.7%
  • Makefile 0.7%
  • Other 0.3%
Find a file
2026-07-24 12:14:57 +02:00
.forgejo/workflows fix: allow registry token override 2026-05-15 10:54:54 +02:00
claudecode_dashboard fix: refresh incompatible cached reports 2026-07-24 12:14:31 +02:00
docs docs: plan dashboard observability work 2026-07-24 11:57:08 +02:00
static feat: show MCP payload and tool reliability 2026-07-24 12:13:05 +02:00
tests fix: refresh incompatible cached reports 2026-07-24 12:14:31 +02:00
.gitignore chore: ignore local worktrees 2026-07-24 11:47:11 +02:00
docker-compose.yml chore: mount dashboard files in docker 2026-05-02 16:52:59 +02:00
Dockerfile feat: cache dashboard reports in sqlite 2026-05-02 16:33:15 +02:00
Makefile feat: add make targets for direct docker run 2026-05-15 10:16:41 +02:00
README.md feat: show MCP payload and tool reliability 2026-07-24 12:13:05 +02:00

Claude Code Dashboard

Dashboard local pour visualiser la consommation de tokens des sessions Claude Code.

Aperçu

Dashboard overview desktop

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.1 par défaut en local, 0.0.0.0 dans Docker
  • PORT : 8765
  • CLAUDE_ROOT : ~/.claude/projects en local, /data/claude/projects dans Docker
  • DASHBOARD_DB : .cache/dashboard.sqlite3 en local, /data/cache/dashboard.sqlite3 dans Docker

Volumes Docker

Le lancement Docker local monte :

  • ~/.claude en lecture seule pour lire les sessions Claude Code
  • ./claudecode_dashboard en lecture seule
  • ./static en lecture seule
  • le volume Docker dashboard-cache pour 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 dentrée, sortie, cache lu et cache créé
  • lusage 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 dagents
  • 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 lhistorique à chaque chargement. Si les fichiers Claude Code sont plus récents que la dernière synchronisation, linterface 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