Dashboard
Real-time visibility into plan execution, costs, traces, and configuration. 9 tabs, zero config, served at localhost:3100/dashboard.
The dashboard launches automatically when the MCP server starts. No separate install required.
Via MCP (auto-starts with VS Code)
// .vscode/mcp.json — auto-configured by setup
{
"servers": {
"plan-forge": {
"command": "node",
"args": ["pforge-mcp/server.mjs"]
}
}
}
Dashboard-only mode (no MCP stdio)
node pforge-mcp/server.mjs --dashboard-only # Dashboard → http://localhost:3100/dashboard # WebSocket → ws://localhost:3101
Live view of the currently executing plan. Each slice is rendered as a card showing its status (pending, executing, completed, failed), the AI model used, execution time, and token cost. The progress bar updates in real time via WebSocket events. Slices using API-based models like Grok display a purple API badge.
The Plan Browser panel lists all plan files in docs/plans/ with their status, slice count, and branch. Click Estimate to preview cost/token estimates or Run to launch execution directly. Expand Select slices to toggle individual slices on/off before running — unchecked slices are passed as --skip-slices.
Historical log of every plan execution with powerful filtering, sorting, and analysis tools.
j/k to move between rows, Enter to open detail, Esc to close.
Cumulative cost visualization across all runs. The donut chart breaks down spend by model, and the monthly bar chart shows cost over time. Data comes from cost-history.json.
The Cost Trend Line Chart plots per-run cost with a dashed average line. Points are color-coded: green (within 2× average), amber (2-3×), red (>3×). An Anomaly Detection Banner appears automatically when any of the latest 5 runs exceeds 3× the historical average — click to dismiss.
The Model Comparison table aggregates per-model performance: run count, pass rate (color-coded), average duration, cost per run, and total tokens. Export Cost downloads cost data as JSON.
One-click access to 11 forge operations. Run Smith (environment diagnostics), Sweep (TODO/FIXME detection with structured table view), Analyze (plan consistency scoring), Analyze (Quorum) (multi-model consensus analysis), Diagnose (multi-model bug investigation), Status (editable phase status with inline dropdowns), Validate (setup file checks), and Extensions (catalog browser). Results display inline below each card.
Create Branch creates a git branch from the plan's branch strategy. Auto-Commit generates a conventional commit from the current slice goal. Diff shows changed files color-coded against the scope contract — green for in-scope, yellow for out-of-scope, red for forbidden. The Sweep action now renders results as a filterable table with type badges (TODO, FIXME, HACK, STUB).
View and edit project configuration without touching files. Set the active preset, template version, enabled agents (Claude, Cursor, Codex, Grok), and default model routing. The API Providers section shows which external model providers are configured — set XAI_API_KEY to enable Grok models (grok-4, grok-3, grok-3-mini). The OpenBrain Memory section shows whether the OpenBrain MCP server is connected for persistent project memory. Changes save to .forge/config.json.
When OpenBrain is connected, the Memory Search panel lets you search project knowledge directly from the dashboard. Type a query and get matching memory entries rendered as cards with titles and excerpts.
OTLP-compatible execution trace viewer. Each plan run produces a trace with spans for every slice, gate check, and tool invocation. Select a run to see its full span tree with timing, status codes, and error details. Compatible with OpenTelemetry collectors for export to Jaeger, Zipkin, or Azure Monitor.
Quorum Visualization — when a run used quorum mode, a purple banner shows model legs, success rate, and dispatch duration. Slice spans show a 🔮 badge with leg counts. Click any quorum span to see a detail panel with complexity score, threshold, models dispatched, successful legs, dispatch duration, and reviewer cost.
Enhanced Span Attributes — clicking any span now renders a formatted attribute table (not raw JSON) with friendly labels, expandable log summaries, and structured event rendering with per-event attributes and severity coloring.
Monitor multi-step skill executions in real time. Skills like /code-review, /database-migration, and /staging-deploy emit step-level events via WebSocket. Each step shows its status (pending, running, completed, failed) with a progress indicator.
The Skill Catalog grid shows all available skills (both built-in and custom). Custom skills from .github/skills/ are tagged with a blue custom badge; built-in skills show a gray built-in badge. The catalog loads from the /api/skills endpoint.
Session replay for completed runs. Select any historical run and replay its execution timeline step by step. See exactly which slices ran, when gates passed or failed, and how costs accumulated. Useful for post-mortems, team reviews, and debugging failed executions.
Browse and manage community extensions directly from the dashboard. Each extension card shows the name, description, author, version, and what it provides (agents, instructions, prompts, MCP config). Cards include Install and Uninstall buttons — click to install or remove extensions without leaving the dashboard. Installed extensions show a green checkmark. Extensions are curated in the community catalog.
Port 3101 broadcasts real-time events — slice progress, cost updates, skill steps, trace spans. The dashboard auto-reconnects on disconnect.
Port 3100 serves the dashboard UI and exposes JSON endpoints for run history, cost data, config, traces, skills, and action execution.
Run history, cost records, and traces persist in .forge/ JSON files. Data survives server restarts and is scoped per project.
Press 1–9 to switch tabs, j/k to navigate rows, Enter to open details, Esc to close panels. Press ? to show all shortcuts.
Toggle between dark and light themes via the header button. Your preference persists in localStorage. Chart colors adapt automatically.
Dashboard adapts to tablet (1024px) and mobile (768px) breakpoints. Non-essential columns hide on smaller screens, and layouts switch from grid to stack.
Export run history as JSON or CSV from the Runs tab, or export cost data as JSON from the Cost tab. Filtered results export only matching runs.