DSH-EasyRewrite:在 DSH Web 裏撤回與重編輯消息

前言

在 DeepSeek Harness Web 裏調試提示詞時,發錯一條消息往往意味着整段對話要重來,或者手動複製粘貼、開新會話再補上下文。社區裏也有撤回類插件,但不少實現會在確認階段就改動 context,中途退出還可能留下緩存或會話狀態不一致的問題。

DSH-EasyRewrite(dsh-easyrewrite)面向 DSH Web 客戶端,用官方擴展點實現消息撤回與氣泡原位重編輯。維護者爲 Renzic-Stone,當前版本 2.3.0,MIT 許可證,GitHub 約 51 stars。下面介紹它的定位、能力與安裝用法。

這是什麼

DSH-EasyRewrite 是 DSH Web 的客戶端插件,解決兩類問題:

  1. 撤回(Recall):從某條用戶消息起,截斷該消息及其後的提問。
  2. 重編輯(Rewrite):單擊自己的消息氣泡,原位修改 Markdown 原文後重發。

插件聲明兼容 DeepSeek Harness Web(rc.6+),通過 keyed 槽覆蓋、官方 fork RPC 等擴展點工作,不修改 DSH 源碼;卸載後不改動官方文件。

核心功能

撤回(Recall)

每條用戶消息的官方複製鍵旁會出現撤回鍵。點擊後彈出 DSH 風格確認膠囊(例如「撤回這條消息及其後 x 條提問?」),確認後文本回填到輸入框,真正截斷髮生在按「發送」時——在此之前關閉 DSH,對話與模型 context 不變。

發送後執行「無痕替換」:原會話歸檔,同名新會話頂替到目標消息之前,修改後的文本自動發出。輸入框內會顯示「正在修改」條,可用 × 取消並恢復原草稿。覆蓋 / 合併兩種回填模式可選;單會話同時只允許一個待定撤回,草稿按會話持久化。

內聯編輯(Rewrite)

單擊自己的消息氣泡進入原位編輯,保留原始 Markdown;Esc 取消,Ctrl+Enter 確定。編輯寬度有三檔(緊湊 / 標準 / 擴展),也可自定義。確定後走與撤回相同的截斷 → 歸檔 → 同名新會話 → 自動發送流程。

帶圖片的消息支持撤回鍵與氣泡框編輯兩條路徑:確認後圖片隨修改文本一併發出;編輯中可刪除、粘貼或拖入新圖,也可切換模型與推理等級,刷新後編輯進度可恢復。

設置

設置 → 插件 → 插件配置 中,以官方同款可摺疊卡片呈現,界面語言隨 DSH 切換(中文 / English / 日本語)。選項即時生效,包括:氣泡框編輯開關、關閉編輯時顯示撤回鍵、撤回確認膠囊、撤回視覺模式、統計口徑、回填衝突模式、編輯寬度等。

草稿自動備份

待定草稿超過 10 秒未處理時,自動備份到本地文件(之後每 5 秒刷新);確定或發送完成後刪除備份。備份路徑:

$DSH_HOME/dsh-easyrewrite/backups/<會話ID>.json

僅當本地沒有待定狀態時才從備份恢復,不會覆蓋正在編輯的草稿。

版本翻頁器

每次撤回或編輯重發後,該次問詢最後回答的操作區會出現 ‹ X/N › 控件。點擊或按鍵盤 ←/→ 可切換版本,後續上下文隨版本變動;切換時視口錨定不跳位。全部歸檔後,仍可在設置 → 插件配置 → 「版本」組逐版本「恢復並打開」。

撤回快捷鍵(Beta)

設置內總開關默認關閉。開啓後可錄製組合鍵(至少一個修飾鍵)。觸發條件:輸入框未聚焦,且當前會話最近一條爲用戶消息——等效點擊該消息的撤回鍵。

安裝與啓用

通過 npm 發佈包安裝(推薦):

dsh plugin --profile web add dsh-easyrewrite

也可從 GitHub 安裝:

dsh plugin --profile web add github:Renzic-Stone/DSH-EasyRewrite

安裝後重啓 dsh web,在頁面按 Ctrl+Shift+R 硬刷新。

撤回時機說明:DSH 的 fork 只能在閉合回合邊界截斷。若消息所在回合尚未結束,界面會提示「該消息所在回合尚未結束…」,需等回覆完成後再撤回。

典型用法

撤回一條消息及其後的提問

  1. 找到要撤回的用戶消息,點擊複製鍵旁的撤回鍵。
  2. 在確認膠囊中點「確定」,檢查輸入框中的回填內容。
  3. 按「發送」完成截斷;若改變主意,點輸入框內「正在修改」條的 × 取消。

原位重編輯

  1. 單擊自己的消息氣泡,在氣泡內直接改 Markdown。
  2. Ctrl+Enter 確定,或 Esc 取消。
  3. 確定後會自動截斷並重發編輯後的文本。

查看調試日誌

client 關鍵步驟會寫入統一日誌,便於排查問題:

$DSH_HOME/dsh-easyrewrite.log

格式爲 JSON 行:{ t, level, tag, message, data }。日誌僅記錄本地行爲,不上傳數據。

適用場景與注意

適合誰

  • 經常在 DSH Web 裏迭代提示詞、需要撤回或改發某條消息的開發者。
  • 希望編輯帶圖片的用戶消息,且需要版本切換回看不同改法的場景。
  • 偏好「確認後再改 context」、不想中途誤操作污染會話的用戶。

使用前注意

  • 插件以當前 DSH 進程權限運行;安裝前建議查看 GitHub 倉庫 源碼與 MIT 許可證。
  • 僅支持 DSH Web 客戶端(--profile web),不適用於其他 profile。
  • 撤回快捷鍵默認關閉,避免與其他插件快捷鍵衝突;需要時在插件配置中開啓並錄製。
  • SkillHub 目錄頁(DSH-EasyRewrite)是社區獨立站點,與 DeepSeek / 幻方無官方從屬關係。

結尾

DSH-EasyRewrite 把撤回與氣泡重編輯嵌進 DSH Web 原有交互:複製鍵旁撤回、單擊氣泡編輯、惰性提交與無痕替換,儘量貼近「原生就該有」的體驗。功能可按需開關,三語界面,純擴展點實現,DSH 升級時維護者聲明會主動適配。

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

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

小夜