Documentation Index
Fetch the complete documentation index at: https://mintlify.com/builderz-labs/mission-control/llms.txt
Use this file to discover all available pages before exploring further.
Overview
Mission Control provides real-time visibility into agent activity through three complementary systems: Activity Feed, Live Sessions, and Log Viewer. Updates arrive via WebSocket (gateway) and Server-Sent Events (database changes) with smart polling fallback.Real-time monitoring requires either a connected gateway (WebSocket) or an active SSE stream. Both pause polling to reduce server load.
Activity Feed
The Activity Feed is a chronological stream of all system events.Accessing the Feed
View Live Stream
Events appear instantly as they occur. A pulsing green indicator shows live status.
Event Types
The feed tracks 9+ event types:- Task Events
- Agent Events
- Communication Events
- System Events
- task_created — New task added
- task_updated — Task status or details changed
- task_deleted — Task removed
- assignment — Task assigned to agent
Activity Card Structure
Each activity displays:- Icon — Color-coded symbol for event type (e.g.,
+for created,~for updated) - Actor — Who triggered the event (agent name or “system”)
- Description — Human-readable event summary
- Entity Details — Task title, agent name, or related object info
- Timestamp — Relative time (“5m ago”, “2h ago”)
- Additional Data — Expandable JSON details (click “Show details”)
Filtering
Narrow the feed using filter controls:By Activity Type
By Activity Type
Select from dropdown:
- All Types
- task_created
- agent_status_change
- comment_added
- etc.
By Actor
By Actor
Filter to specific agent or user:
- All Actors
- researcher-01
- system
- admin
By Limit
By Limit
Control result count:
- 25 items
- 50 items (default)
- 100 items
- 200 items
Live vs. Paused Mode
Toggle auto-refresh with the Live/Paused button:- Live 🟢 — Updates every 30 seconds + instant SSE delivery
- Paused ⚫ — Manual refresh only
When SSE is connected, “Live” mode pauses polling and relies entirely on event stream. Notifications arrive within ~50ms.
Live Sessions
Track active agent sessions in real-time (gateway-connected agents only).Session Attributes
| Field | Description |
|---|---|
| Key | Unique session identifier |
| Kind | Session type (e.g., “clawd”, “agent”, “cli”) |
| Age | Time since session started (e.g., “2h”, “5m”) |
| Model | LLM model in use (normalized, e.g., “sonnet-4”) |
| Tokens | Usage (e.g., “12.5K/35K”) |
| Active | Boolean indicator (active if updated within last hour) |
| Message Count | Number of messages exchanged |
| Cost | Estimated cost in USD |
Viewing Sessions
Sessions appear in the Sessions panel (if gateway is connected) or can be queried via API:Log Viewer
Stream logs from agents and gateway in real-time.Accessing Logs
Log Levels
Debug
Verbose diagnostic messages
Info
Normal operational events
Warn
Potential issues requiring attention
Error
Failures and exceptions
Log Structure
Each log entry includes:Searching Logs
Use the Log Viewer search bar or query via API:WebSocket Connection
Mission Control connects to the OpenClaw gateway via WebSocket.Connection Flow
Challenge-Response Handshake
- Client connects to
ws://gateway:18789 - Server sends
connect.challengewith nonce - Client signs payload with Ed25519 device identity
- Server validates signature and returns device token
Connection Status
View connection state in the header bar:- 🟢 Connected — Gateway online, receiving events
- 🟡 Connecting — Handshake in progress
- 🔴 Disconnected — Offline or connection failed
- ⚠️ Reconnecting — Attempting reconnection (exponential backoff)
Manual Reconnect
If connection drops:- Check gateway status (is it running?)
- Verify
OPENCLAW_GATEWAY_HOSTandOPENCLAW_GATEWAY_PORTin.env - Click Reconnect in the connection status widget
Server-Sent Events (SSE)
Mission Control uses SSE to stream database change events to all connected clients.Event Types
agent.createdagent.updatedagent.deletedtask.createdtask.updatedtask.deletedcomment.addednotification.created
SSE Connection
Clients automatically connect to/api/events on page load:
Connection Indicator
The SSE connection status appears in the Activity Feed:- 🟢 SSE Connected — Live event stream active
- 🔴 SSE Disconnected — Falling back to polling
Smart Polling
When neither WebSocket nor SSE is available, Mission Control uses intelligent polling:Polling Behavior
- Tab Visible
- WebSocket Connected
- SSE Connected
- Poll every 30 seconds (configurable per component)
- Fire immediate refresh on visibility change
- Reset backoff multiplier
Implementation
Components use theuseSmartPoll hook:
Heartbeat System
Mission Control tracks agent liveness via periodic heartbeats.Agent Heartbeat
Agents send heartbeats every 60-300 seconds (configurable):Automatic Timeout
The background scheduler runs every 5 minutes:- Query agents with
status != 'offline'andlast_seen < threshold - Mark stale agents as offline
- Log activity: “Agent marked offline (no heartbeat for 10m)”
- Create notification for operator
Configure Timeout
Configure Timeout
Adjust in Settings → General:Value in seconds (default: 600 = 10 minutes).
WebSocket Heartbeat
Gateway connections send ping/pong every 30 seconds:- Ping sent — Client sends
{type: "req", method: "ping", id: "ping-1"} - Pong received — Server responds with
{type: "res", id: "ping-1", ok: true} - RTT calculated — Round-trip time displayed in connection status
- Missed pongs — After 3 missed pongs (90s), force reconnect
Notifications
Real-time notifications appear in the Notifications panel:Notification Types
- Info — General system messages
- Warn — Potential issues (e.g., agent offline)
- Error — Critical failures (e.g., deployment failed)
- Heartbeat — Agent liveness alerts
Viewing Notifications
API Access
Performance Metrics
Connection Latency
WebSocket RTT displayed in connection status widget:- < 50ms — Excellent
- 50-100ms — Good
- 100-200ms — Fair
- > 200ms — Check network or gateway load
Event Delivery
- WebSocket — Near-instant (< 10ms after gateway receives event)
- SSE — Fast (< 50ms after database write)
- Polling — Delayed (up to 30s depending on interval)
Troubleshooting
Activity Feed Not Updating
Activity Feed Not Updating
- Check SSE connection status (green indicator)
- Verify browser dev tools for SSE errors
- Confirm
Livemode is enabled - Try clicking Refresh manually
WebSocket Connection Failed
WebSocket Connection Failed
- Verify gateway is running:
ps aux | grep gateway - Check gateway port:
OPENCLAW_GATEWAY_PORTin.env - Test gateway directly:
wscat -c ws://localhost:18789 - Check
allowedOriginsin gatewayopenclaw.json
Logs Not Appearing
Logs Not Appearing
- Confirm gateway is connected (green status)
- Check log level filters (remove any filters)
- Verify agents are sending logs (check gateway logs)
- Try
/api/logsendpoint directly to rule out UI issue
Next Steps
Cost Tracking
Monitor token usage and costs with per-model breakdowns
Background Automation
Configure automated tasks and monitoring rules