DeepSeek Harness (DSH) 採用插件化架構,上下文管理是智能體開發中的核心環節。在調試或開發過程中,誤發消息、錯誤的模型回覆或工具調用往往會污染上下文,導致後續推理偏離預期。雖然 DSH 提供了會話重置功能,但在需要精細控制時,按消息粒度移除特定內容更爲高效。下面介紹 viplocco/dsh-delete-message,一款專注於解決這一痛點的消息級刪除插件。
核心功能¶
插件主要提供以下能力:
- 全消息類型支持:覆蓋用戶輸入、助手回覆(含思考卡片、工具調用)、機器注入上下文行、重試提示及錯誤橫幅。
- 上下文與轉錄分離處理:刪除操作通過宿主
surface-replace契約從模型上下文移除,並在瀏覽器端通過維護已刪序列號臺賬,從可見轉錄中隱藏。 - 精細化的刪除範圍:支持“步驟級刪除”(僅移除某一步的回覆與工具調用)和“整窗口刪除”(清理失敗回合中的注入行、錯誤橫幅及回覆)。
- 原生體驗與反饋:複用宿主圖標與確認彈窗,支持中英雙語界面。刪除前會進行預檢,對不可刪除項置灰並給出原因;刪除過程中提供過渡反饋動畫。
安裝與啓用¶
安裝命令如下:
dsh plugin --profile web add github:viplocco/dsh-delete-message#v0.2.3
安裝完成後,必須完全重啓 DSH Web 進程或 DSH Desktop 才能生效。
典型用法¶
插件在每條消息的操作區提供刪除按鈕。
- 點擊不同位置的垃圾桶圖標可執行不同範圍的刪除。
- 在多步回合中,點擊 Think 卡或工具調用卡的垃圾桶,僅刪除該步驟。
- 點擊注入上下文行或錯誤橫幅的垃圾桶,會清理整個回覆嘗試(包括失敗回合並清除注入行)。
- 界面支持中英雙語,確認文案會根據消息角色自動調整。
注意事項¶
- 宿主耦合:插件依賴宿主私有耦合(React fiber 內省、CSS-modules 哈希類名、DOM 鉤子),若宿主升級可能導致功能靜默失效。
- 重啓生效:插件更新或宿主核心升級後,需要完全重啓進程。
- 服務端校驗:服務端在刪除前會重跑校驗,僅接受已閉合回合,並返回機器原因碼。
總結¶
dsh-delete-message 是一款輕量級的工具,旨在幫助開發者在 DSH 環境中快速清理上下文,減少調試成本。對於需要頻繁迭代 Prompt 或調試複雜多步交互的開發者而言,這是一個實用的輔助工具。
完整文檔與源碼請參考:GitHub