dsh-keepalive v0.2.8
Repair status page: when a web launch fails and a repair begins, the watchdog now serves a zero-dependency status page on the web port (default 3080) instead of leaving "connection refused". It shows the failure, the live repair phase (detected/snapshot/agent-running/verifying/relaunching), the repair agent's real stdout stream ([agent] lines plus the new [进度] progress lines the agent is asked to emit), and elapsed vs timeout time. On success the page auto-redirects back to the web UI; on failure it shows the agent's conclusion. The page is served by the watchdog itself (Node http, no deps) and is released before the final web relaunch to avoid EADDRINUSE.
Repair scope: the repair agent may now make minimal source fixes inside the dev-checkout root that owns the failing plugin (link:/file: directory deps) — e.g. add a missing variable declaration, fix an import, repair syntax. That root is content-snapshotted and rollback-capable; file deletion is forbidden by the prompt and rolled back if it happens. Junction-additions under link-target node_modules remain supported.
Headless repair prompt now requires a one-line [进度] stage report after each major step, streamed live to the status page.
Tests: 5 new snapshot-rollback scenarios (link-target source edit/add/delete/rollback) and a new repair-page suite (8 checks: status API, HTML, phase flow, progress, port release). Full suite: 158 passed.