dsh-conversation-rewind:DSH Web 的同 Session 分支與歷史消息編輯

前言

在 DSH Web 中處理智能體會話時,一個已完成 Session 裏某條用戶消息如果表述不理想,常見需求是讓 assistant 重新回答,但不希望丟失原路徑,也不希望創建新的子 Session。dsh-conversation-rewind 針對這個場景,爲 DeepSeek Harness Web UI 提供同 Session 的 append-only 對話分支,以及可編輯用戶消息的安全編輯能力。

這是什麼

dsh-conversation-rewind 是一個 DSH Web 插件,由 DTSFO 維護,許可證爲 MIT,package.json 中版本號爲 0.1.7。

它把“修改歷史用戶消息並重新生成回覆”做成在同一 Session 內創建 sibling branch 的操作,同時保持持久事件日誌 append-only,避免直接重寫或刪除歷史事件。

核心功能

歷史用戶消息的內聯編輯

插件在可編輯的用戶消息旁增加 Edit history message 操作。編輯在該消息行內聯完成,不打開 modal。

用戶修改文本後,可以點擊 Confirm 或 Cancel。Confirm 會從該消息在原 Session 中創建新的 sibling branch,並將編輯後的文本作爲真實新的 user turn 發送,以便 assistant 響應被重新生成。

編輯確認後,後續消息不再作爲可編輯選項提供。

分支樹瀏覽

插件用可視化 Branches 樹替代原 history-switching 表單。每個語義分支的最終消息可點擊;中間消息顯示爲靜態樹節點。

非端點消息顯示爲靜態樹節點。Host 對非端點的調用會以 BRANCH_NOT_ENDPOINT 拒絕。

同 Session 內的只讀瀏覽

點擊分支端點只是客戶端只讀查看已有路徑。它不發送消息、不調用 Provider、不喚醒 Agent、不寫 inbox、不追加替換、不截斷 Session。

分支瀏覽保持在原 Session 內:Session ID 與瀏覽器 URL 不變,也不創建子 Session。

append-only 日誌與 replacement marker

插件保持持久事件日誌 append-only。歷史事件保留用於審計/恢復;插件追加 replacement marker,而不是重寫或刪除歷史事件。

它使用 DSH Surface replacement metadata 隱藏被選消息、舊回覆和後續活躍路徑,使其不進入當前 transcript 和未來模型上下文。

編輯觸發的安全保護

內部編輯觸發器被永久保護,確保在 provider dispatch 前被取消,包括重啓後的 orphan recovery。

安裝與啓用

環境要求如下:

  • DeepSeek Harness >=0.1.0-rc.6
  • Node.js ^22.19 或 >=24
  • DSH Web profile

安裝命令:

dsh plugin --profile web add \
  https://github.com/DTSFO/dsh-conversation-rewind/archive/refs/tags/v0.1.7.tar.gz
dsh web

第一條命令將插件加入 Web profile,第二條命令啓動 DSH Web。

典型用法

1、在 DSH Web 中打開一個已完成的 Session。

2、點擊目標用戶消息下 Copy 旁邊的 Edit history message;在該消息行內修改文本,然後點擊 Confirm 或 Cancel。Confirm 會在同一 Session 中創建新的 sibling branch。

3、打開 Branches 視圖檢查消息樹;只點擊分支端點以在 Chat 中瀏覽該已有路徑。

4、瀏覽時發送功能被禁用且 Session 保持不變;發送或編輯前先返回活躍端點。

5、舊路徑仍保留在 append-only log 中;只有編輯確認會創建替換並重新生成回覆。

適用場景與注意

可編輯條件

只有包含恰好一個直接、普通、純文本用戶消息的已完成 turn 可編輯。

包含附件、歧義 user-role 上下文或 unsafe-to-replay turn 的分支在樹中仍可見,但消息不可編輯。

編輯要求 Session 在當前 DSH 進程中 live。如果 Surface 或 inbox 併發變化,操作會失敗關閉。

編輯不做什麼

編輯只改變會話歷史;不恢復 workspace 文件,也不回滾工具調用、命令、網絡請求或其他外部副作用。

分支瀏覽是隻讀客戶端投影;不能重建 Host 未在當前窗口暴露的 Chat 行。

安全與安裝前檢查

該插件會在當前 DSH 進程中生效,並以當前 dsh 進程權限運行。安裝前應檢查源碼、插件配置和 MIT 許可證,確認其注入行爲與自身環境一致。

結尾

dsh-conversation-rewind 的價值在於:把“修改歷史並重新生成回覆”限制在同一 Session、append-only 日誌和明確的只讀瀏覽邊界內,同時保留舊路徑用於審計/恢復。

已覈實資料未給出獨立目錄頁 URL,本文不附未覈實的目錄頁鏈接。GitHub 倉庫地址如下:

  • https://github.com/DTSFO/dsh-conversation-rewind
羽毛球分组比赛记分
小程序二维码

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

小夜