Dashboard
The dashboard is the Home tab in the command center. It provides a quick overview of your system without typing any commands.
OptimalOS now ships a single bundle that renders in two modes:
- Legacy mode (Pi,
optimal.miami) — the widget grid documented below. Same UI you've always used. - Fabric mode (Hetzner,
fabric.optimal.miami) — replaces the widget grid with the TOPO starmap. The Pi remains a paired-device node in this world.
The legacy services/sites tables below are still accurate for the Pi. If you're on the fabric origin, skip to Fabric mode dashboard.
Services
Shows the status of all systemd services with icons and clickable links:
| Service | Unit | Icon | Link |
|---|---|---|---|
| optimalos | optimalos.service | ▶ | optimal.miami |
| n8n | n8n.service | ⚙ | n8n.optimal.miami |
| strapi | strapi.service | ✎ | strapi.optimal.miami |
| cloudflared | cloudflared.service | ☁ | -- |
| optimal-discord | optimal-discord.service | ⬡ | -- |
Each service shows a green or red dot and its current state (running, dead, etc.). Services with URLs are clickable links that open in a new tab.
Sites
Checks the health of all deployed sites in parallel using HEAD requests with no-cors mode:
| Site | Host |
|---|---|
| optimal.miami | Pi |
| docs.optimal.miami | Pi |
| n8n.optimal.miami | Pi |
| strapi.optimal.miami | Pi |
| returnpro.optimal.miami | Vercel |
| carloslenis.com | Vercel |
| newsletter.op-hub.com | Vercel |
Each site shows a green dot (reachable) or red dot (unreachable). Sites render immediately with a dim dot, then update as health checks complete.
Sessions
Lists all tmux sessions running on the host (the Pi, in legacy mode). Each session shows its name, window count, and attached status. Each session has an attach button that opens a new terminal tab connected to that tmux session.
This is how you resume work across devices. Start a Claude Code session on your desktop, then attach to it from your phone later. In fabric mode, this cross-device flow is generalized — see Cross-device sessions.
Quick Actions
Buttons that open a new terminal tab and run a command, or open an external link:
| Action | Type | Target |
|---|---|---|
| New Shell | shell | Opens a fresh bash session |
| Board | command | optimal board view |
| htop | command | htop |
| Health Check | command | optimal infra health |
| Agent List | command | optimal agent list |
| Claude Code | command | claude |
| Gateway UI | link | claw.optimal.miami |
| Research | command | optimal content research status |
| Status Page | link | /status |
System Info
Shows extended system metrics by merging data from /api/system/info and /health:
- Host -- the Pi's hostname
- Uptime -- how long the Pi has been running
- Memory -- used/total RAM in MB with percentage
- Swap -- swap usage percentage
- Disk -- used/total disk space with percentage
- CPU Temp -- processor temperature in degrees Celsius
- Load Avg -- 1, 5, and 15-minute load averages
- Health -- aggregate status: HEALTHY (green), DEGRADED (yellow), or UNHEALTHY (red)
Research Pipeline
Shows the status of the content research pipeline:
- Last Scan -- when the last scrape ran (green dot if within the last hour)
- Insights -- total insight count
- Posts -- posted and draft counts
- Campaigns -- active campaign names
Falls back to "Research API unavailable" if the endpoint is down.
Active Tasks
Displays up to 10 tasks from the kanban board filtered to ready, in_progress, and blocked statuses. Each task shows:
- Priority badge (P1 red, P2 orange, P3 yellow, P4 gray)
- Status dot (green for in_progress, red for blocked, dim otherwise)
- Title
- Current status
Auto-Refresh
The dashboard refreshes automatically every 30 seconds when the Home tab is active. The Board tab also auto-refreshes on the same interval. You can switch away and come back to see fresh data.
Fabric mode dashboard
On fabric.optimal.miami, the Home tab renders the TOPO starmap instead of the legacy widget grid. TOPO is a topological view of the personal compute fabric — the cockpit at the center, paired devices as planets, active sessions as orbiting moons.
TOPO / NOW lane
The TOPO home mounts a vertical NOW lane above the activity drawer (commit 75cf5aa). It reads from /api/morning and surfaces the day's prioritized cards — per-card consume / demote actions, a Rerank trigger, and live updates via triage:updated WebSocket events. This replaces the legacy today widget entirely; the widget file (client/widgets/today.ts) was deleted in cleanup pass cc3e2ba.
MOTHER chat panel
The TOPO center node (the MOTHER bubble) is click-aware. Clicking it opens a streaming chat panel — desktop modal, mobile bottom-sheet — wired through the mother-llm harness adapter to a paired GPU device running Ollama (commit 4869422). Model picker covers qwen2.5-coder:7b, gemma2:9b, qwen2.5:14b, plus a free-text override. Cmd/Ctrl+Enter sends; STOP cancels via DELETE /api/sessions/:id. The bubble subtitle flips between online · <device> and offline · pair a GPU based on the freshest mother-llm-capable paired device.
Vault status
OptimalVault state surfaces through the auth flow rather than a dashboard widget — fresh sessions route through /vault/unlock, and recipient health (active vs revoked devices) is visible in the planet-detail drawer for each paired device. There is no separate "vault status" tile on TOPO; the working assumption is that if you reached the cockpit, the vault unlocked successfully.
Cross-device sessions
The Sessions tab in fabric mode lists sessions across all paired devices, not just the cockpit host. Each session row carries the device label, and the Sessions empty-state surfaces a Pair Device CTA when zero devices are paired (commit c5cc6c1). Resuming work across devices is the same flow as legacy tmux-attach, but now spans the fabric — see terminal.md for the live PTY relay.
Retired widgets
The following legacy dashboard widgets are gone in fabric mode — superseded by fabric ports or simply retired:
| Widget | Retired in | Replaced by |
|---|---|---|
today | cc3e2ba | TOPO NOW lane |
alerts, endpoints, system, gateway, openclaw-access, openclaw-visibility, cron | cc3e2ba | TOPO ports + drawers |
fuel (meter chrome + /api/fuel/state poll) | c5cc6c1, 5fbb156 | retired entirely; no replacement |
The endpoints API stays mounted server-side — fabric ports consume it. The fuel meter is the only outright removal; the rest moved into TOPO surfaces.