API des statistiques et KPI
Endpoints de statistiques, KPIs de flotte et export tidy-long des KPIs (CSV/JSON/XLSX) pour les agents LLM.
API des statistiques et KPI
Synapse expose des statistiques en lecture seule sur la santé des agents, l'usage de l'API, les tendances et les KPIs de flotte. Tous les endpoints acceptent un MindKey (Authorization: Bearer) ou un JWT utilisateur (requireMindOrUser).
Routes d'analyse existantes (voir la page /stats dans la WebUI) :
| Route | Objectif |
|---|---|
GET /stats/agent |
Vue d'ensemble de tous les agents (période : days) |
GET /stats/agent/comparison |
Comparaison entre agents |
GET /stats/agent/:mindName |
Statistiques détaillées d'un agent |
GET /stats/agent/:mindName/health |
Score de santé |
GET /stats/agent/:mindName/heatmap |
Carte de chaleur d'activité |
GET /stats/agent/:mindName/sessions |
Suivi des sessions |
GET /stats/api |
Usage de l'API (global) |
GET /stats/trends |
Séries temporelles |
GET /stats/chat/response-times |
Temps de réponse du chat |
GET /stats/a2a/flow |
Flux de messages A2A |
GET /stats/cron |
Analytique des crons |
GET /stats/team · /stats/backlog · /stats/activity · /stats/summary · /stats/fleet · /stats/monitoring |
Agrégats du tableau de bord |
GET /export/kpis
Export tidy-long des KPIs opérationnels (tâche 7418541b). La source de vérité des données est src/db/stats.ts — la couche d'export n'aplatit que, elle ne mesure rien elle-même.
GET /export/kpis?format=csv|json|xlsx&days=7| Paramètre | Valeurs | Défaut |
|---|---|---|
format |
csv · json · xlsx |
json |
days |
1–365 (fenêtre pour la vue d'ensemble des agents) |
7 |
Réponse :
format=json→{ generated_at, period_days, format: "long", columns, row_count, rows[] }format=csv→text/csv; charset=utf-8(RFC 4180, BOM, CRLF) en pièce jointeformat=xlsx→ classeur Excel (feuille uniqueKPIs) en pièce jointe
Colonnes tidy-long (identiques dans tous les formats) :
| Colonne | Signification |
|---|---|
kategorie |
Groupe de KPI : fleet, summary, backlog, activity, team, monitoring, agent_overview |
metrik |
Chemin de métrique aplati (ex. throughput.done_24h_total) |
wert |
Valeur scalaire (nombre, texte ou NULL quand seul detail porte des données) |
einheit |
value · count · text · json |
zeitstempel |
Horodatage ISO-8601 de génération de l'export |
quelle |
Fonction source dans src/db/stats.ts |
detail |
Payload JSON pour les tableaux/objets profonds, sinon vide |
Exemple :
curl -s -H "Authorization: Bearer $MIND_KEY" \
"https://synapse.schaefer.zone/export/kpis?format=csv&days=7" -o kpis.csvLa page /stats de la WebUI rend le même export sous forme de trois boutons de téléchargement (CSV/JSON/XLSX) dans la section « KPI export ».