dsh-turn-delete:在 DeepSeek Harness 中刪除單個 Turn,保留 Session

前言

在 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 覈實,插件具備以下能力:

  1. 按 Turn 刪除,不刪 Session
    選中一個已關閉的普通 Session Turn 後,其 prompt、assistant 消息及 tool 記錄從當前模型面移除;Session id、標題、workspace 關聯、後續 Turn 以及原始事件日誌保持不變。

  2. UI 入口與操作約束
    刪除按鈕僅出現在已完成的普通 Session Turn 上;Subagent 轉錄不暴露該操作。刪除需二次確認,Session 運行中禁用刪除。

  3. 持久化與冪等
    刪除通過 durable zero-content replacement event 記錄;刷新頁面或重啓 profile 後仍有效。對同一目標重複請求爲冪等操作。

  4. 安全拒絕邊界
    若目標 Turn 仍 open,或已與其他歷史合併進 compaction replacement,插件拒絕刪除,避免只刪掉模型可見上下文的一部分。

  5. 雙半部設計
    Host 半部註冊 POST /dsh-turn-delete,獲取目標 Agent 維護租約,校驗完整 closed-turn 表面跨度,追加零內容替換並等待 sessions.flush()。瀏覽器半部向 conversation.chat.assistant-actionsconversation.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.60.1.0-rc.7
  • Node.js 22.19 或更新版本
  • Web profile 及基於 Web 的 desktop shell

DeepSeek Harness 仍處於開發者預覽階段;升級 Harness 後,建議用一條包含三個短 Turn 的可丟棄 Session 刪除中間一輪,驗證插件是否仍正常工作。

典型用法

  1. 在 web profile 中安裝並重啓 dsh web
  2. 打開一條已有多個已完成 Turn 的 Session(README Demo 場景:刪除中間一輪,保留同一 Session 及後續 Turn)。
  3. 定位目標 Turn 最後一條助手回覆旁的刪除(垃圾桶)操作,點擊並在確認對話框中確認。
  4. 確認 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 重來。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜