Agents
/dashboard/agents is the agent control center. The workspace cockpit's Agents tab renders the same view scoped to one workspace, so a filter and a fact mean the same thing in both places.
The list and the hierarchy
Agents are shown twice on purpose: as a nested list built from parentAgentId (so a screen reader gets real nesting and a child appears under the agent that spawned it) and as a flat table that names each parent. An agent whose parent is not on the page is attached to the root instead of disappearing.
Each row carries the agent's status, workspace, model profile, age, TTL, token use, cost, and cost-budget utilisation. A limit the runner never reported reads as Not reported rather than 0%, and an over-spend clamps at 100%.
One agent
Opening an agent shows four sections:
- Overview — status, profile, parent, start and terminal times, expiry, terminal reason, whether the outcome is unknown, and the proxy operations the agent may use.
- Usage — input and output tokens, cost, output bytes, tool time, wall time, and event count, each against its limit where a limit exists.
- Logs — a bounded, redacted tail. An oversized event is truncated with an explicit marker rather than silently dropped.
- Messages — steer a running agent or queue a follow-up. Each message carries a client-generated idempotency key, so a retry cannot double-deliver. Cancel cascades to every child agent and asks for confirmation first.
Filters
Status, workspace, parent agent, profile, and attention state. Filters are reflected in the URL, so a filtered view can be shared or reloaded.