Command Center

The live local console at 127.0.0.1:7878: what each panel shows, the Fleet live-context view, the consent handshake for on-demand compaction, and how to opt out.

The Command Center is a local web console at http://127.0.0.1:7878 that shows the entire mesh at a glance. The first claudelink-server to boot launches it; every later agent shares the same window. The page refreshes every two seconds.

The panels

PanelWhat it shows
Running serversEvery server process with PID, TTY, uptime, and role, with a per-row Kill button.
Registered agentsRole, status, sent and received counts, last-seen, and a per-agent auto-reply toggle.
HealthTotal agents, unread and total messages, bulletin entries, and a one-click Heal orphans for dead-agent rows.
Auto-nudgeGlobal on/off and the tick interval. It only fires for terminals that actually have unread mail.
Recent messagesA live feed of the last several messages across all agents, with priority and unread badges.
Fleet live context (v1.5.0)Per-agent context occupancy as a bar and percentage, $/turn at the agent's model price, handoff freshness, and last-signal age, sorted most-urgent-first. Per-row Copy prompt, Compact, and Clear.

Kill all servers in the header drops the whole mesh in one click.

Fleet live context

A long-running agent fills its context window, and every turn then pays to re-read all of it. The Fleet live-context panel reads each agent's own session transcript and shows the cost in the open: how full the context is, what re-sending it costs per turn at that agent's model price, whether the agent has a recent verified handoff, and how long since it last checked in. The numbers are per-agent and never cross-attributed, even when several agents share one repository, and a 1M-context window is detected from observed usage and scaled correctly.

Acting on a heavy terminal is a consent handshake, not a kill switch. Both the automatic threshold and the per-row Compact and Clear buttons run the same two steps. First ClaudeLink asks the agent to flush its handover and call signal_checkpoint. Only once the agent genuinely consents, with a fresh checkpoint that postdates the request, and is re-confirmed idle does ClaudeLink type /compact. Clear additionally refuses to fire without a verified handoff, since it is a full wipe. Nothing fires mid-work and nothing fires without a yes. Copy prompt instead copies a ready-to-paste message with that agent's live numbers filled in, for you to send by hand. Keystroke dispatch works for tmux and iTerm2.

Lifecycle

A lock file at ~/.claudelink/ui.lock prevents duplicate windows. The launcher spawns the console as a detached process so it outlives the agent that started it and survives MCP restarts. If a stale lock is found, with a dead PID and no heartbeat, a fresh console takes over automatically. It exits only when you click Quit UI.

claudelink ui          # start it manually
claudelink ui --stop   # graceful shutdown

Opting out

Set CLAUDELINK_UI=off in your environment before starting any agent CLI and the console will not launch. Messaging and the auto-nudge scheduler continue to work without it. The console binds to loopback only, so it is never reachable from outside your machine; see Security and privacy for the full posture.