Skip to content

[Feature] Lightweight admin dashboard control center #761

@olegshulyakov

Description

@olegshulyakov

Summary

Add a first-class admin dashboard for llama-swap that gives local operators a lightweight control center for model/process state, routing visibility, logs, metrics, recent requests, and common model operations.

This should borrow the useful parts of oMLX’s dashboard pattern: fast local visibility, model management, stats, and setup guidance, without turning llama-swap into a full model studio.

Scope

Implement a dashboard landing view under the existing UI that shows:

  • server health, uptime, version/build info where available
  • running and configured model counts
  • currently running models and lifecycle state
  • recent model load/unload/swap/failure events
  • recent proxied requests with model, endpoint family, status, and duration where available
  • links into logs, metrics, request inspection, playground, configuration, and integrations

Add model operations from the dashboard:

  • load configured model
  • unload one running model
  • unload all non-protected running models
  • show pending/success/error state for operations

Add read-only configuration visibility:

  • configured models
  • aliases
  • TTL/process settings
  • upstream endpoint or assigned port where safe
  • redaction for API keys, auth headers, secret-like environment variables, and secret-like command arguments

Add lightweight integration setup guidance when llama-swap has enough configuration to generate it.

Non-Goals

  • Do not add model downloading or Hugging Face model management.
  • Do not add arbitrary command editing from the browser.
  • Do not attempt full oMLX-style runtime tuning such as sampling parameters, chat template kwargs, model type overrides, KV cache controls, or inference-engine memory controls.
  • Do not add backend-specific metrics unless they are exposed through a stable upstream API.

Acceptance Criteria

  • The dashboard renders useful partial data even if one backing API fails.
  • Running models are visually distinct from stopped models.
  • Recent failures are visible without opening logs.
  • Request overview never shows full request or response bodies.
  • Sensitive config values are redacted.
  • Dashboard controls are keyboard reachable.
  • UI remains fully local/offline-capable.
  • The dashboard feels lightweight and operational, not like a full model studio.

PRD.md
SPEC.md

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions