在使用 DeepSeek Harness(DSH)開發或調試智能體時,經常遇到需要撤銷上一步操作的場景:例如代碼改錯了,或者對話邏輯走偏了。手動刪減消息並還原代碼不僅繁瑣,還容易遺漏。下面介紹一款能夠解決這一痛點的插件。
這是什麼¶
dsh-plugin-session-rollback 是由 antlordGit 維護的插件,爲 DSH 提供會話與工作區代碼同步回退能力。它的核心價值在於將對話記錄的刪除與代碼狀態的還原綁定在一起,確保兩者保持一致。
核心功能¶
- 自動爲每條真人提問創建工作區代碼檢查點。
- 在用戶消息的複製按鈕旁提供「撤銷」操作。
- 同步回退當前頁面的聊天記錄和工作區代碼。
- 移除目標問題及之後的全部問題和回答。
- 回退前自動備份當前工作區。
- 支持使用
/rollback-undo撤銷最近一次代碼回退。 - 快照採用 SHA-256 內容尋址存儲。
- 自動適配 DSH 的明暗主題。
安裝與啓用¶
安裝方式如下:
dsh plugin --profile web add github:antlordGit/dsh-plugin-session-rollback
安裝完成後需要重啓 DSH Web:
dsh web
典型用法¶
插件安裝並重啓後,正常與助手對話。在聊天界面中,點擊某條用戶消息下方、複製按鈕旁邊的「撤銷」按鈕,確認回退範圍。頁面會移除該問題及之後的所有問題和回答,同時將工作區代碼恢復到該問題提交前的狀態。
回退前的代碼會自動備份。如果需要撤銷最近一次代碼回退,在輸入框執行以下命令:
/rollback-undo
適用場景與注意¶
- 適用場景:適合需要在對話中反覆調試代碼、驗證邏輯,且需要隨時回退到特定提問節點的開發者。
- 注意事項:
- 插件安裝或啓用之前產生的消息通常沒有代碼檢查點,無法安全回退代碼。
- 僅
source.kind === 'user'的真人消息會創建檢查點;插件、模型或工具生成的消息不會創建。 - 正在運行的會話不能回退,請先停止或等待當前回答結束。
- 被排除的目錄、超限文件(16MB)、符號鏈接和特殊文件不會隨代碼一起回退。
/rollback-undo恢復的是最近一次自動備份,作用於代碼,不會重新顯示已從當前 Surface 隱藏的聊天記錄。
短結尾¶
該插件通過自動快照和內容尋址存儲,實現了對話與代碼的原子級回退。詳細文檔與源碼可查看 GitHub。