Thanks to visit codestin.com
Credit goes to github.com

Skip to content

app: add monitoring dashboard#14528

Open
4RH1T3CT0R7 wants to merge 5 commits intoollama:mainfrom
4RH1T3CT0R7:feature/monitoring-dashboard
Open

app: add monitoring dashboard#14528
4RH1T3CT0R7 wants to merge 5 commits intoollama:mainfrom
4RH1T3CT0R7:feature/monitoring-dashboard

Conversation

@4RH1T3CT0R7
Copy link

@4RH1T3CT0R7 4RH1T3CT0R7 commented Mar 1, 2026

Summary

  • Adds a new /dashboard page to the Ollama desktop app showing real-time GPU and model monitoring info
  • Proxies /api/ps endpoint through the app UI server for running model data
  • Adds Dashboard navigation link in the sidebar (Windows) and system tray menu

Related PRs

This is Part 2 of 3 in the Ollama Desktop UI improvement series:

  1. PR app: add extended settings with tabbed UI #14526Extended Settings: Tabbed settings UI with ~22 new configuration fields (General, GPU, Generation, Network)
  2. This PR — Monitoring Dashboard: GPU/memory monitoring, loaded models, system tray extensions
  3. PR app: add model manager with batch ops, copy, and per-model settings #14531Model Manager: Full model CRUD, batch ops, copy/alias, per-model settings

Each PR is independent and can be merged separately. Together they transform the desktop app from a chat-only interface into a comprehensive Ollama management tool with full settings control, real-time monitoring, and model lifecycle management.

Changes

Area Files Description
Backend ui.go Proxy /api/ps endpoint
Frontend Dashboard.tsx New dashboard component with GPU cards, model cards, system info
Frontend api.ts getRunningModels() API function + ProcessModelResponse types
Route dashboard.tsx TanStack Router file route
Navigation ChatSidebar.tsx Dashboard link in sidebar
Tray menus.go, messages.go, eventloop.go "Dashboard..." menu item in Windows system tray

Features

  • GPU Devices: Shows GPU name, VRAM, library (CUDA/ROCm/Metal), compute capability, driver version
  • Loaded Models: Auto-refreshing list (5s polling) with VRAM usage bar, context length, parameters, quantization, keep-alive expiry countdown
  • System Info: Default context length, GPU count, loaded model count

Test plan

  • Open Dashboard from sidebar — verify GPU info matches system
  • Load a model via chat — verify it appears in Loaded Models with correct stats
  • Verify VRAM usage bar reflects actual GPU offload ratio
  • Wait for model expiry — verify it disappears from the list
  • Open Dashboard from Windows tray — verify it navigates correctly
  • Build passes: cd app/ui/app && npm run build
  • TypeScript check: npx tsc --noEmit

- New /dashboard route showing GPU devices, loaded models, and system info
- Proxy /api/ps through app UI server for running model data
- Dashboard link in sidebar and Windows system tray menu
- Auto-refreshing model list (5s polling via React Query)
- GPU card shows VRAM, library, compute capability, driver version
- Model cards show VRAM usage bar, context length, parameters, expiry
…dling

- Add description (GPU model name), available (free VRAM), and type
  (discrete/iGPU) fields to InferenceCompute struct across backend and
  frontend
- Parse additional fields from inference compute log lines
- Show GPU description as card title with discrete/iGPU badge
- Add VRAM usage progress bar with color-coded thresholds
- Fix formatBytes crash on negative/NaN values
- Clamp model VRAM percentage to max 100%
- Add error states for failed GPU and model queries
- Fix ProcessModelResponse type to include parent_model field
- Use InferenceCompute from gotypes instead of inline type
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant