> ## Documentation Index
> Fetch the complete documentation index at: https://docs.oneshotagent.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Dashboard

> Review candidates, drafts, replies and outcomes from one local dashboard.

```bash theme={null}
bun run cli -- ui [--dev] [--port 4000] [--no-browser]
```

The dashboard pages:

* **Home** — spend, reply-rate trend, in-flight cadences, and a scheduler strip showing each trigger's state, last run and next due
* **Queue** — triggers table (enable, edit config, fire) plus the target queue with bulk approve and per-play **Drain**; the pending review list can be ordered `newest` or `ranked` (finder-interleaved priority score with exploration slots — a toggle on the page, defaulted by `queueReviewOrder` in config)
* **Add Prospect** — paste a LinkedIn / X / GitHub URL; `deepResearchPerson` builds a dossier, the LLM picks an angle against your ICP and drafts an intro, and the row lands in the queue
* **Replies** — every reply matched to its prospect, play and cadence status from OneShot and connected Gmail identities; answer in place, by hand or LLM-drafted. Drafting is research-grounded: known prospects reuse their stored dossier, unknown senders get enriched + their site read (cached and receipted under `inbox-reply`), and replies may cite links from your product brief — never invented ones
* **Cadences** — stop, log outcome, preview the next step, batch send
* **Receipts** — paginated, with the memo and value chip per call; click through to the signed payload
* **Plays** — cards with channel badges, a Run button, and Copy CLI
* **Measure** — CAC and RoCS by time range, plus per-cadence spend vs tagged value grouped by goal
* **Setup** — founder profile, ICP, product brief (facts + the only links replies may cite, derivable from your site/repo/docs), LLM provider, wallet keys, sender identities, telemetry toggle
* **Run a play** (`/run/$playName`) — editable target rows, dry-run toggle, drafts streamed back over SSE with lint flags and receipt links

A floating strategist dock sits on every page: it reads your ICP and product one-liner and proposes trigger configs as confirmation chips (`POST /api/strategist/stream`, SSE).

Next to it is a **privacy toggle**. Flip it on and names, emails, companies and phone numbers render partially masked everywhere — enough to screenshot a receipt or a cadence without exposing a real contact. Costs, receipt IDs and every other figure stay untouched, since the numbers are the reason to show a receipt in the first place. Off by default, remembered per browser. It's readable obfuscation for screenshots, not secure redaction.

## Demo mode

Use `bun run cli -- demo seed`, then `bun run cli -- demo ui` for fictional prospects and outcomes in an isolated home. The demo scheduler idles; sends and paid actions are not mocked.
