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,因此本文不提供該鏈接。

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

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

小夜