前言¶
在 DeepSeek Harness (DSH) 的使用過程中,有時需要撤銷已發送的某一輪對話,而不希望重啓整個會話或清空歷史。dsh-sqy-rewind 插件提供了將當前會話回退到用戶發起某一輪對話之前的能力。
它是什麼¶
dsh-sqy-rewind 是一個 DeepSeek Harness 插件,由 LUDIWUSI12138 維護。它專注於解決會話回退的問題,屬於「記憶」類別的插件。
核心功能¶
插件主要實現以下能力:
1. 會話回退:把當前會話退回某一輪對話發起之前。
2. 模型遮蔽:使用 surface replace 就地遮蔽歷史,從模型視角看,該輪次等於沒發生過。
3. 界面同步:插件會自動把被回退的輪次從界面上隱藏。
4. 日誌保留:不修改 DSH 本體源碼,原始日誌一條不刪。
5. 按輪次操作:支持按 turn 號隱藏 DOM 節點。
6. 依賴投影:依賴 turnOutline 投影。
7. 自動停止:回退操作會先停掉正在跑的一輪。
安裝與啓用¶
插件通過命令行安裝,安裝後必須重啓 DSH 才能生效。
安裝命令¶
dsh plugin --profile desktop add github:LUDIWUSI12138/dsh-sqy-rewind
驗證安裝¶
重啓 DSH 後打開會話,在每條用戶消息下面,應該能看到與「複製」並排的回退圖標。
使用方法¶
市場安裝¶
在 DSH 插件市場搜索 dsh-sqy-rewind 即可一鍵安裝。
CLI 安裝¶
使用上述命令行進行安裝。
API 調用¶
通過 API 調用回退操作:
POST /plugins/dsh-sqy-rewind/api/rewind
Body:
{
"sessionId": "string",
"turn": "number"
}
界面操作¶
在 DSH 界面中,每條用戶消息下方會出現回退圖標。點擊第一次會彈出提示,點擊第二次確認回退。
注意事項¶
- 不可逆:回退操作不可逆。
- 模型痕跡:模型上下文中會留一行中文說明(例如:「用戶已回退這一輪對話」)。
- 壓縮限制:如果目標輪次的起點已經被壓縮(compaction)吸收,回退會被拒絕。
- 邊界邏輯:邊界是按「模型可見順序」找的,不是按 seq 比的。
- 非官方實現:按鈕是 DOM 注入的,不是官方 slot。
- 影響範圍:隻影響模型歷史和本插件隱藏的那些輪次。
- 依賴項:依賴 turnOutline 投影。
- 運行狀態:回退會先停掉正在跑的一輪。
短結尾¶
dsh-sqy-rewind 爲 DSH 提供了會話回退能力,在調試和交互過程中可以避免重啓會話。相關代碼與文檔位於 GitHub:https://github.com/LUDIWUSI12138/dsh-sqy-rewind。