
DfsyJian/dsh-snapshot
31最近提交 2026年8月15日
dsh-snapshot DSH 插件
dsh-snapshot 在 agent 每次 write/edit/delete 前自动保存文件内容,支持通过 /rollback 命令或侧边栏时间线面板恢复到任意历史快照。快照按用户消息分组,可一键撤回整组修改。
如何安装 dsh-snapshot DSH 插件
dsh plugin --profile web add dsh-snapshot复制不会执行命令。安装 dsh-snapshot DSH 插件前请核对仓库和版本。
dsh-snapshot DSH 插件数据来源
dsh-snapshot DSH 插件快照日期:2026年8月16日
discovered
dsh-snapshot DSH 插件能做什么
- 在 write、edit 和 shell 删除操作前自动快照
- 按用户消息分组快照,支持一键撤回整组
- 侧边栏快照时间线面板,显示文件统计和操作类型
- `/rollback` 命令支持可搜索的选择面板
- 可通过设置页或配置文件自定义快照存储目录、保留数量等
dsh-snapshot DSH 插件适合哪些场景
- 误删或覆盖文件后快速恢复
- 多次编辑后对比不同版本
- 回滚到对话历史中的某个特定节点
- 开始新任务前清空所有快照
dsh-snapshot DSH 插件适合谁
- 使用 DSH Web 进行 AI 辅助编程的开发者
- 需要为 agent 文件修改提供安全网的用户
dsh-snapshot DSH 插件的限制
- 需要预先安装 DSH web 和 pnpm
- npm 发布版宿主暂不支持设置页表单编辑,需通过配置文件修改
- 更新插件后需完全退出 DSH web、重启并硬刷新浏览器(Ctrl+Shift+R)以清除 bundle 缓存
dsh-snapshot DSH 插件的仓库 README 摘录
以下文字摘自 dsh-snapshot DSH 插件的上游仓库 DfsyJian/dsh-snapshot 的 README,版权归原作者,仅作引用。
**自动快照、一键回滚**的 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」,副行显示时间与「创建/修改/删除」的文件路径明细;输入序号、文件名或操作类型可即时过滤。 - 选中任意撤回项后先弹出风险确认条,确认后才执行回滚。 <div align="center"> <img src="docs/timeline1.png" alt="侧栏快照时间线" width="600" /> </div> - **配置卡片** 设置页「插件配置」中的 snapshot 卡片。布尔字段为二态开关,数字字段留空或点击「恢复默认」即可回退,
阅读完整 README仓库许可: MIT
dsh-snapshot DSH 插件常见问题
如何安装 dsh-snapshot?
在终端执行 `dsh plugin --profile web add dsh-snapshot`。如果没有全局 dsh 命令,可以用 `npx @deepseek-ai/dsh plugin --profile web add dsh-snapshot`。请确保已安装 pnpm。
如何回滚到之前的快照?
在输入框输入 `/rollback` 弹出选择面板,选择要撤回的快照组,或使用 `/rollback <序号> --yes` 命令。也可以点击侧边栏时间线面板中的某一行来撤回。
在哪里查看快照历史?
点击侧边栏底部的「快照」按钮打开时间线面板。每一行代表一次用户消息触发的快照组,显示文件修改统计。
如何配置插件?
可以在 DSH 设置页的「插件配置」中找到 snapshot 卡片进行编辑,也可以直接修改 `~/.dsh/settings.yaml` 或对应 profile 的 `cordis.yml`。具体配置项见 README 表格。
更新插件后不生效怎么办?
需要完全退出 DSH web(不只是关闭浏览器标签),重启后按 Ctrl+Shift+R 对浏览器进行硬刷新,清除旧的 bundle 缓存,否则新版本不会生效。