前言¶
DeepSeek Harness (DSH) 的會話日誌是 append-only 的。一旦說錯提示詞或模型答偏,這些內容會一直留在模型上下文裏,污染後續每一輪。官方目前只提供了「壓縮」(/compact)這種整段摘要機制,沒有單條消息級別的刪除。
下面介紹 dsh-delete-turn。這個插件把刪除能力放回消息本身,通過官方的 surface-replace 契約,從模型上下文中移除內容,並在可視化的轉錄中隱藏它,而不修改原始的追加式日誌。
插件簡介¶
- 名稱:
dsh-delete-turn - 維護者: DDDMUC
- 類別: 工作流
- 許可證: MIT
- 核心機制: 使用官方
surfaceOp: { op: 'replace', startSeq, endSeq }契約進行上下文遮蔽,日誌不重寫。
安裝與啓用¶
通過 npm(web profile)安裝:
dsh plugin --profile web add dsh-delete-turn
安裝或更新後,宿主側插件樹僅在 DSH 啓動時加載。必須完全重啓 DSH 進程,硬刷新頁面後插件纔會生效。
核心功能¶
- 模型上下文級刪除: 追加官方替換事件,被遮蔽的內容不再進入
deriveMessages()。 - 整輪刪除: 刪除一輪(含提問、注入上下文與全部回覆步驟),後面的輪次原地保留、直接接上,不重放、不重編號。
- 轉錄級隱藏: 利用官方
useChat快照與錨點定位行,刪除後摺疊退場,刷新或重啓後依然隱藏。 - 日誌即臺賬: 隱藏依據直接從日誌裏的替換事件重建,不依賴本地存儲。
- 安全邊界: 只接受迴環地址且 Host 爲本機的請求;系統提示詞頭(surface 節點 0)不可刪除。
使用方法¶
- 刪除單條消息:
- 懸停任意消息行,點擊行尾的垃圾桶按鈕。
- 助手回覆的刪除按鈕位於官方操作條(複製 / 分叉按鈕旁邊)。
- 確認彈窗會說明影響範圍,點擊「刪除」。
- 刪除整輪:
- 在用戶消息行上,還有一個「刪除這一輪」入口。
- 點擊後,會刪除整輪(含你的提問、注入上下文與全部回覆),後面的輪次原地保留、直接接上。
注意事項¶
- 不可撤銷: append-only 語義下沒有「反刪除」。被遮蔽的內容無法真正恢復,刪除不可撤銷(原始日誌仍在,可用官方工具自行重建會話)。
- 回合進行中刪除: 刪除會先停止當前生成(走官方
sessionController.cancel,等價於按停止鍵),等這一輪真正收尾(turn/end落地)後再執行。停止超時(默認 15 秒)、停止被拒或正在壓縮時仍會拒絕並給出原因。 - 系統提示詞保護: 系統提示詞頭(surface 節點 0)不可刪除。
- 已壓縮內容: 已經被官方壓縮(
/compact)移出模型上下文的內容不再顯示刪除入口。 - 整輪刪除範圍: 整輪刪除會刪除你的提問,只刪回覆請用助手操作條,只刪提示詞請用用戶行上的垃圾桶。
生態背景¶
DeepSeek Harness 的理念是「一切皆插件」。社區目錄 SkillHub 提供了插件的檢索與發佈服務,與 DeepSeek 或幻方無官方從屬關係。