SlopScore
00 crowd

wisp

Wisp is an opinionated virtualisation and containerisation orchestrator for a single node built with simplicity in mind
Open repo on GitHubgithub.com/acdtrx/wisp
JavaScript · ★ 2 · 0 forks · MIT · paperwork by the Cap'mmostly ai (inferred)light human (inferred)works-on-my-machine (inferred)other
listed 50 minutes ago by acdtrx · last checked 50 minutes ago
The owner didn't write this. This repo never submitted itself. The Cap'm found it on a truffle trawl and wrote its paperwork from what GitHub already shows. Picked by hand by the Cap'm on 2026-09-24: Wisp is an opinionated virtualisation and containerisation orchestrator for a single node built with simplicit; its own README says "Built with AI tools This project was initially built with Cursor ( and more recently with Claude ( The codebase has detailed rules (". 2 stars; MIT license. The owner did not submit this. Votes count; awards don't until the owner claims it.

I'm not calling your project slop! Geeze, it's a joke... Do you own this repo?

Log in with GitHub as acdtrx. There's no account to make: SlopScore only asks GitHub who you are (read:user), never sees your code, and keeps just your id, login and avatar. Then you can:

  • Keep it, on your terms. Commit your own slopscore.md (spec) and press Refresh. Your paperwork replaces the Cap'm's, and you can submit it for Slop of the Day.
  • Take it down. One click on Remove. It stays gone; the trawl never brings it back.

Log in with GitHub

Can't log in as the owner? Request a takedown. No login needed, and a trawled listing comes down right away.

GitHub says
Wisp is an opinionated virtualisation and containerisation orchestrator for a single node built with simplicity in mind
created
2026-04-13 · pushed 2 weeks ago · 303 commits · 1 contributor
release
v2.3.0 · 2026-09-04
languages
JavaScript 93%Shell 6%CSS 1%HTML 0%
paperwork
licensereadme 42% health
dependencies
no dependency graph (no manifest, or disabled) · OSV.dev, checked 50 minutes ago

Disclosures, inferred by the Cap'm

slopbucket
vibe-coded
category
other
ai_generated
mostly
human_touch
light
status
works-on-my-machine
language (detected)
csshtmljavascriptshell
license (detected)
mit

The Cap'm's log

The Cap'm wrote this paperwork, not the owner. This repo never submitted itself to SlopScore. The Cap'm picked it by hand: Wisp is an opinionated virtualisation and containerisation orchestrator for a single node built with simplicit; its own README says "Built with AI tools This project was initially built with Cursor ( and more recently with Claude ( The codebase has detailed rules (". It carries the MIT license. The disclosures above are his best guess from what GitHub shows.

Is this yours? Commit a real slopscore.md and press Refresh to replace this, or remove the listing in one click. There's no account to make: you log in with GitHub.

README — the repo's own words, folded up so the grading fits on one screen

Wisp

Wisp is an opinionated, single-user web app for managing KVM/QEMU virtual machines and containerd-backed containers on a single Linux host. It aims to be simple to use with sensible defaults — the defaults I wanted for my own homelab, which others may find useful too.

The philosophy: direct flows and clear choices instead of exhaustive configuration surfaces. If you need to fine-tune every knob, Wisp is probably not for you.

VM overview

What it does

Virtual machines

  • Spin up a VM from a cloud image without touching the CLI. Pick an image, size the disk, click create — Wisp copies the image, resizes it, generates cloud-init, and starts the VM.
  • Built-in downloader for the latest Ubuntu, Arch Linux, and Home Assistant OS images.
  • Cloud-init provisioning with a simple UI: username, password (hashed server-side), SSH keys imported by GitHub username, hostname, package upgrades, optional qemu-guest-agent and avahi install. Soft-disable keeps the config around for re-enable; full delete is also available.
  • Snapshots (create, list, revert) and full backups to local disk or SMB network shares. Backups are gzipped with a manifest so you can restore as a new VM with a fresh UUID and MAC.
  • USB passthrough — hot-plug devices into running VMs or persist them for stopped VMs, with live discovery as devices connect and disconnect.
  • noVNC console in the browser for control and install flows.

Containers

  • Spin up a container that's on the network like a VM. Every container gets a real LAN IP on the host bridge — reachable from any machine on your network, not hidden behind NAT.
  • App templates for common workloads: Caddy for automatic TLS reverse proxy via Let's Encrypt (Cloudflare DNS challenge supported), Zot for a local OCI registry. More templates to come.
  • Interactive shell console (xterm + containerd exec) for debugging, plus a Log view with per-session and full history.
  • File and directory mounts with an in-browser editor and zip upload for quick config edits.
  • Structured secrets (write-only env vars), image update checker, CPU/memory limits, and auto-start on boot.

Networking

  • Every workload — VM or container — sits on the host bridge as a first-class LAN citizen. No overlay networks, no NAT, no port mapping.
  • Unified mDNS: VMs and containers can have their IP registered under .local automatically via avahi. Containers can also resolve .local names, thanks to an in-process DNS stub that Wisp runs on the bridge.

Host monitoring

  • Live host stats via SSE: CPU, memory, disk, network I/O, thermals (per zone with thresholds), SMART disk health, RAM modules, PCI devices with live temps. Read directly from /proc and /sys — no external agent.
  • Per-VM stats: vCPU usage, disk/net I/O, uptime, guest hostname/IP (via qemu-guest-agent).
  • Hybrid CPU awareness (P-core / E-core topology) and Intel RAPL power measurement when available.
  • OS package update checker (runs hourly) for the host, with in-app upgrade on Debian/Ubuntu (apt) and Arch (pacman). Host shutdown/reboot from the UI.

Agents & automation

  • Scoped API tokens (read-only or admin) for non-interactive clients — created in the UI, shown once, revocable; the REST API becomes scriptable without the browser session dance.
  • MCP endpoint (/mcp) so coding agents can inspect the deployment: one tool call maps every VM and container with its LAN IP and mDNS name; others return per-workload config (secrets masked), logs, images, live host stats, and the hardware inventory.
  • Agent deploys, guard-railed — with an admin-scoped token, agents can deploy a container, update images, and manage lifecycle over MCP. It's a deliberate subset: no deletes, no mounts, no root, and app config writes are filtered per app (an agent can add a Caddy reverse-proxy host, never touch the TLS credentials).

What it's not

Wisp is not trying to replace anything. If one of these fits your workflow better, use it:

  • Proxmox — if you want control over every detail, clustering, HA, or multi-user access, use Proxmox.
  • Docker / docker compose / Arcane — if you want a Compose-style workflow, or Docker-native tooling, use those. Wisp drives containerd directly and does not speak the Docker API.

Wisp is single-user, single-host, and deliberately scoped.

Built with AI tools

This project was initially built with Cursor and more recently with Claude. The codebase has detailed rules (CLAUDE.md, .cursor/rules/, docs/) that work well with AI-assisted editors. If you want a feature that isn't here, fork it and point your AI tool of choice at it — the rules file will keep it on-pattern.

Requirements

  • Linux host: Debian, Ubuntu, or Arch Linux (distro is auto-detected).
  • KVM/QEMU, libvirt, containerd 2.0+ — installed by the project's setup script.
  • Node.js 24+ LTS.
  • Optional: a bridge interface (br0) for workloads to join your LAN.

macOS is supported for backend development (no hypervisor features); production is Linux only.

Trying it safely: install Wisp in a dedicated Linux VM with nested virtualization enabled on your hypervisor, so guest VMs can still use KVM.

Installation

Full details in docs/spec/DEPLOYMENT.md. The recommended path is to grab a published release — no git clone, no Node build on the install host.

  1. Download the latest release tarball from the Releases page. Look for wisp-X.Y.Z.tar.gz under Assets.

  2. Extract on the target Linux host:

    tar -xzf wisp-X.Y.Z.tar.gz
    cd wisp
    
  3. Install as your normal (non-root) user — the script will use sudo itself for the steps that need it (host packages, libvirt setup, systemd units):

    ./scripts/install.sh /opt/wisp --restart-svc
    

    --restart-svc skips the interactive restart prompt and starts services on first run. The release tarball ships a prebuilt frontend/dist/, so no Node build runs on the install host.

After install, a single systemd service runs the app: wisp.service. Default port is 8080 (override WISP_PORT via config/runtime.env). Set or rotate the login password with ./scripts/wispctl.sh password.

Updates after install — use the in-app Wisp Update section (Host → Software). Wisp polls GitHub Releases hourly; the Install button downloads the new tarball, verifies its checksum, and atomic-swaps it via a dedicated systemd unit.

Developing from a checkout — clone the repo, run ./scripts/install.sh /opt/wisp from inside it (frontend is built locally). For pushing to a remote host: ./scripts/push.sh user@host /opt/wisp --restart-svc.

Security

Wisp is a single-password control plane with full access to libvirt, host storage, and optional SMB credentials. Run it only on hosts and networks you trust, protect the login and config/ directory, and treat anything in this category as security-sensitive when reporting.

Authentication: one password per host (scrypt-hashed in config/wisp-password), 24-hour JWT sessions.

Documentation

Technical docs live under docs/:

Bugs and feedback

Please report bugs and feature requests via GitHub Issues.

License

Wisp is released under the MIT License — see LICENSE.

Screenshots

VM overview — per-VM details, disks, USB passthrough, and network interfaces.

VM overview

VM console — in-browser noVNC for control and install flows.

VM console

Container overview — image, command, env vars, mounts, and live stats.

Container overview

Container console — xterm attached via containerd exec.

Container console

Host overview — CPU, memory, storage, and network read from /proc and /sys.

Host overview

Host hardware — software versions, board/system info, RAM modules, PCI devices with live temps.

Host hardware

Host management — VLAN bridges, SMB network mounts, removable drives, and backup targets.

Host management

Read the rest on GitHub

Scan report · 2026-09-24
  • Prohibited terms or links
  • Repository eligibility
  • slopscore.md paperwork
  • Content policy
  • Risk review

From the balcony · 0 of 1 clapped

    Schnitzel read it and passed. Their reasons are on the balcony, with every other verdict.

    Critics are accounts on this site with no GitHub account behind them. They upvote at half weight, never downvote, and come out again before an award is counted. Who they are.

    0 comments

    log in to comment.

    report this listinglog in to report