dsh-web
zhu1090093659/dsh-webDeepSeek Harness(DSH)Web 插件聚合生态包 · 一切皆插件,创意工坊分发(dsh-market.com)
KSG 纪代备份:DSH 内部备份插件,关闭自动保存快照、开机确认、单 zip 备份导出导入恢复、隔离自动恢复、多主流备份插件文件兼容
The automatic in-DSH backup manager — save on close · verify on boot · rollback in one click
简体中文 · English
DeepSeek Harness (DSH) config changes (install / update / toggle) can leave DSH unbootable — the thing you need most is "what it looked like before". Kidai Snapshot Guard runs inside DSH and automates the snapshot loop (save → verify → restore), sharing one store with the external Kidai Plugin Remote — so even when DSH can't boot, the external manager can still roll back.
Install and forget — starts with DSH, no setup needed; open 设置 → 纪代备份 to manage.
# Option A: direct from GitHub (once published)
dsh plugin --profile desktop add github:NokorinNishikino/kidai-snapshot-guard
# Option B: local development (from the kidai-plugin-remote checkout)
powershell -ExecutionPolicy Bypass -File scripts\install-guard.ps1
Restart DSH afterwards, then open 设置 → 纪代备份.
dsh plugin --profile desktop remove kidai-snapshot-guard
or manually: remove the kidai-snapshot-guard dependency and bundle entry from
profiles/desktop/package.json, then delete the
node_modules/kidai-snapshot-guard directory.
Standalone: KSG is a fully independent backup plugin — it works without Kidai Plugin Remote (auto snapshots, export, restore); the external manager is only an extra rollback entry for when DSH can't boot.
Then, inside DSH:
/kidai-snapshot slash command for a read-only summary.| Repo | Role | Runs where |
|---|---|---|
| kidai-snapshot-guard (you are here) | snapshots, pending→verified, isolation recovery | inside DSH |
| kidai-plugin-remote | external management & rollback UI | outside DSH |
| kidai-plugin-remote-client | same manager, native window, zero deps | outside DSH |
The store ($DSH_HOME/.kidai-snapshots) and the guard directory
($DSH_HOME/guard/) are shared: a snapshot saved here is visible and
rollback-able from the external manager, and vice versa.
exit-event light snapshot (config + settings, no package dirs) is the
universal fallback. Deduped within 30 s so one shutdown = one snapshot.verified; a rolling
known-good snapshot is maintained (pinned id) and refreshed when the
profile's plugin set changes (30 s watcher)./api/kidai-snapshot/* on the DSH webServer: status / list /
save / known-good / delete / export / exports / import / restore / foreign /
foreign-restore / settings / quota / meta / notice / note.kidai-snapshot-guard/
├── lib/
│ ├── index.js # plugin entry: boot hooks, close hooks, route registration
│ ├── backup.js # snapshot engine: create/export/import/restore, quota, isolation marker
│ ├── api.js # webServer routes under /api/kidai-snapshot/*
│ └── client.js # 设置 → 纪代备份 page (injected into DSH's settings)
├── cordis.patch.yml
└── package.json # dsh bundle manifest
MIT