docs: add README; verify plugin install and packaging

This commit is contained in:
2026-08-14 10:53:26 -06:00
parent 17c8ef885f
commit 7e3377f932
2 changed files with 65 additions and 7 deletions
+35
View File
@@ -0,0 +1,35 @@
# 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.
## 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.
+30 -7
View File
@@ -10,8 +10,15 @@
"Icon": "imgs/actions/inflight/icon",
"Tooltip": "Shows whether a model has a request in flight",
"PropertyInspectorPath": "ui/inflight.html",
"Controllers": ["Keypad"],
"States": [{ "Image": "imgs/actions/inflight/key", "ShowTitle": false }]
"Controllers": [
"Keypad"
],
"States": [
{
"Image": "imgs/actions/inflight/key",
"ShowTitle": false
}
]
},
{
"Name": "GPU Graph",
@@ -19,8 +26,15 @@
"Icon": "imgs/actions/gpu/icon",
"Tooltip": "Live GPU metric graph",
"PropertyInspectorPath": "ui/gpu.html",
"Controllers": ["Keypad"],
"States": [{ "Image": "imgs/actions/gpu/key", "ShowTitle": false }]
"Controllers": [
"Keypad"
],
"States": [
{
"Image": "imgs/actions/gpu/key",
"ShowTitle": false
}
]
}
],
"Category": "llama-watch",
@@ -29,8 +43,17 @@
"Description": "Monitor llama-swap: in-flight requests per model and live GPU metric graphs.",
"Icon": "imgs/plugin/icon",
"SDKVersion": 2,
"Software": { "MinimumVersion": "7.1" },
"OS": [{ "Platform": "mac", "MinimumVersion": "13" }],
"Nodejs": { "Version": "24" },
"Software": {
"MinimumVersion": "7.1"
},
"OS": [
{
"Platform": "mac",
"MinimumVersion": "13"
}
],
"Nodejs": {
"Version": "24"
},
"UUID": "com.bryce.llamawatch"
}