前言¶
在 DSH web 會話裏,一條用戶消息發出並形成已完成回合後,如果輸入內容有筆誤、補充不充分,或希望基於修正後的文本重新得到回覆,通常只能新開一輪對話。dsh-edit-resend 爲已完成回合提供「✎ 編輯本輪消息並重發」入口:它從該消息所在回合 fork 一個新分支,用編輯後的文本重新生成回覆,並把原會話歸檔。它不刪除日誌與數據,也不改寫歷史,只在新分支上重新生成。
這是什麼¶
dsh-edit-resend 是一個 DeepSeek Harness(DSH)插件,適用於 DSH 版本不低於 0.1.0-rc.6 的環境。它的核心目標是讓已發送的用戶消息可以被編輯並重新發送,同時在會話管理上提供原會話歸檔、新分支切換、歸檔恢復的支持。
GitHub 倉庫:https://github.com/caoTbenren0/dsh-edit-resend
核心功能¶
- 在已完成回合尾部注入按鈕,文案爲「✎ 編輯本輪消息並重發」。
- 從 Host 的全量事件日誌讀取該輪用戶原文。
- 以目標回合前綴爲 seed,fork 子會話併發送編輯後文本。
- 重發成功後自動歸檔原會話;歸檔僅視圖隱藏,日誌與數據絕不刪除。
- 在設置頁「編輯重發」分區列出歸檔會話,並支持一鍵恢復。
- Host 端通過
EditResendService暴露以下 Remote 端點:
edit
getText
archive
unarchive
listArchived
已覈實資料還說明:官方 0.1.0-rc.6 沒有 unarchive API/UI,設置頁中的歸檔恢復由本插件實現;歷史不可改寫,只 fork 新分支。
安裝與啓用¶
該插件要求 DSH 不低於 0.1.0-rc.6。已覈實的安裝示例使用 web profile:
dsh plugin --profile web add dsh-edit-resend
這條命令用於向 web profile 添加插件。安裝或改動 Host 端後,需要重啓 dsh web;如果只是客戶端改動,刷新頁面即可。其他 profile 是否使用完全相同命令,已覈實資料未逐條展示,安裝前應按實際 profile 說明確認。
典型用法¶
- 打開任意有已完成回合的會話,在回合尾部點擊「✎ 編輯本輪消息並重發」。
- 編輯器會預填該輪的用戶原文,修改後點擊「保存並重發」。
- 界面自動切換到新 fork 分支並開始重新生成;原會話從側邊欄消失,狀態爲已歸檔。
- 需要找回原會話時,進入「設置 → 編輯重發 → 找到對應會話 → 恢復」。
歸檔不會刪除數據:恢復後原會話回到側邊欄,日誌仍完整保留。
適用場景與注意¶
適合的場景是:已經在 DSH web 中有一個已完成回合,想修正該回合的用戶消息並重新生成回覆,同時保留原會話記錄。
使用注意:
- 該能力是“編輯並重發”,不是改寫歷史;新回覆生成在新的 fork 分支上。
- 原會話歸檔只是視圖隱藏,不刪除日誌與數據。
- 插件會在 Host 端暴露服務並參與 DSH 運行,安裝前應檢查源碼與許可證。
- 許可證爲 MIT,並需同時參考 DeepSeek Harness 的許可條款。
- 要求 DSH 不低於
0.1.0-rc.6;Host 端改動必須重啓dsh web,客戶端改動只需刷新頁面。 - 官方
0.1.0-rc.6沒有 unarchive API/UI,設置頁恢復功能由本插件提供。
小結¶
dsh-edit-resend 把“重新發送一條已編輯的用戶消息”變成一條清晰路徑:點擊回合尾部入口,修改文本,進入新分支重新生成,必要時再從設置頁恢復原會話。
GitHub 倉庫:https://github.com/caoTbenren0/dsh-edit-resend