前言¶
DeepSeek Harness(DSH)的 Web GUI 目前缺乏對會話消息進行編輯、重試和刪除的標準操作。dsh-more-message-actions 插件旨在還原主流 AI 客戶端中的這些交互,讓 DSH 裏的對話同樣具備順手的編輯與重試能力。
安裝與啓用¶
本插件未發佈到 npm,僅通過 GitHub 分發。
dsh plugin --profile web add github:suzuran520yyz/dsh-more-message-actions
安裝後重啓 dsh web,並刷新已打開的頁面即可生效。
核心功能¶
該插件在消息操作欄增加了按鈕,支持以下操作:
- 消息編輯:彈出編輯框修改消息文本,支持用戶消息和 AI 消息。
- 修改並重試:以修改後的用戶文本重新發起請求,僅支持用戶消息。
- 重試:以原用戶消息重新生成,僅支持 AI 消息。
- 高級重試:先輸入對 AI 回覆的要求,再原地截斷並按「原消息 + 要求」重新生成,僅支持 AI 消息。
- 刪除消息:刪除對應消息,支持用戶消息和 AI 消息。
工作原理¶
該插件採用「雙面」協作模式:
- Host 半(
lib/index.js):改寫持久化日誌(編輯/刪除爲單點改寫,重試類爲回合截斷)、重置協調器游標、觸發 Agent 重放;提供只讀 RPC 供預填原文。 - 瀏覽器半(
lib/client.js):向消息操作欄注入圖標按鈕、調用 Host 接口並重新同步歷史窗口;負責用戶消息 DOM key → 持久化 id 的換算。
注意事項與限制¶
由於插件涉及改寫 DSH 引擎內部結構,存在以下限制:
- 只能在會話空閒時操作:回合正在運行時 Host 會拒絕操作。
- 重試/高級重試/修改並重試僅支持純文本回合開頭:含圖片附件的回合無法安全重放。
- 刪除行爲:刪除只移除目標消息本身。
- 刪除 AI 回覆會連同它的思維鏈 / 思考過程 / 工具調用一併移除,但不刪除它對應的用戶提問。
- 刪除用戶消息不刪除它的 AI 回覆。
- 刪除會話中間的消息後繼續對話,模型請求中不再包含被刪內容,可能出現「有問無答」或相鄰同角色消息的情況,屬於預期行爲。
- 編輯行爲:「編輯(保存)」只改文本、保留舊的 AI 回答時,舊回答可能與新文本不一致。若希望 AI 按新文本重新回答,請使用「修改並重試」。
- 依賴性:依賴當前 DSH rc 版本的內部結構;引擎升級後可能需要同步更新。
結語¶
該插件爲 DSH Web 用戶提供了消息層面的精細控制能力,適合需要在會話中進行文本微調或歷史記錄清理的開發者使用。源碼位於 GitHub,使用前請自行審查代碼並做好備份。