Files
wehub-resource-sync f99010fae1
CI / lint (push) Failing after 1s
CI / frontend (push) Failing after 1s
CI / scripts (push) Failing after 1s
CI / Go Test (ubuntu-latest) (push) Failing after 0s
CI / frontend-node-25 (push) Failing after 1s
CI / docs (push) Failing after 0s
CI / coverage (push) Failing after 0s
CI / e2e (push) Failing after 0s
Docker / build-and-push (push) Failing after 1s
CI / integration (push) Failing after 4m43s
CI / Go Test (windows-latest) (push) Has been cancelled
CI / Desktop Unit Tests (Windows) (push) Has been cancelled
Desktop Artifacts / Desktop Build (Linux (arm64)) (push) Has been cancelled
Desktop Artifacts / Desktop Build (Linux) (push) Has been cancelled
Desktop Artifacts / Desktop Build (Windows) (push) Has been cancelled
Desktop Artifacts (macOS) / Desktop Build (macOS (aarch64)) (push) Has been cancelled
Desktop Artifacts (macOS) / Desktop Build (macOS (x86_64)) (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 12:30:36 +08:00

205 lines
7.3 KiB
Markdown

---
title: Stats
description: Experimental workspace analytics via agentsview stats
---
`agentsview stats` is a top-level CLI command added in 0.23.0 for
window-scoped reporting over your local session archive. It emits a
human-readable summary by default and can also emit JSON for scripts
and downstream tooling.
!!! warning "Experimental"
`agentsview stats` is experimental. The human-readable output is not
stable, and the exact JSON output may change in future releases.
Treat it as a moving surface and parse it defensively.
## What It Reports
The command pulls together several categories of information:
- **Session totals** — total sessions, human versus automation
sessions, total messages, total user messages
- **Session archetypes** — automation, quick, standard, deep, and
marathon buckets
- **Session shape** — mean duration, user-message counts, peak
context, and tools-per-turn
- **Velocity** — turn-cycle timing, first-response timing, and
messages per active hour
- **Tool, model, and agent mix** — top tool categories plus token
and session mix by model and agent
- **Claude-only optional sections** — cache economics, plan-mode
adoption, subagent activity, and skill counts when the window has
compatible data
- **Temporal activity** — active UTC-hour buckets plus the reporter
timezone
- **Git outcomes** — commit, LOC, file-change, and optional PR
totals for repos enclosing session working directories
- **Session outcomes** — aggregate counts, grade distribution,
retry rate, compactions per session, and edit churn. The raw
[four outcomes](/session-intelligence/#outcome-classification)
(`completed`, `abandoned`, `errored`, `unknown`) are rolled up
here into three buckets: `success` (= `completed`), `failure`
(= `abandoned` or `errored`), and `unknown` (= `unknown` plus
any unrecognized value). The rollup applies to both the human
summary and the JSON `outcomes` block.
- **Code attribution** — optional AI-authored code attribution from
host-local attribution sources such as Cursor.
## Automation Scope
As of 0.25.0, `agentsview stats` uses each session's stored
`is_automated` value as the authority for human versus automation
scope. That classification drives session totals, archetypes, the
`scope_human` distributions, and the human-scoped
`agent_portfolio` fields (`by_sessions_human`, `by_messages_human`,
`by_tokens_human`, and `primary_human`). `scope_all` still includes
every session in the selected window.
For the `user_messages.scope_human` distribution only, sessions with
fewer than two user messages are omitted from that distribution's
mean and buckets because the human bucket set starts at two user
messages. They still contribute to `scope_all` and to the session
totals according to their `is_automated` value.
## Usage
```bash
# Human-readable summary for the last 28 days
agentsview stats
# Fixed date range as JSON
agentsview stats --format json --since 2026-04-01 --until 2026-04-15
# Narrow to one agent and one project
agentsview stats --agent claude --include-project my-app
```
## Flags
| Flag | Default | Description |
|------|---------|-------------|
| `--format` | `human` | Output format: `human` or `json` |
| `--json` | `false` | Alias for `--format json` |
| `--since` | `28d` | Start of window, either a compact duration like `28d` or a `YYYY-MM-DD` date |
| `--until` | now | End of window as `YYYY-MM-DD` |
| `--agent` | `all` | Restrict to one agent, or leave as `all` |
| `--include-project` | | Repeatable project allowlist |
| `--exclude-project` | | Repeatable project blocklist |
| `--timezone` | local | Timezone used for temporal reporting |
## Data Scope
Session-derived stats summarize the selected window in the local
AgentsView archive. When the command talks to a local SQLite daemon, the
daemon answers from that same archive. If it falls back to a direct
read-only SQLite open, it reads the archive file directly.
Code attribution is different: it is not synced session data. When
present, the Cursor source in the `code_attribution.sources` array is
read live from the Cursor attribution database on the host answering
the stats request:
`~/.cursor/ai-tracking/ai-code-tracking.db` by default, or the path in
`AGENTSVIEW_CURSOR_ATTRIBUTION_DB`.
That means the Cursor source is machine-local. It is not aggregated
across synced machines, is not pushed to PostgreSQL, and is not available
from PostgreSQL read-only serving. Project filters cannot be represented
against Cursor's attribution database, so project-filtered stats include
a Cursor source with `status: "unsupported_filter"` instead of silently
reporting zero attribution.
## Human Output
The default human output is organized into named sections. Depending
on the data available in the selected window, you may see:
- `Totals`
- `Archetypes`
- `Session shape`
- `Velocity`
- `Tool mix`
- `Model mix`
- `Agent portfolio`
- `Cache economics`
- `Adoption`
- `Temporal`
- `Outcome stats`
- `Outcomes`
- `Code attribution`
Some sections are optional. For example, git-based outcome stats are
omitted when AgentsView cannot derive any repos from the sessions in
the selected window, and Claude-only sections are omitted when the
window has no compatible data.
## JSON Output
JSON output currently carries `schema_version: 1` and is divided into
top-level blocks such as:
- `window`
- `filters`
- `totals`
- `distributions`
- `archetypes`
- `velocity`
- `tool_mix`
- `model_mix`
- `agent_portfolio`
- `temporal`
- `generated_at`
Optional blocks may also appear:
- `cache_economics`
- `adoption`
- `outcome_stats`
- `outcomes`
- `code_attribution`
`code_attribution.sources` lists attribution sources that contributed to
the selected stats request. Each source carries `provider`, `scope`,
`status`, optional `warnings`, and provider-specific `metrics`. The
Cursor source currently uses `scope: "machine_local"`.
Current source statuses are `available`, `empty`, `unavailable`, `error`,
and `unsupported_filter`. Check a source's `warnings` before interpreting
missing metrics or zero counters as zero AI code activity. If an agent
filter excludes Cursor, the Cursor source is omitted. If no source
contributes, the whole `code_attribution` block is omitted.
Even though the JSON currently includes a version number, it is still
best to treat it as experimental and additive: expect new fields,
optional blocks, and formatting changes over time.
## Git And PR Aggregation
`agentsview stats` uses session working directories to discover git
repositories and then aggregates git activity for the configured
author in each repo.
That includes:
- commit counts
- lines added and removed
- files changed
Pull-request counts are optional and use CLI-oriented GitHub token
sources:
- If `AGENTSVIEW_GITHUB_TOKEN` is set, AgentsView uses it.
- Otherwise it tries `gh auth token`.
- If neither source yields a token, PR counts are omitted instead of
being reported as zero.
This distinction matters in JSON output: a missing PR field means
"GitHub lookup not configured", not "configured and zero PRs found".
## Relationship To Session Intelligence
[`Session Intelligence`](/session-intelligence/) is the per-session
surface for health scores, outcomes, and signal inspection.
`agentsview stats` is the aggregate surface: it summarizes the whole
archive over a window rather than explaining one session at a time.