Web dashboard
The browser dashboard is disabled by default. Enable it and restart the server:
mirmir config set server.web_enabled true
mirmir serve
Open http://127.0.0.1:8080/ui/.
What it exposes
- Dashboard shows live and historical throughput, prefill, decode, TTFT, memory, K/V occupancy, runtime counters, and recent activity;
- Models lists local snapshots, searches Hugging Face, and performs download, inspect, load, unload, and removal actions;
- Chat streams content and reasoning, accepts one image, exposes generation parameters, and reports request metrics;
- Settings shows effective values, their source, restart requirements, paths, raw TOML, and redacted secrets.
One WebSocket carries telemetry, model snapshots, configuration, startup readiness, and activity. The browser does not poll each view independently.
Models
Search Hugging Face by owner or model name and manage snapshots already present on the machine. Model actions use the same runtime queue and memory checks as the terminal and CLI clients.
Chat
Select a loaded model, optionally attach one supported image, adjust one-off generation parameters, and stream reasoning and final content independently. The footer reports TTFT, prefill, decode, and end-to-end throughput.
Settings
Each row shows the effective value, its source, and whether changing it requires a restart. Secrets are redacted and use dedicated mutation paths.
Local security boundary
The dashboard can only be enabled on a loopback HTTP bind. Opening it creates an
eight-hour local session in an HttpOnly, SameSite=Strict cookie. Mutations
also require a CSRF token held in page memory. The OpenAI bearer token is not
accepted as dashboard administration authority.
For remote programmatic access, keep the dashboard local and configure the HTTP API security boundary separately.