feat(dashboard): LLM stats answer who/what spends tokens — member scope chips and spend breakdowns
Nightly Build / build (push) Successful in 4m27s
Nightly Build / build (push) Successful in 4m27s
The stats section was designed single-user: four global charts, no attribution. Request metadata rows now carry the session's source and the frame's agent_id/depth (additive ensure_column), denormalized at log time by the LoggingModel from the owner's pool — off the turn's hot path, degrading to NULLs, never to a lost row. The dashboard gains member scope chips filtering every chart, and a breakdown row splitting the range's billed tokens by member, kind (chat / sub-agents / cron / system agents / channels), agent, model and provider — a sub-agent's spend is attributed to the sub-agent itself. Rows predating the columns group under 'older data'.
This commit is contained in:
@@ -10,6 +10,13 @@ release PR may merge — and a section is closed at the commit that bumps it.
|
||||
|
||||
### Added
|
||||
|
||||
- The dashboard's **LLM stats** section answers "who and what is spending tokens", not
|
||||
just "how much": a row of member chips filters every chart to one person (or the whole
|
||||
instance, as before), and a new breakdown row splits the billed tokens of the selected
|
||||
range **by member, by kind** (chat / sub-agents / scheduled tasks / system agents /
|
||||
channels), **by agent, by model and by provider** — a sub-agent's spend is attributed to
|
||||
the sub-agent itself. Request metadata rows now carry the session's source and the
|
||||
frame's agent/depth, denormalized at log time; older rows group under "Older data".
|
||||
- The file viewer opens **word-processor documents** (`.docx`, `.doc`, `.odt`, `.rtf`):
|
||||
when LibreOffice is installed on the server they are converted to PDF and shown as the
|
||||
document, live-reloading when the file changes, exactly like a compiled `.tex`. A
|
||||
|
||||
Reference in New Issue
Block a user