dsh-rewind-plugin: 消息召回

前言

DeepSeek Harness (DSH) 的原生行爲不支持已發送消息的編輯或撤回。dsh-rewind-plugin 插件通過將對話表面回溯到已發送消息之前,隱藏該消息及之後的所有內容,並將原始文本放回編輯器來解決此痛點。

它是什麼

該插件由 JochenYang 維護,旨在爲 DSH 提供消息召回能力。它將選定的用戶消息視爲“邊界”,隱藏該消息及之後的內容,並允許你用原始文本重新發送。

安裝與啓用

Web Profile

使用命令行安裝:

dsh plugin --profile web add @jochenyang/dsh-rewind-plugin

也可以直接使用發佈包地址或倉庫地址:

dsh plugin --profile web add https://github.com/JochenYang/dsh-rewind-plugin/releases/latest/download/dsh-rewind-plugin.tgz
dsh plugin --profile web add github:JochenYang/dsh-rewind-plugin

Desktop Profile

官方桌面客戶端沒有命令行支持。需在應用內安裝:Settings -> Plugins -> Add plugin,在“Package name or address”字段輸入 @jochenyang/dsh-rewind-plugin,安裝後重啓應用。

基本用法

命令行

  • 列出可召回的消息:/rewind
  • 召回第 n 條消息:/rewind <n>
  • 預覽召回效果(不執行):/rewind plan <n>

界面交互

在對話記錄中懸停用戶消息,會顯示召回圖標。

核心特性

  • 編輯器預填充:召回後,文本會回到輸入框,供你重新編輯或發送。
  • 隔離區管理:在 Settings -> Recall quarantine 中,所有被覆蓋的文件和字節都會被移動到隔離區,不會直接刪除,可按會話或單行清理。
  • 文件保留:被召回範圍創建的文件會移至隔離區,而不是被取消鏈接。
  • 日誌完整性:會話日誌是僅追加的,召回操作會追加一個事件,確保原始數據不丟失。

注意事項

  • 壓縮限制:召回操作在最近的壓縮處停止。壓縮會替換歷史摘要,因此無法回溯到壓縮之前。/rewind 命令會明確指出這個邊界。
  • 狀態聲明:如果召回無法覆蓋全部內容,插件會明確提示,而不是聲稱已完全回溯。
  • 運行時依賴:插件運行時依賴 DSH 內置包(如 @deepseek-ai/cordis, @deepseek-ai/dsh-session 等),不鎖定特定版本,因此可以在不同版本的 DSH 上運行。
  • 寫入權限:會話中同一時刻只允許一個編寫者,這是 DSH 的底層機制。

總結

該插件通過 surfaceOp: { op: 'replace' } 機制在會話日誌層面實現回溯,保證了數據的可讀性和完整性,同時通過隔離區管理文件變更,適合需要在 DSH 中修正已發送消息的場景。

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

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

小夜