diff --git a/README.md b/README.md
index cffadaef..c2dacbd7 100644
--- a/README.md
+++ b/README.md
@@ -34,6 +34,7 @@ Give this prompt to a coding agent to get Dispatch installed as a persistent ser
- Browser Feedback — a Chrome extension to select an element on any web page, comment, and send it with bounded DOM context and a cropped element screenshot to a running agent (paired under Settings → Connections).
- Slack notifications with focus-aware suppression.
- Activity analytics — heatmaps, daily status charts, working time by project.
+- Service resources dashboard — live CPU, memory, subsystem health, and workload metrics for the Dispatch server, agents, and host (Settings → Resources, opt-in collection).
- Token usage tracking by day, project, and model.
- Agent history with soft-delete preservation, filtering, and per-agent detail views.
- Release management — cut releases, deploy tags, and self-update from the UI.
diff --git a/apps/web/src/components/app/docs-pane.tsx b/apps/web/src/components/app/docs-pane.tsx
index 775cb12c..46669912 100644
--- a/apps/web/src/components/app/docs-pane.tsx
+++ b/apps/web/src/components/app/docs-pane.tsx
@@ -4,6 +4,7 @@ import {
ArrowDownToLine,
Bell,
Briefcase,
+ Gauge,
GitBranch,
Image,
Keyboard,
@@ -26,6 +27,7 @@ import {
NotificationsContent,
PersonalitiesContent,
PersonasContent,
+ ResourcesContent,
ShortcutsContent,
ToolsContent,
UpdatesContent,
@@ -44,6 +46,7 @@ export type DocsSection =
| "media"
| "browser-feedback"
| "notifications"
+ | "resources"
| "updates";
type SectionDef = {
@@ -132,6 +135,13 @@ const SECTIONS: SectionDef[] = [
title: "Notifications",
content:
+ Settings → Resources shows live health and resource + insights for the Dispatch server, its agent processes, dependencies, + and the host machine. An overall status badge sits next to the title; + when something is off, a Dispatch needs attention{" "} + card at the top explains why. +
++ Metrics collection is off by default. Turn on{" "} + Collect resource metrics to sample service health and + resource usage every 5 seconds, keeping up to one hour of history in + memory. Turning collection off clears the collected history, and + history also resets when Dispatch restarts — nothing is written to the + database. Both directions ask for confirmation. A window picker + switches the charts between the last 15 minutes and the last hour. +
++ Summary cards cover Dispatch's CPU (one-core percentage) and memory + (resident set plus JS heap), the agent process tree's combined CPU and + memory, database latency and connection-pool usage, event-loop and API + p95 latencies, and the host's free memory and load. Below them, CPU + and memory history charts plot Dispatch, agents, and host load over + the selected window. +
++ A workload card counts running agents, connected browsers, active + terminal views, scheduled jobs, and in-flight git refreshes; a + capacity card lists service uptime, database pool size, requests per + minute, and host CPU count. +
++ Each background subsystem — the API server, database, job schedulers, + UI event stream, terminal observers, agent reconciliation, activity + monitor, git diff refreshes, and the update checker — reports its own + status badge with run counts, failure rates, p95 durations, and a + recent-trend sparkline, so you can spot which part of Dispatch is + struggling rather than just that something is. +
+