docs: add README; verify plugin install and packaging
This commit is contained in:
@@ -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.
|
||||
@@ -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"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user