dsh-time-machine:DeepSeek Harness 工作區的撤銷按鈕

2026年10月19日,DeepSeek Harness(DSH)的插件生態愈發成熟。智能體在本地工作區進行文件編輯時,一旦出錯,回滾操作往往依賴於手動 Git 操作,成本較高。dsh-time-machine 旨在爲 DSH Web 工作區提供一個即時的“撤銷”功能。

dsh-time-machine 是一個由 icyaaaww 維護的插件,核心功能是保存智能體每一次工作區變更的快照,並提供可視化的回滾能力。

核心功能

該插件提供以下能力:
* 自動快照:自動爲每一次對話輪次創建檢查點,這些檢查點在進程重啓後依然存在。
* 可視化回滾:提供 Diff 預覽,支持選中特定文件進行恢復。系統會檢測後續編輯,防止衝突覆蓋。
* 恢復中斷:支持撤銷恢復操作本身,以及恢復因中斷而失敗的回滾。
* 非侵入式通知:恢復文件後,通過持久化收件箱通知智能體,不重寫聊天曆史。
* 零模型調用:快照查看和撤銷操作不需要調用大模型。
* 多語言 UI:提供中文和英文的 Web 界面。

安裝與啓用

該插件依賴以下運行環境:
* DSH 版本:0.2.1-alpha.1
* Cordis 版本:4.0.5-alpha.1
* Node.js:24+
* Git

安裝步驟如下:

  1. 從 Releases 下載 dsh-time-machine-0.1.0.tgz 到本地絕對路徑。
  2. 在 Web Profile 下執行安裝命令:
dsh plugin --profile web add /absolute/path/dsh-time-machine-0.1.0.tgz
  1. 安裝後重啓 Web 主機(Desktop 環境請使用自帶的插件管理)。

典型用法

插件支持命令行指令和圖形界面兩種操作方式。

命令行指令:
* /time_machine:查看當前會話的時間線。
* /time_machine preview <id>:查看指定輪次的變更預覽。
* /time_machine undo <preview-token>:基於預覽令牌執行撤銷。
* /time_machine name <id> <label>:爲檢查點命名。
* /time_machine recover:恢復中斷的回滾操作。

圖形界面操作:
當智能體修改了本地 Git 工作區後,在編輯器旁邊選擇 Open change timeline。Inspect 一個回合,可選則單個文件並刷新預覽,然後明確確認撤銷。

配置說明

time-machine 配置行接受以下參數(默認值):
* storageRoot:存儲根目錄,默認 $DSH_HOME/plugins/time-machine 或 ~/.dsh/plugins/time-machine。
* maxFileBytes:單文件最大字節數,默認 2 MiB。
* maxFiles:單次快照最大文件數,默認 5,000。
* maxStoreBytes:單個倉庫最大存儲字節數,默認 512 MiB。
* maxRecords:單個倉庫最大記錄數,默認 2,000。
* timeoutMs:操作超時時間,默認 30,000。
* maxDiffChars:Diff 預覽最大字符數,默認 60,000。
* previewTtlMs:預覽令牌有效期,默認 300,000(5 分鐘)。

限制與注意事項

  • 運行環境:僅在 Windows 上經過測試,需要本地 Git 倉庫和受限的 UTF-8 文本文件。
  • 排除內容:二進制文件、超大文件、符號鏈接、被 Git 忽略的未跟蹤文件、嵌套倉庫內容不會被保存。
  • 數據恢復範圍:Git 索引、提交、數據庫、部署信息、空目錄、ACL 和擴展屬性不會被恢復。
  • 原子性:恢復是逐文件、帶衝突檢查的,多文件替換不是原子的。中斷的恢復需要使用 /time_machine recover。
  • 會話限制:列表僅顯示當前會話最新的 50 條記錄,舊 ID 仍可訪問。
  • 版本依賴:需要精確的 DSH 0.2.1-alpha.1 及 Cordis 4.0.5-alpha.1 版本,不支持自動兼容處理。

dsh-time-machine 通過持久化快照和精細化的文件級控制,爲 DSH 工作區提供了類似 IDE 的回滾能力,降低了智能體開發的試錯成本。

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

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

小夜