前言¶
在 DeepSeek Harness (DSH) 的 Web UI 中,修改歷史輸入或回退到之前的對話狀態往往需要手動操作或創建新會話。dsh-conversation-rollback 插件旨在解決這個問題,它爲 DSH 提供了 Codex 風格的會話回滾、內聯編輯輸入並重新生成,以及右側的會話大綱軌道。
核心功能¶
該插件主要提供以下三種能力:
1. 編輯輸入
用戶可以在用戶消息氣泡的操作行中點擊 ✎ 圖標。這會打開一個內聯編輯器。保存後,主機端會截斷會話日誌,僅保留該回合之前的記錄,並將編輯後的文本作爲新消息推送到 Agent 收件箱,促使模型重新生成回答。原始回覆及後續的所有回合將被刪除。
2. 回滾到此
在助手回答的底部,有一個 ↩ 按鈕。點擊該按鈕(通常需要二次確認)會刪除當前回合之後的所有消息,並在此處繼續對話。這是一種破壞性的操作,意味着原始回覆和後續的所有消息將永久移除。
3. 會話大綱軌道
這是 v1.4.0 引入的新功能,將原本獨立的 dsh-session-toc 插件合併至此。
* 展示形式:默認爲右側邊緣 26px 寬的條帶,每個用戶發送的提示顯示爲一個勾選框。當前視口頂部的回合對應的勾選框會高亮顯示(藍色)。
* 展開交互:鼠標懸停、點擊條帶上的 ☰ 圖標或使用 Ctrl/Cmd+Shift+O 快捷鍵均可展開。展開後顯示包含回合編號、時間戳和“steer”標記的列表。
* 跳轉:點擊列表中的某一行或對應的勾選框,會自動滾動到該回合併高亮顯示。
* 搜索:輸入關鍵字可以篩選當前加載窗口的內容。如果沒有匹配項,它會自動向後翻頁加載歷史記錄(最多 40 頁)直到找到匹配或歷史結束。
* 生效範圍:僅 user 和 steering 聊天節點會進入大綱軌道。空白輸入、僅圖片輸入、工具調用行和注入的上下文會被排除。
安裝¶
安裝前請先確定 DSH 進程使用的 profile(是 web 還是 desktop)。
dsh plugin --profile <web|desktop> add github:sharedcare/dsh-conversation-rollback#<sha-or-tag>
建議指定具體的 commit 或 tag 以避免後續更新導致的代碼變更。該命令會將插件添加到選定的 profile 中並自動註冊。
典型用法¶
編輯並重新生成
在對話中,找到你發送的消息氣泡,點擊旁邊的 ✎ 圖標,修改文本後保存。系統將基於修改後的內容重新生成回答。
回滾對話
如果對當前的回答不滿意,點擊助手回答底部的 ↩ 按鈕,將對話重置到該回答之前的狀態,並繼續後續的對話。
導航與跳轉
在對話右側的大綱軌道中,點擊任意一行或勾選框,可以快速跳轉到該回合併高亮顯示。軌道支持搜索功能,方便在長對話中定位特定內容。
開關大綱軌道
前往 DSH 的 設置 -> 通用 -> 會話大綱,可以開啓或關閉右側的大綱軌道。
注意事項¶
- 不可逆操作:回滾操作是破壞性的,原始回覆及後續所有消息將被永久刪除,無法撤銷。
- 圖片編輯限制:目前不支持編輯包含圖片的輸入內容。
- 操作限制:當會話正在運行、屬於子代理會話,或存在未完成的回合時,相關操作按鈕將不可用。
- 大綱軌道範圍:只有用戶輸入和引導消息(steering)會顯示在大綱軌道中。
- 環境要求:該插件需要 DSH 安裝了
webprofile(dsh web)或desktopprofile。
結語¶
dsh-conversation-rollback 通過提供精確的回滾和編輯能力,以及直觀的大綱軌道,顯著增強了 DSH Web UI 在會話管理方面的靈活性。對於需要反覆調試提示詞或管理長對話的開發者而言,這是一個實用的工具。
插件目錄:https://www.skillhub.cn/plugins/sharedcare/dsh-conversation-rollback
GitHub 倉庫:https://github.com/sharedcare/dsh-conversation-rollback