DSH Hub
dsh-undo-savepoint cover

lire1131/dsh-undo-savepoint

dsh-undo-savepoint

UIWeb UI118 GitHub stars· updated 2026-08-22

DSH crash-rescue plugin: undo config & plugin-code changes, secret-safe snapshots, one-click SAFE MODE, plus offline CLI/GUI that work even when DSH won't boot.

Install

npx @deepseek-ai/dsh plugin --profile web add github:lire1131/dsh-undo-savepoint#master

Restart `dsh web` after install. Bundle APIs can change during the developer preview.

README badge

dsh-undo-savepoint DSH Hub badge
[![DSH Hub](https://dshhub.dev/badge/dsh-undo-savepoint.svg)](https://dshhub.dev/plugins/dsh-undo-savepoint)

Paste this into your README. The star count updates with every catalog sync.

From the README

Excerpt from lire1131/dsh-undo-savepoint, cleaned of badges and images.

dsh-undo-savepoint — DSH 撤销/回退系统

中文 | English | 更新日志

DeepSeek Harness (DSH) 打造的撤销/回退系统:装插件、换皮肤、改设置,自动保存即存档;手动保存随时存档;一键撤销 / 恢复 / 回退到任意版本。DSH 启动不了时,还有局外 WebUI / GUI / CLI 兜底。

还在为 DSH 崩溃而苦恼?还在担心小改动带来大灾难?配置与插件代码一键回滚、快照密钥脱敏、一键安全模式——DSH 挂了也能自救。

预览

会话头部:撤销 / 恢复 / 快照 / 对话撤回全部图标化 + 自动快照状态徽章(已存 24 份 · 3 小时前)
WebUI 快照面板:手动保存 / 撤销 / 恢复 / 清理 / 导出导入 / 安全模式,逐条「差异 / 回退到此版本 / 删除」DSH 设置「快照」独立栏目(自动保存 / 保留数量 / 敏感模式 / 插件白名单 / 定时快照)
局外 WebUI:崩溃横幅 + 撤销 / 重做 / 安全模式 / 诊断 / 对话撤回 / 设置,不依赖 DSH 运行(快照对比与设置见局外工具一节)

核心能力

能力说明
配置 + 插件代码一键回滚快照覆盖配置与用户插件代码树,改坏任何一处都能撤销(含 yield* 类纯代码事故);支持 undo / redo / 回退任意版本,WebUI / 对话 / 离线 CLI 三入口
消息级撤销按 AI 消息(或 60s 批次)记录工作区文件变更,一句话回滚「这条消息改了什么」(恢复原内容 / 删除新建文件);不依赖 git、不碰会话存储;「跟踪工作区目录」可在设置中配置(逗号 / 分号多选,非空时覆盖默认工作目录)
局内对话撤回对话头部「对话撤回」入口 + 消息级撤回面板,在 DSH 面板里即可撤回指定消息批次的文件改动
密钥脱敏 + 本机 vault.env / 凭据进快照自动脱敏(结构保留),导出 ZIP 零泄露;真实值存本机 vault,本机回滚完整还原
一键安全模式DSH 完全起不来时,禁用除撤销系统外所有插件保证能启动;自动快照 + 备份配置(profile / home 双级 patch 一并备份恢复,并中和 dsh.profile.bundles 里会导致启动器硬校验失败的条目),一键退出;家目录被重建 / 换机时残留状态自动降级不激活
崩溃归因上次异常退出时直接给出「最后正常快照」id + 一键回退按钮;按日志签名分类崩溃原因(session-corrupt / bundle-check / patch-tree),横幅给出对应处置建议
会话文件扫描修复undo_scan 扫描 <home>/sessions/**/session.jsonl.zstd:单帧布局违规(8/18 崩溃根因)可一键重编码修复(原件留 .bak + 隔离区副本),无法解码的只隔离不动;DSH 起不来时用 dsh-undo.ps1 scan [--fix] 离线处理(需 Node ≥22.15,Node 20 下降级为提示)
快照时间线(Time Machine)快照按日期分组卡片化(备注 / 标签芯片,尊重 prefers-reduced-motion)+ 文件级 diff(新增 / 删除行高亮、目录树导航、逐文件浏览)+ 一键回滚
快照管理备注 / 标签(undo_note,时间线可直接编辑)、定时快照(间隔制,自动建档 + 保留清理)、孤儿 blob GC(undo_compact,释放磁盘)、ZIP 导出 / 导入(可选 AES-256-GCM 加密,兼容 PowerShell 明文互操作)
一键诊断 undo_doctor检查快照目录可写性、blob 完整性(缺失 / 孤儿)、设置文件健康、快照规模分布,输出 ok / warn / err 结构化报告与修复提示
跨机迁移安全恢复前自动预检缺失插件并明确提示;快照可一键导出 / 导入 ZIP 迁移(见 docs/migration.md
局外急救DSH 挂了也能用:WebUI + GUI 窗口 + CLI + 桌面快捷方式,时间线 / 回滚 / 对比 / 安全模式 / 诊断一应俱全

基础能力(键盘快捷键、对话指令、自动清理、双模式保存、可配置参数等)见下文与更新日志

平台支持

v0.4.0 起核心抽取为纯 Node 零依赖模块(lib/core.mjs / lib/zip.mjs),外围按平台分发,Windows / macOS / Linux 三平台可用:

能力WindowsmacOSLinux
配置 / 插件快照、撤销 / 重做
局外 CLI / GUI✅(.bat / .ps1)✅(.command)✅(.sh)
局外 WebUI(undo-server)
文件选择对话框PowerShell 原生osascriptzenity → kdialog(都没有则回退手输)
CI 回归windows-latestmacos-latestubuntu-latest

CI 为三平台矩阵(windows/ubuntu/macos × node[20,22])。ZIP 导出 / 导入由纯 Node 零依赖 lib/zip.mjs 实现(deflate / 存储、CRC32、UTF-8),不引入运行时依赖,与 PowerShell 互操作已双向验证。

Logo / 图标:生成提示词见 docs/logo-prompt.md;WebUI favicon 用内置 tools/webui/logo.svg。自定义图标:透明 PNG 存为 tools/webui/logo.png,运行 node tools/make-ico.mjs tools/webui/logo.png tools/webui/logo.ico 生成 .ico,下次创建快捷方式时自动启用(回退顺序 logo.icologo.png → 系统默认)。

崩溃急救速查(按场景选工具)

Related plugins