前言¶
在 DeepSeek Harness(DSH)裏跑智能體對話時,Session 會按 Turn 累積用戶提示、助手回覆和工具調用記錄。這些記錄會進入後續請求的模型上下文。若某一輪對話寫錯方向、包含無效工具鏈,或只是想在同一條 Session 裏「撤回」中間一輪,常見做法是新建 Session 或手動清理歷史——前者會丟失 workspace 關聯與後續 Turn,後者在 Harness 原生界面裏並不直觀。
下面介紹社區插件 dsh-turn-delete:它允許你在不刪除、不替換整條 Session 的前提下,刪除一個已完成的頂層 Turn,同時保留 Session id、標題、workspace 關聯以及之後的 Turn。插件由維護者 hanshenmesen 發佈,在 SkillHub 社區目錄中歸類爲客戶端插件;截至撰寫時,GitHub 倉庫約 59 stars。
這是什麼¶
dsh-turn-delete 是一個 DeepSeek Harness 客戶端插件(npm 包名 dsh-turn-delete,當前版本 0.1.0,MIT 許可證)。它在每個已完成頂層 Turn 的最後一條助手回覆旁增加刪除操作,經確認後從 Session 當前模型可見面移除該 Turn 的 prompt、助手消息與工具記錄,並通過持久化的零內容替換事件記錄刪除行爲。原始 append-only 事件日誌仍保留,便於審計與回放。
DeepSeek Harness 採用「一切皆插件」的擴展方式;SkillHub(https://www.skillhub.cn)是面向中國用戶的 Skills 社區目錄,與 DeepSeek / 幻方無官方從屬關係,本文安裝與行爲說明以插件 GitHub README 爲準。
核心功能¶
經 README 覈實,插件具備以下能力:
-
按 Turn 刪除,不刪 Session
選中一個已關閉的普通 Session Turn 後,其 prompt、assistant 消息及 tool 記錄從當前模型面移除;Session id、標題、workspace 關聯、後續 Turn 以及原始事件日誌保持不變。 -
UI 入口與操作約束
刪除按鈕僅出現在已完成的普通 Session Turn 上;Subagent 轉錄不暴露該操作。刪除需二次確認,Session 運行中禁用刪除。 -
持久化與冪等
刪除通過 durable zero-content replacement event 記錄;刷新頁面或重啓 profile 後仍有效。對同一目標重複請求爲冪等操作。 -
安全拒絕邊界
若目標 Turn 仍 open,或已與其他歷史合併進 compaction replacement,插件拒絕刪除,避免只刪掉模型可見上下文的一部分。 -
雙半部設計
Host 半部註冊POST /dsh-turn-delete,獲取目標 Agent 維護租約,校驗完整 closed-turn 表面跨度,追加零內容替換並等待sessions.flush()。瀏覽器半部向conversation.chat.assistant-actions與conversation.chat.turnTail插槽貢獻 UI;Conversation 定義將 tombstone 投影到目標 Turn。
安裝與啓用¶
推薦使用 npm 安裝到 web profile:
dsh plugin --profile web add dsh-turn-delete
也可從 GitHub 源安裝:
dsh plugin --profile web add github:hanshenmesen/dsh-turn-delete
或安裝預構建 Release 包:
dsh plugin --profile web add https://github.com/hanshenmesen/dsh-turn-delete/releases/latest/download/dsh-turn-delete.tgz
安裝後需重啓 dsh web 生效。卸載命令:
dsh plugin --profile web remove dsh-turn-delete
環境要求(README 兼容性說明):
- DeepSeek Harness
0.1.0-rc.6與0.1.0-rc.7 - Node.js 22.19 或更新版本
- Web profile 及基於 Web 的 desktop shell
DeepSeek Harness 仍處於開發者預覽階段;升級 Harness 後,建議用一條包含三個短 Turn 的可丟棄 Session 刪除中間一輪,驗證插件是否仍正常工作。
典型用法¶
- 在 web profile 中安裝並重啓
dsh web。 - 打開一條已有多個已完成 Turn 的 Session(README Demo 場景:刪除中間一輪,保留同一 Session 及後續 Turn)。
- 定位目標 Turn 最後一條助手回覆旁的刪除(垃圾桶)操作,點擊並在確認對話框中確認。
- 確認 Session 仍在列表中,後續 Turn 可讀;被刪 Turn 不再進入後續模型上下文。README 提供的 Demo GIF 錄製於 DeepSeek Harness
0.1.0-rc.7的真實模型流程。
若 Session 正在運行、目標 Turn 未關閉,或該 Turn 已參與 compaction,刪除按鈕不可用或請求會被拒絕——這與插件防止部分刪除模型上下文的設計一致。
適用場景與注意¶
適合誰
- 需要在同一條 Session 內修正中間某輪對話、又不想重建 Session 的 DSH 用戶。
- 希望保留 workspace 關聯與後續 Turn,僅清理單輪模型可見歷史的智能體開發者。
使用前須知
- 與所有 DSH 插件一樣,該包以 Harness 進程權限運行;安裝第三方插件前應審閱源碼並確認 MIT 許可證條款。刪除會改變未來模型上下文,但刻意保留原始 append-only 事件供審計。
- 插件不刪除 Session 本身,也不保證從 UI 上完全抹除所有歷史痕跡;Host 側重模型面與持久 tombstone,瀏覽器半部對相鄰 Turn tail 之間 Chat 行有窄化展示兼容層,模型上下文刪除不依賴該層。
- Subagent 轉錄 Turn 不支持此操作;僅頂層普通 Session Turn 可用。
鏈接¶
- SkillHub 目錄頁:https://www.skillhub.cn/plugins/hanshenmesen/dsh-turn-delete
- GitHub 倉庫:https://github.com/hanshenmesen/dsh-turn-delete
經過上面的步驟,你可以在保留 Session 與後續對話的前提下,精確刪除單個已完成 Turn,而不必整條 Session 重來。