Dashboard Guide
The admin dashboard is organised around five top-level tabs.
Home
Renders a grid tile per service that exposes a web UI (admin.sock). Each tile
reflects the latest probe result — green for healthy, grey for unhealthy — and
links straight to the service’s own dashboard through the reverse proxy.
A banner at the top reflects the IP whitelist state: red when no IPs are whitelisted (the router accepts any source), green when enforcement is active.
Router
The full service catalogue. The left sidebar lists every discovered service with its current health dot. Click a service to open its detail pane, which has tabs for:
- OpenRPC — browse and try all JSON-RPC methods interactively.
- Preview — embed the service’s own UI directly in an iframe.
- Diagnostics — raw probe metadata, socket path, version.
- MCP — the Model Context Protocol gateway for AI tools.
- Sockets — all sockets registered by this service.
- Logs — recent routing error log entries for this service.
The Agent button (top-right) opens a multi-service chat where you can ask questions across all services. The agent discovers methods, generates and executes code, and returns a plain-language summary.
Terminal
An interactive nu shell running directly in the browser via xterm.js.
Sessions are not run by the router itself. The router submits a short-lived
job to hero_proc with tty: true and is_process: true, tracks the
resulting job, and proxies the WebSocket between xterm.js and hero_proc’s
PTY endpoint. Every session runs as the OS user that owns the hero_proc
process.
Admin
Two cards:
IP whitelist — add or remove the IPs allowed to reach the admin UI over
TCP. The list is persisted in the hero_proc secret store under
ADMIN_SECRETS so it survives restarts and is shared with other Hero admin UIs.
SSH authorized_keys — add, list, and remove SSH public keys for the OS
user running the router. Keys are validated and written atomically to
~/.ssh/authorized_keys.
Docs
In-app documentation compiled into the binary at build time. Updating the docs requires rebuilding the binary.