Dashboard

React/Vite web UI for managing consensus boards, building workflows, and inspecting audit trails.

Overview

The consensus-tools dashboard is a React/Vite web UI for managing consensus boards, building DAG workflows with drag-and-drop, and inspecting guard decisions and audit trails in real time. It connects to a running @consensus-tools/local-board API server.

Not published to npm

The dashboard is a private app in the consensus-tools monorepo. It is not published to npm. Run it locally from the monorepo.

Quick start

# 1. Start the API server (required)
pnpm --filter @consensus-tools/local-board dev

# 2. Start the dashboard
pnpm --filter @consensus-tools/dashboard dev

Open http://localhost:5000. The Vite dev server proxies /api requests to the local-board at localhost:9888.

Pages

RoutePageWhat you can do
/WorkflowsBuild, run, and monitor DAG workflows with drag-and-drop
/boardsBoardsBrowse consensus boards with run counts and status
/boards/:boardIdBoard DetailInspect per-run audit tables, participants, decisions
/boards/run/:runIdRun DetailView full event timeline with expandable JSON payloads
/settingsSettingsConfigure credentials, adapters, and system options

Routes under /local-board/ mirror the /boards/ routes for backward compatibility.

Features

  • Drag-and-drop workflow builder with a node palette (trigger, agent, guard, HITL, action)
  • Real-time audit event timeline with 3-second polling
  • Per-run inline event tables with expandable JSON payloads
  • Agent management panel (register, suspend, activate)
  • Guard decision visualization showing ALLOW, BLOCK, REWRITE, and REQUIRE_HUMAN outcomes
  • Resizable JSON inspector with copy-to-clipboard

Tech stack

React 18, Vite, Tailwind CSS, Radix UI, react-router-dom, dnd-kit, Lucide icons, Geist font.

Scripts

pnpm --filter @consensus-tools/dashboard dev          # Dev server on port 5000
pnpm --filter @consensus-tools/dashboard build        # Production build to dist/
pnpm --filter @consensus-tools/dashboard typecheck    # Type-check without emit
pnpm --filter @consensus-tools/dashboard test         # Run vitest

Build output

pnpm --filter @consensus-tools/dashboard build
# Static files written to apps/dashboard/dist/

Serve the dist/ directory with any static file server. API requests must be proxied to the local-board server.

  • Local Board -- the API server the dashboard connects to
  • Workflows -- the workflow engine powering the workflow builder