- MonitorBridgeClient gains pushOpenClawMeta() method for POST /openclaw - OpenClawMeta interface defines version/plugin_version/agents payload - Plugin pushes metadata on gateway_start (delayed 2s) and periodically - Interval aligns with reportIntervalSec (default 30s) - Pushes are non-fatal — plugin continues if Monitor is unreachable - Interval cleanup on gateway_stop - Updated monitor-server-connector-plan.md with new architecture
1.8 KiB
1.8 KiB
Monitor Server Connector Plan
Current design
The plugin and Monitor communicate over a local bridge port (monitor_port / MONITOR_PORT).
Data flow
- Monitor → Plugin (GET): Plugin queries
GET /telemetryon the bridge for host hardware data. - Plugin → Monitor (POST): Plugin pushes OpenClaw metadata via
POST /openclawto the bridge. - Monitor → Backend: Monitor heartbeats to
POST /monitor/server/heartbeat-v2withX-API-Key, enriched with any available OpenClaw metadata.
Bridge endpoints (on Monitor, 127.0.0.1:MONITOR_PORT)
| Endpoint | Method | Description |
|---|---|---|
/health |
GET | Health check, returns monitor version and identifier |
/telemetry |
GET | Latest hardware telemetry snapshot |
/openclaw |
POST | Receive OpenClaw metadata from plugin |
Plugin behavior
- On
gateway_start, plugin begins periodic metadata push (aligned withreportIntervalSec). - Initial push is delayed 2s to allow Monitor bridge startup.
- If bridge is unreachable, pushes fail silently. Plugin remains fully functional.
- On
gateway_stop, periodic push is stopped.
No longer used
The following design has been retired:
- challenge UUID / RSA handshake / WebSocket telemetry
- Plugin-side
server/sidecar process
Heartbeat payload
{
"identifier": "vps.t1",
"openclaw_version": "OpenClaw 2026.3.13 (61d171a)",
"plugin_version": "0.2.0",
"agents": [],
"cpu_pct": 10.5,
"mem_pct": 52.1,
"disk_pct": 81.0,
"swap_pct": 0.0,
"load_avg": [0.12, 0.09, 0.03],
"uptime_seconds": 12345,
"nginx_installed": true,
"nginx_sites": ["default"]
}
openclaw_version, plugin_version, and agents are optional enrichment from the plugin. If plugin never pushes metadata, these fields are omitted and the heartbeat contains only hardware telemetry.