woshi-Tom/dsh-status-plugin

dsh status plugin; you can easily check the running status of the host and facilitate troubleshooting in case of failure.

dsh-status-plugin is a runtime status plugin in two planes. The Host plane registers three routes on the profile's web server: GET /api/status returns JSON health (process pid/uptime, CPU percent sampled from os.cpus() deltas, event-loop delay via perf_hooks, load average, system memory, working-disk usage df-style, webServer bind, API-key presence — never the value — and the live Cordis plugin inventory), GET /api/status/events is an SSE stream that pushes snapshots on a heartbeat and emits alert events when an indicator enters or leaves its alert band (CPU, Linux-aware memory pressure via /proc/meminfo MemAvailable, event-loop delay, disk), with hysteresis so values hovering near a threshold do not flap, and GET /api/status/config exposes the tunable thresholds. The Client plane shows a header badge in the web UI with uptime, a detail panel, and toasts when the host reports overload or memory-pressure alerts. LAN addresses are omitted by default for privacy (exposeLanAddresses opt-in); authToken and allowedOrigins harden the routes.

Other ★ 1 updated 2026-08-15 ⏳ pending
View on GitHub ↗

Install

dsh plugin --profile web add dsh-status-plugin

npm dsh-status-plugin 0.5.2 verified 2026-09-02 (repository field → github.com/woshi-Tom/dsh-status-plugin; README EN primary with zh edition). One-command install: dsh plugin --profile web add dsh-status-plugin — the manifest declares dsh.bundle.patch so the package joins the profile's bundle layer stack automatically; stop and restart the profile to load it. The client entry is declared via package.json → dsh.client and injected into the web app automatically — no bundle or overlay configuration needed.

Compatibility

DSH web profile (host ESM + browser bundle for the dsh client-modules ModuleLoader contract); TypeScript, tsc + esbuild.

Details

Recent updates

Host HTTP health endpoints + SSE alert stream; header badge + detail panel + alert toasts; CPU/memory/eventLoop/disk alert bands with hysteresis; API-key presence check (value never leaves the process); privacy-first LAN-address opt-in.

FAQ

What does the status endpoint report?
Process, CPU percent, event-loop delay, load average, system and working-disk usage, the webServer bind, whether an API key is configured (and where it was found — never the value), and the live plugin inventory.
How do alerts avoid flapping?
An alert only clears when the value drops below threshold x (1 - hysteresis); the SSE stream emits on transitions and re-synchronizes on connect so a page opened mid-alert still learns about it.
Is the API key exposed?
No — the check reports presence only; the value never leaves the process, and an empty assignment does not count as configured.

Alternatives

omdsh-dev/dsh-session-health · alingalingling/ui-status-label

More plugins in Other

Browse more in Other

Guides for Other plugins