This repository was archived by the owner on Apr 2, 2026. It is now read-only.
Add real-time web dashboard#8
Merged
ojongerius merged 4 commits intomainfrom Mar 27, 2026
Merged
Conversation
Embedded single-page dashboard at :8080 with: - Live tool call stream via Server-Sent Events - Session sidebar with risk indicators - Tool call table with policy/operation/risk filters - Intent chain visualization (temporal grouping) - One-click hash chain verification - Approve/deny paused tool calls from browser New files: - internal/web/ — HTTP handlers, SSE hub, embedded static files - internal/audit/queries.go — dashboard query methods (sessions, tool calls, intents, stats) No external dependencies added (pure stdlib SSE, no WebSocket library).
- cmd/beacon-traffic/ generates realistic MCP audit data across github, filesystem, and postgres servers for demo purposes - docs/dashboard.png captured from live dashboard with sample data - README updated with screenshot and demo traffic instructions
Remove redundant newline in fmt.Println call.
Cancel context and wait for handler goroutine to finish before reading ResponseRecorder, avoiding concurrent read/write race.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
:8080— single HTML file, no build step, no external dependenciesinternal/webpackageArchitecture
internal/web/server.go— HTTP handlers, SSE hub,go:embedstatic filesinternal/web/static/index.html— dark-themed single-page dashboard (vanilla JS, no framework)internal/audit/queries.go— query methods forListSessions,ListToolCalls,ListIntents,GetStatsinternal/proxy/proxy.go— broadcasts tool call events to SSE clients viaDashboard.Broadcast()Test plan
make buildsucceedsmake test— all existing + new tests passmake lintcleanhttp://localhost:8080, verify dashboard loads