Local-first · runs from your systray · no cloud

Master control for a machine that
runs real infrastructure.

Services, ports, tunnels, remote boxes, AI agents — HELM watches all of it, remembers every fix in an append-only journal, and teaches any new mind the whole system in a single call.

No accounts. No telemetry. No CDNs. Nothing leaves your box.

The services tab

Every service, its real status — and the fix one click away.

HELM checks each service on a loop and shows exactly what's up. Start, stop, or restart the ones it controls; the rest show why they can't be — and every one has 🔧 Fix by hand, a plain-language repair sheet that works with no AI at all.

Why it exists

When more than one mind maintains a machine, the classic failure is one of them "fixing" what the other built on purpose.

See everything

Every registered service, port, tunnel, feed, and remote endpoint — health-checked on a loop, with per-target history.

Track every touch

Agents and humans log what they touch, when, and why. A filesystem scanner catches whatever nobody logged.

📓 Never lose the why

An append-only maintenance journal. Every fix and decision, permanent by construction — no edit, no delete, ever.

Issues that manage themselves

A failing check opens an issue on its own and closes it on recovery. It reports; it never takes destructive action for you.

🖧 Off-box probes

Point the same loop at your VPS sites, tunnels, and feeds — watched the same as everything on the box.

Runs forever

Installed as a Windows service with a systray dot and full control. Starts with Windows; watches itself.

Built for humans and AI

One call teaches an agent the whole system.

HELM was built for operators who run CLI AI agents alongside classic services — and it serves both. The human gets a dashboard and a tray icon. The agents get a clean HTTP API and an onboarding endpoint that hands over the entire machine, its runbooks, and its live state in one request.

  • Ask before acting — the KB returns the runbook and live state together
  • Read the journal before you change; append to it after
  • Reads open on your LAN; writes need the local key
# one call, whole picture GET /api/onboarding # first move of every task GET /api/kb/ask?q=mycelium → runbook + live health, together # when you change something POST /api/journal { type:"fix", component:"…", text:"what + why" }

Modular by design

Breakers snap in. Yours or the community's.

A breaker is a small drop-in pack — a service's registry entry, its runbook, and its repair note in one folder. Drop it in; it shows as installed and you arm it with the toggle. Public ones get listed here; private ones just live in your config and never leave your box.

Services

Local NSSM / raw-node / TCP health, with one-click restart. core

🖧 Network

Live listeners & outbound, diffed against the registry — rogue ports stand out. core

🌐 Probes

Remote HTTP/TCP checks for your off-box sites and tunnels. core

📓 Journal & KB

Append-only history + a searchable knowledge base any agent can query. core

🜍 Mycelium Review Desk

Organic-reach review desk — a drop-in breaker. featured

+ Your tool here

Wraps in a plugin folder — routes, an optional tab, a runbook. Drop it in, arm it.

Honest by default

Free. Local. Yours.

No cloud, no account, no subscription, no telemetry. It runs on your Windows box and you control it from your systray. That's the whole deal — the control plane never phones home.

Windows 10/11Python 3.12 + NSSMself-contained GUIMIT-spirit, personal/internal

New here — few or no other operators yet. If you run a fleet and try it, tell us what breaks and it gets fixed.