Dashboard Data Sources

Each dashboard card mapped to its Hermes Agent API source

Dashboard cards Hermes Agent data sources Hero metrics band Sessions • Tokens • API calls • Cost KPI tiles Attention marquee scrolling alert strip • incidents only Ops strip gateway • cron • platform health — one line Analytics chart token / cost time-series • recharts Analytics summary totals + period-over-period delta Cost ledger per-session cost breakdown • model pricing Token mix / hour input vs. output tokens over time Logs tail live agent log lines • SSE-streamed Sessions intelligence recent sessions • model • tokens • cost GET /api/analytics sessions, tokens, api_calls, cost — all with sparklines + deltas GET /api/session-status + /health gateway reachability • cron scheduler • alerts array GET /api/jobs running jobs + cron status for ops strip GET /api/analytics (time-series) daily buckets • tokens_in, tokens_out, cost, calls GET /api/analytics (cost breakdown) per-model cost • pricing table applied server-side GET /api/analytics (hourly token mix) tokens_in vs tokens_out per hour bucket SSE /api/logs live log event stream • EventSource • last 100 lines on connect GET /api/sessions session list with model, token counts, cost, created_at All REST endpoints polled via TanStack Query (auto-refetch every 30s)

REST polling (TanStack Query)

  • • /api/analytics — hero tiles, charts, cost, token mix
  • • /api/sessions — sessions intelligence panel
  • • /api/jobs — ops strip cron status
  • • Auto-refetch every 30 s; stale-while-revalidate

SSE live feeds

  • • /api/logs — log tail streams via EventSource
  • • /health — gateway reachability probe
  • • /api/session-status — alert feed for marquee
  • • SSE reconnects automatically on disconnect

Data flow

  • • All requests go to Hermes Agent on :8642
  • • Switch UI proxies via /api/hermes-proxy
  • • Analytics window defaults to 30 days
  • • Cost computed server-side using model pricing tables