Skip to content

About

Dashboard for monitoring models usage and hardware performance for LM Studio on MacOs

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

LM Studio Dash

License: MIT Node.js

A single-machine dashboard for LM Studio. It periodically samples host and LM Studio state into SQLite, shells out to the lms CLI where needed, serves a React UI, and can optionally run an in-process HTTP proxy for OpenAI-compatible clients. Completion analytics are derived from lms log ingestion and dashboard chat paths, not from traffic observed only at the proxy.

Documentation Configuration HTTP API + OpenAPI Manual UI QA

Community

  • Contributing — dev setup, tests, and pull request expectations
  • Code of Conduct — community standards
  • Security — responsible disclosure
  • Changelog — notable changes between releases
  • License: MIT
  • CI: GitHub Actions — Lint (pre-commit), Test (Node 20 & 22: typecheck + Vitest), Production build (npm run build). Runs on pushes and pull requests to main or master; use Actions → CI → Run workflow for a manual run.

Screenshots

Overview dashboard Models page

Hardware metrics Activity analytics

More views (Chat, Downloads, Logs, Info, Settings) live under docs/images/ and in the UI overview.

What you get

  • Overview — reachability, sampler status, loaded models, runtime context at a glance
  • Models & Chat — lms inventory, load/unload, Hugging Face pulls, streamed chat via LM Studio
  • Activity & Hardware — completion telemetry and host metrics over selectable windows
  • Logs & Downloads — LM Studio log streaming and lms get output as SSE
  • Settings — API key, appearance, telemetry intervals, optional proxy, LAN bind (persisted where applicable)

Requirements

  • LM Studio on this host with the lms CLI discoverable (~/.cache/lm-studio/bin/lms, ~/.lmstudio/bin/lms, or PATH). Override with LMS_PATH in .env.
  • Node.js 20+ (Node 22 LTS is a sensible default). If the server exits on startup with a better_sqlite3 / .node / NODE_MODULE_VERSION error, see Troubleshooting below.

Quick start

cp .env.example .env
# Optional: set API_KEY when exposing the service beyond trusted localhost/LAN.
# Align LM_BASE_URL and PORT with your LM Studio and desired listen port.

make up          # install, build, start server in background, tail .lm-dash.log
# Ctrl+C stops only the log tail; use make down to stop the server.

make health      # curl /api/health (NET_PORT from Makefile / .env)

make down

Open http://127.0.0.1:8787 (or your PORT). If API_KEY is set, paste the same value under Settings in the UI so the browser sends X-API-Key, unless you rely on trusted loopback/LAN injection — see docs/api.md.

Development

make dev

Vite serves the client and proxies /api to the Fastify port (client/vite.config.ts); backend PORT must match .env.

Production-style run

make install
make build-native
npm start

Makefile

Run make help for all targets. Common flows: make up, make up-start, make logs, make down, make restart, make clean, make dev, make health. Background PID and log: .lm-dash.pid, .lm-dash.log (gitignored).

Testing

make typecheck
make test

Server tests: server/test/. Client tests: client/src/**/*.test.ts(x).

Troubleshooting

better-sqlite3 fails to load (server never listens on PORT)

The native addon was usually built for a different Node ABI than the one running npm start (typical right after a Node upgrade).

make rebuild-sqlite
make restart

Or manually: npm rebuild better-sqlite3 -w server. If rebuild fails, install Xcode Command Line Tools (xcode-select --install) or switch to Node 20/22 LTS with nvm / fnm, then run make install again.

Further reading

Environment variables, server-prefs.json, Apple Silicon collectors (macmon, powermetrics), LAN bind, and the optional completion proxy are covered in docs/configuration.md and docs/api.md so this file stays short.

About

Dashboard for monitoring models usage and hardware performance for LM Studio on MacOs

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages