← 返回
未分类

RTS Dashboard

RTS (Real-Time Strategy) style monitoring dashboard for OpenClaw. Provides a browser-based tactical command center with real-time visualization of agents, sk...
282059559donghui-prog
未分类 clawhub v1.0.0 100000 Key: 无需
★ 0
Stars
📥 401
下载
💾 0
安装

概述

RTS Dashboard

A StarCraft/C&C-inspired tactical command center for OpenClaw monitoring.

Agent Actions

Start Dashboard

When the user wants to open/view/launch the dashboard, or when visiting 127.0.0.1:4320 fails:

  1. Check if already running:

```powershell

Get-NetTCPConnection -LocalPort 4320 -ErrorAction SilentlyContinue

```

  1. If not running, start it in background:

```powershell

cd ""; node server.js

```

Use exec with background: true and yieldMs: 3000, then check logs to confirm ⚡ Online message.

  1. If node_modules/ is missing, run npm install first.
  2. Tell the user: http://127.0.0.1:4320 is ready.

Stop Dashboard

Get-NetTCPConnection -LocalPort 4320 | ForEach-Object { Stop-Process -Id $_.OwningProcess -Force }

Quick Start (Manual)

cd rts-dashboard
npm install
node server.js

Open http://127.0.0.1:4320 in browser.

Requirements

  • Node.js 18+
  • OpenClaw Gateway running (default port 18789)
  • ws npm package (auto-installed via npm install)

Features

  • Tactical map: Active agents as diamond nodes with orbiting skill dots and trail animation
  • Left panel: Full agent list + skill library with search
  • Right panel: System vitals (CPU/RAM), gateway status, event logs, selected target details
  • Agent detail: Model, current task, deployed skills, recent conversation
  • Skill detail: Description, use cases, related agents
  • Chat bar: Send messages to agents via Gateway WebSocket chat.send RPC
  • Cron jobs: Display scheduled tasks with status on the map
  • 5-min cooldown: Agents remain visible for 5 minutes after going offline (amber blink + countdown)
  • CRT scan line + radar sweep + grid: Full military-UI aesthetic

Configuration

Environment variables (all optional):

VariableDefaultDescription
--------------------------------
RTS_PORT4320Dashboard HTTP port
OPENCLAW_GATEWAY_PORT18789Gateway port
OPENCLAW_HOME~/.openclawOpenClaw home directory
OPENCLAW_GATEWAY_TOKEN(from config)Gateway auth token

Authentication

The dashboard implements Ed25519 device signing for Gateway WebSocket authentication:

  • On first launch, generates a keypair and saves to .device-keys.json
  • Signs each connect.challenge nonce using v3 protocol
  • Gateway token is auto-discovered from OPENCLAW_GATEWAY_TOKEN env var or gateway.auth.token in openclaw.json
  • Localhost connections are auto-approved by Gateway (no manual pairing needed)
  • No dangerouslyDisableDeviceAuth or allowInsecureAuth required

Cross-Platform

  • OpenClaw installation path auto-detected via require.resolvewhich/wherenpm root -g → fallback paths
  • Skill directories: ~/.agents/skills/ (user) + {openclaw}/skills/ (built-in) + {openclaw}/extensions/*/skills/ (extensions)
  • Agent/skill config parsed via JSON.parse (robust, no regex)
  • Works on Windows, macOS, and Linux

Gateway Requirements

The dashboard needs the Gateway to allow its WebSocket origin:

{
  gateway: {
    controlUi: {
      allowedOrigins: ["http://127.0.0.1:4320"]
    }
  }
}

This is the only Gateway config change needed. Apply with openclaw config set gateway.controlUi.allowedOrigins '["http://127.0.0.1:4320"]' or via the Control UI config panel.

Data Sources (refreshed every 3 seconds)

  • Agents: ~/.openclaw/openclaw.jsonagents.list
  • Skills: Filesystem scan of skill directories
  • Active sessions: .jsonl.lock files in ~/.openclaw/agents/*/sessions/
  • System vitals: Node.js os module (CPU delta sampling every 2s)
  • Gateway status: HTTP GET to gateway root
  • Cron jobs: ~/.openclaw/cron/jobs.json

File Structure

rts-dashboard/
├── SKILL.md          # This file
├── server.js         # Node.js server (HTTP + WebSocket)
├── package.json      # Dependencies (ws only)
└── public/
    └── index.html    # Single-file dashboard (HTML + CSS + Canvas JS)

版本历史

共 1 个版本

  • v1.0.0 当前
    2026-05-03 07:02 安全 安全

安全检测

暂无安全检测报告