Product

Dashboard

Routes, surfaces, and interaction model for the agents web control plane

Visibility layer

The dashboard queues work, renders state, and keeps operators oriented. It intentionally does not replace the local execution loop.

The dashboard is the visibility layer for the agents ecosystem. It reads state from Convex, dispatches queued work, and lets you inspect the lifecycle of threads, sessions, skills, previews, annotations, and settings.

Core routes

RoutePurposeSource
/Activity summary plus cards for projects, sessions, skills, and actionsapps/app/src/app/page.tsx
/projectsProject registry with list/grid views and add-project entrypointsapps/app/src/app/projects/page.tsx
/projects/[name]Project detail with session rows and session drawer / overlay detailapps/app/src/app/projects/[name]/page.tsx
/threads/[id]Full thread transcript viewapps/app/src/app/threads/[id]/page.tsx
/skillsBuilt-in and custom skills catalogapps/app/src/app/skills/page.tsx
/previewsPreviews and annotations feedapps/app/src/app/previews/page.tsx
/searchSearch across threads, projects, skills, and sessionsapps/app/src/app/search/page.tsx
/settingsBackend, agents, appearance, and keysapps/app/src/app/settings/**
/installInstall instructions for the CLI and local agent OSapps/app/src/app/install/page.tsx

Interaction model

Overlays

Global overlays are mounted from apps/app/src/components/overlay-root.tsx and keep interactions fast without deep route stacks.

Drawers

Mobile drawers are powered by vaul and preserve the same information architecture on smaller screens.

Session detail

Project-session clicks open a detail surface that prefers transcript data and falls back to trace events when needed.

Skills

Skills open as an overlay inside the product shell rather than kicking users into a detached docs experience.

Keyboard shortcuts

The footer currently wires several global shortcuts:

  • + opens compose
  • / opens search
  • , opens settings

Source: apps/app/src/components/footer.tsx

Why this matters

The dashboard is intentionally not the orchestrator. It is the operator view over local-first execution. Work is queued in the web UI, but agents work is what actually runs sessions on a machine.