DfsyJian/dsh-snapshot

DfsyJian★ 3TypeScriptLast synced: 2026-08-15

Open on GitHub

DeepSeek Harness plugin: automatic file snapshots with a sidebar timeline and settings card

README excerpt

简体中文 English 自动快照、一键回滚 的 DeepSeek Harness(DSH)Web 插件。 Agent 每次 write / edit 前自动保存目标文件内容,经 shell 执行删除(如 Remove-Item 、 rm )时也先保存被删文件内容,支持 /rollback 命令恢复到任意历史快照(类似 Trae 的 Checkpoint 能力)。 附带侧边栏 “快照时间线” 面板与 设置页配置卡片 。 功能 每次 write / edit 前自动快照目标文件内容;agent 经 shell 执行删除(如 Remove-Item 、 rm )时,先快照被删文件的内容再放行。所有快照追加进该会话的 snapshots.jsonl 。同一用户消息引发的所有快照自动归为一组: 时间线以「对话」为单位显示一行,撤回一行即整体还原该对话产生的全部修改 。 界面操作 - 快照时间线 侧边栏底部「快照」按钮点击打开面板,列出当前会话的快照历史。 - 一行 = 一次对话 :同一条用户消息引发的多次写入/编辑/删除合并为一行,显示该消息的预览与「创建/修改/删除」统计(如 创建 ×2 · 修改 ×1 ,只列出出现的类型; 按文件数统计 ,同一文件多次写入只计一次);仅改动一个文件时附上文件路径。 - 点击某行即 整体撤回该对话产生的全部修改 (撤回前自动记录当前状态,支持再次撤回)。 - 撤回某一对话后,其后的历史默认一并折叠(由 collapseOnRollback 控制)。 - 悬浮在行上可查看该对话涉及每个文件的「创建/修改/删除」路径明细;悬浮在时间上可查看完整时间。 - 面板底部左下角为「检查更新」入口(探测 npm 最新版本),右下角显示插件版本号。 - 头部「清空」按钮可二次确认后删除全部快照。 - /rollback 选择面板 在输入框直接输入 /rollback 即可弹出可搜索的选择面板(交互与 /model 一致),无需记忆子命令: - 顶部为「清空快照」命令项,二次确认后删除该会话全部快照。 - 下方每个快照一行「撤回至快照 N」,副行显示时间与「创建/修改/删除」的文件路径明细;输入序号、文件名或操作类型可即时过滤。 - 选中任意撤回项后先弹出风险确认条,确认后才执行回滚。 - 配置卡片 设置页「插件配置」中的 snapshot 卡片。布尔字段为二态开关,数字字段留空或点击「恢复默认」即可回退, 改动即时生效 。 命令操作 输入 /rollback 弹出选择面板;以下为完整的子命令语法: 安装 插件通过 dsh plugin 命令安装进 profile ( dsh web 对应 web profile),自动写入依赖与 bundle 列表,无需手动编辑: 💡 没有全局 dsh 命令怎么办? 未安装全局 CLI 时,可直接使用 npx …

View full README on GitHub →
Skins / UIdeepseek-harnessdshdsh-plugindsh-pluginssidebaragent

Category