dsh-snapshot:DeepSeek Harness(DSH)Web 插件:自动快照、一键回滚

前言

DSH 的插件通常按 profile 安装,社区目录是独立站点,不应理解为官方应用商店。在 DSH Web 中运行 Agent 时,Agent 可能会执行 write/edit,也可能经 shell 执行删除操作;一旦文件内容被改动,如何回到之前状态是一个很直接的问题。dsh-snapshot 提供自动快照和 /rollback 回滚能力。

这是什么

dsh-snapshot 是一个自动快照、一键回滚的 DeepSeek Harness(DSH)Web 插件。它会在 Agent 每次 write/edit 前保存目标文件内容;当 Agent 经 shell 执行删除(如 Remove-Itemrm)时,先保存被删文件内容再放行。插件支持 /rollback 命令恢复到任意历史快照,并提供侧边栏快照时间线面板和设置页配置卡片。

资料中的 GitHub 仓库地址为:

https://github.com/DfsyJian/dsh-snapshot

许可证为 MIT。已核实资料未提供目录页 URL;维护者线索存在不一致,安装前建议自行核对仓库、包元数据和源码。

核心功能

下面介绍已核实的能力。

  • Agent 每次 write/edit 前自动保存目标文件内容。
  • 经 shell 执行删除(如 Remove-Itemrm)时,先保存被删文件内容再放行。
  • 支持 /rollback 命令恢复到任意历史快照。
  • 侧边栏提供快照时间线面板,按对话分组显示,并支持整体撤回。
  • 设置页提供 snapshot 配置卡片;布尔字段为二态开关,数字字段可恢复默认。

安装

先确保机器已安装 pnpm,因为 dsh plugin 内部会调用 pnpm 安装依赖。

安装到 web profile:

dsh plugin --profile web add dsh-snapshot

如果没有全局 dsh 命令,可以用 npx 执行:

npx @deepseek-ai/dsh plugin --profile web add dsh-snapshot
npx @deepseek-ai/dsh web

更新插件版本时,在 profile 目录显式指定新版本:

cd ~/.dsh/profiles/web
pnpm add dsh-snapshot@<新版本号>

更新后需完全退出 dsh web 再重启,并在浏览器 Ctrl+Shift+R 硬刷新。

典型用法

/rollback 命令支持以下子命令:

/rollback list
/rollback <seq> --yes
/rollback --call <callId> --yes
/rollback clear --yes

这些命令分别用于列出快照历史、按序号整体撤回、按工具调用撤回单个快照、执行清空快照操作。

配置

配置均为可选,零配置可用。

已核实资料说明:设置页提供 snapshot 配置卡片;表单是否可编辑取决于宿主命名空间白名单。npm 发布版宿主暂未包含 snapshot 白名单,可能显示表单不可用。

也可以在配置文件中配置 snapshot

  • ~/.dsh/settings.yamlsnapshot:
  • profile 的 cordis.yml,例如 ~/.dsh/profiles/web/cordis.yml

已核实资料未列出具体配置项,本文不展开。

适用场景与注意

适合在 DSH Web 中跟踪 Agent 对文件内容的变更,并在出现错误修改后回到历史状态。使用前注意以下事项:

  • 插件以当前 dsh 进程权限运行;安装前应检查源码和许可证。
  • Node engines 要求 ^22.19 || >=24
  • 运行时依赖由 harness 宿主提供,包括 @deepseek-ai/cordis@deepseek-ai/dsh-settings 等 peer 依赖。
  • 设置页表单可能因宿主命名空间白名单不可用。
  • 更新后需完全退出 dsh web 再重启,并在浏览器 Ctrl+Shift+R 硬刷新。

结尾

dsh-snapshot 的价值比较直接:在 Agent 改动文件前留下快照,并通过 /rollback 命令和侧边栏时间线提供回滚入口。

GitHub:

https://github.com/DfsyJian/dsh-snapshot

已核实资料未提供目录页 URL,因此本文不提供该链接。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜