Fellow GB10 owners — built this for myself after burning a weekend on SSH sessions, hand-edited YAMLs, and tail -f across tmux panes just to get one vLLM serve running. Open-sourced so the next person doesn’t lose the same weekend I did.
sparkd is a localhost dashboard that wraps eugr/spark-vllm-docker and turns the “I have a Spark, now what?” workflow into a few clicks. The headline idea: let AI do the part that actually makes the Spark feel intimidating — reading model cards, sizing recipes for your hardware, and splitting work across nodes correctly on the first try.
🤖 What the AI co-pilot actually does for you
-
Reads the Hugging Face model card automatically — architecture, parameter count, context length, dtype. You don’t paste anything.
-
Sees your hardware — per-node GPU model, VRAM, network interface, plus the total cluster topology if you’ve grouped boxes.
-
Writes a tuned vLLM recipe — correct
--tensor-parallel-size,--pipeline-parallel-size,--gpu-memory-utilization,--max-model-len,--distributed-executor-backend=ray, andNCCL_SOCKET_IFNAMEpinned to your IB iface. -
Optimizes existing recipes for throughput, latency, or whatever goal you give it — with a side-by-side diff and rationale for each change.
-
Suggests fixes when launches fail — hand it the error log, get a proposed
mods/patch. -
Bring your own provider — Anthropic, OpenAI, Gemini, Mistral, Groq, OpenRouter, Together, or a local vLLM endpoint. Keys live in your OS keyring.
🛠️ What the dashboard does around it
-
One-click launches on a single box or a multi-Spark cluster (tag boxes with the same
cluster=<name>and they group automatically). -
Multi-node “just works” — sparkd hands off to upstream
launch-cluster.sh, which scps the launch script to workers, starts Ray, and runs vLLM across the cluster. No new orchestration code — just no more keyboard-yoga. -
Smart recipe filtering — pick a target, the recipe dropdown narrows itself to ones whose
tp×ppmatches your node count. Toggle the chip row to override. -
Live log streaming, pause / inspect / restart / stop without leaving the dashboard.
-
Recipe versioning with side-by-side diff and one-click revert. Every save is a new version.
-
Full Hugging Face browser baked in — filter by task / library, sort by downloads / likes / recent, drop your HF token for gated repos.
-
Mods support — sync from upstream or author your own.
-
No cloud. No telemetry. No account. Runs on your laptop, talks to your Sparks over SSH, stores everything in
~/.sparkd/.
If it saved me a weekend, I figured it might save someone else one too. MIT licensed. Feedback, issues, PRs all welcome: