36 lines
1.5 KiB
Markdown
36 lines
1.5 KiB
Markdown
# llama-watch
|
||
|
||
A Stream Deck plugin (macOS) that monitors a llama-swap instance.
|
||
|
||
## Actions
|
||
|
||
- **In-Flight Monitor** — per-model color state: `OFF` / `LOADING` / `IDLE` / `ACTIVE` (pulsing red). Powered by the real-time `/api/events` SSE feed.
|
||
- **GPU Graph** — live line chart of a GPU metric (utilization %, VRAM %, temperature, power draw, fan speed) for one GPU or all GPUs, sampled every 5 s.
|
||
|
||
Pressing either key opens `http://<base-url>/ui` in your browser.
|
||
|
||
## Install
|
||
|
||
Double-click the packaged `.streamDeckPlugin`, or run:
|
||
|
||
```bash
|
||
npm install
|
||
npm run build
|
||
streamdeck validate com.bryce.llamawatch.sdPlugin
|
||
```
|
||
|
||
## Develop
|
||
|
||
```bash
|
||
npm run watch # hot-reload while the Stream Deck app is running
|
||
npm test # unit tests (node:test + tsx)
|
||
```
|
||
|
||
## Configure
|
||
|
||
Per-key settings: base URL (default `http://localhost:9292`), optional API key, and the model / GPU / metric to watch. The model and GPU dropdowns are populated live from the instance. Each action instance is independent, so you can place several In-Flight Monitor keys (one per model) and several GPU Graph keys (one per GPU × metric) on the same profile. All keys share a single connection to the configured llama-swap instance, which is re-established automatically if you change the base URL or API key on any key.
|
||
|
||
## Marketplace
|
||
|
||
Assets are prepared for eventual submission (`imgs/plugin/icon.png` 256/512, action icons, category icon). The plugin only stores its settings locally; it reads GPU metrics and request status from the user's own llama-swap server and sends nothing elsewhere.
|