Skip to content

The dashboard

The dashboard at https://<your-org>.kapacitor.ai is where you live once sessions are flowing. This page is an orientation: what each surface shows, and what you’d open it for.

The dashboard is a single page with three regions:

  • Repository sidebar (left, collapsible) — every repo you have access to, grouped by GitHub org. Click one to filter the list view to that repo. Click “All repositories” to clear the filter.
  • Tab bar (top) — Agents / Sessions / Analytics. When a specific repo is selected, two extra tabs appear: Facts and Curation (per-repo signal). The active tab determines what fills the list view.
  • Split panel (right) — a list view on the left, a detail view on the right. The boundary is drag-resizable; the position is persisted in your browser.

URLs are canonical and shareable. https://<your-org>.kapacitor.ai/session/<slug> opens a specific session in the detail panel; the list view filters accordingly.

The default tab. Shows every session you have permission to see, newest first. Each row shows:

  • The session owner’s avatar and name
  • The repo (or “no repo” for sessions outside a git working tree)
  • The harness (Claude or Codex) and model
  • A compact stats row: token totals, tool calls, file changes, elapsed time
  • Live status — running, ended, errored — updated in real time via SignalR

Click any row to open the session detail. The detail panel has four tabs, each pitched at a different question.

Chat — what did the agent and I actually say to each other?

Section titled “Chat — what did the agent and I actually say to each other?”

A read-only reconstruction of the conversation, faithful to what the harness displayed at the time. User prompts, assistant messages, tool calls and their results, thinking blocks, and subagent invocations all render inline in the order they happened.

Every assistant turn and every subagent call carries its own token tally inline — input, output, cache reads, and cache writes — so you can see at a glance which exchange burned the budget and which subagent ran away. Hover any turn to see its wall-clock time and the model that produced it. This is the surface most reviewers spend their time in.

Events — what actually happened, in order, with what it cost?

Section titled “Events — what actually happened, in order, with what it cost?”

The append-only event stream that backs the session, newest first. Every hook fire, every tool call, every thinking block, every diff, every status change is a row, with the exact tokens spent and the time it took.

Use this when Chat doesn’t tell you enough — when you need to know that a Bash call took 47 seconds before it returned, when a hook ran and what it produced, the precise byte-level diff an Edit applied, or which turn the context window jumped on. Because events flow in newest-first and update live, watching this tab while a session runs is the closest thing to looking over the agent’s shoulder.

A turn-grouped, hierarchical view of the same data. Turns roll up the assistant message, its tool calls, and any spawned subagents into a single collapsible node, annotated with the model used and the tokens consumed for that turn. Expand a turn to see its children; expand a subagent to descend into its own trace.

Trace is the view to reach for when you’re trying to understand shape — where the long tail of cost lives, how deeply subagents nested, which turns triggered context compaction.

Repo, branch, PR linkage, ownership, visibility, harness, model, and evaluation results.

A flattened view of agent instances — every Claude / Codex / Cursor instance that has produced sessions, with the most recent activity surfaced. Useful when you want “what is everyone working on right now” rather than “what was the last session in this repo”.

Hosted agents (launched from the dashboard via your daemon) appear here too, with a Launch button on each daemon to start a new agent instance.

A placeholder. The tab exists in the bar but the content is “Analytics coming soon” — aggregate views across sessions (token spend, tool calls, evaluation trends) are on the roadmap, not shipped. Repo-scoped evaluation trends are available today on the per-repo Evaluation surface; see Evaluations.

Ingest is real-time with sub-second latency end-to-end. The CLI streams each event to your tenant as the agent emits it; the tenant projects it and pushes it to every connected dashboard over SignalR. From the moment a tool call returns in the terminal to the moment its row appears in the Events tab is typically well under a second.

In practice that means you can keep a session open in the dashboard while a teammate (or a hosted agent) is driving it and watch the conversation, the tool calls, and the token counter advance in lockstep with the terminal. New sessions appear in the list without a refresh. Token counts tick as the agent runs. The detail panel updates if someone else changes visibility on a session you have open.

If you see “Reconnecting…” in the corner, the SignalR connection dropped and is re-establishing. No action needed; missed events backfill on reconnect.

  • Repo sidebar filters by repo.
  • Tab bar filters by surface (sessions / agents).
  • The session list supports a free-text filter (top of the list panel) that matches repo name, owner, and slug.
  • For PR-linked sessions, the kapacitor review command gives you a structured query interface over the transcripts via MCP.