在 DeepSeek Harness (DSH) 中開發智能體時,模型生成的代碼或文件內容常需要回滾。手動刪除消息和還原文件效率低下,且容易導致狀態不一致。dsh-rollback 插件提供了對話歷史與文件狀態同步回退的能力。
dsh-rollback 是一個爲 DSH Web 端提供的 TRAE 風格回退插件,由 domitor-syh 維護。它實現了對話狀態與文件狀態的對齊回滾,通過檢查點機制,將模型上下文和工作區文件同時恢復到指定輪次發起前的狀態。
核心功能¶
- 按輪次檢查點:每輪發起前建立檢查點。
- 10 輪滑動窗口:僅保留最近 10 輪的檢查點。
- 文件回退:恢復被修改文件的原內容,找回被刪除文件,刪除新建文件。
- 原位截斷:保持 session id 不變,就地截斷對話歷史。
- Web 端回退按鈕:提供可視化操作入口。
- 人工命令觸發:支持命令行操作。
- 受影響文件列表:回退前預覽文件變更。
安裝與啓用¶
使用官方命令安裝:
dsh plugin --profile web add @domitor-syh/dsh-rollback
安裝後重啓 dsh web。
典型用法¶
- Web 端:點擊每輪迴復下方的“回退”按鈕。
- 命令行:
/rollback list:列出可回退的輪次。/rollback preview <n>:預覽回退效果。/rollback <n>:執行回退。
適用場景與注意¶
適合需要頻繁重置會話狀態的智能體開發場景。
- 版本要求:需 DSH >= 0.1.1-rc.2(0.1.5-rc.2 已實測)。
- 兼容性警告:不兼容將 0.1.0-0.2.2 安裝到 0.1.5 上。
- 運行限制:運行中的輪次禁止回退。
- 錯誤處理:插件出錯會大聲報錯(控制台打印),而不是靜默失敗。
- 文件系統:有盤根寫入兜底和空目錄清理的特殊處理。
該插件通過提供統一的狀態管理簡化了回滾流程。源碼與許可證請參考 GitHub。