前言¶
在 DSH 的會話流程裏,用戶消息一旦發出,後續內容通常會繼續追加到會話日誌中。對於需要修正提示詞、重新基於同一上下文生成回覆的場景,直接編輯歷史消息並重新生成會更方便。
dsh-plugin-edit-regenerate 是一個 DSH 插件,用來處理這個流程:在用戶消息下確認修改,丟棄該消息之後的內容,並從修改後的提示重新生成。
這是什麼¶
dsh-plugin-edit-regenerate 的定位是:在 DSH 會話歷史中編輯一條用戶消息,並基於修改後的提示重新生成後續回覆。
它適合需要在對話中途修正用戶提示,而不是從頭新建會話的場景。插件以 fork 的方式完成“編輯後重新生成”,原會話保持不改動。
該插件使用 MIT 許可證。倉庫地址爲:
https://github.com/ExploringBB/dsh-edit-regenerate
本次資料中未明確聲明維護者信息,只給出了上述倉庫地址。
核心功能¶
下面介紹已覈實的能力。
- 在用戶消息下提供 “✎ Edit” 編輯入口。
- 確認修改後,丟棄該消息之後的內容,並從修改後的提示重新生成。
- 非首條消息:在上一輪結束處分叉出新的子會話。
- 首條消息:在同一工作區創建空白新會話,並以修改後的文本作爲開場提示。
- 保留用戶消息原有的 “⧉ 複製” 動作,與編輯按鈕並存。
- 註冊 Cordis 服務
editRegenerate,並在瀏覽器端覆蓋user消息渲染器。
需要注意,附件不會被保留。帶附件的消息在修改後會以純文本重發。
安裝與啓用¶
安裝按 DSH profile 區分。desktop 和 web 相互獨立,安裝到其中一個 profile 不會影響另一個。
如果使用的是 DSH Desktop,安裝到 desktop profile:
dsh plugin --profile desktop add file:./dsh-plugin-edit-regenerate
如果使用的是 official launcher / CLI,也就是 dsh web,安裝到 web profile:
dsh plugin --profile web add file:./dsh-plugin-edit-regenerate
也可以手動安裝。做法是:
- 將
dsh-plugin-edit-regenerate加入dsh.profile.bundles。 - 在該 profile 的
package.json的dependencies中加入file:<absolute path>。 - 在該 profile 目錄下運行
pnpm install。
安裝或更新後,需要重啓 DSH 才生效。
如果後續更新了插件源碼,已經安裝到 profile 中的 file: 依賴副本可能不會自動更新。需要刷新該副本,或者在對應 profile 目錄中運行:
pnpm install --force
完成刷新或更新後,再次重啓 DSH。
典型用法¶
下面是文檔中的基本用法。
- 安裝插件並重啓 DSH。
- 在會話中找到要修改的用戶消息。
- 點擊用戶氣泡下的 “✎ Edit”。
- 確認修改。
- 插件會丟棄該消息之後的內容,並從修改後的提示重新生成。
如果修改的是非首條用戶消息,插件會在上一輪結束處分叉出新的子會話,原會話保持不改動。
如果修改的是首條用戶消息,插件會在同一工作區創建空白新會話,並以修改後的文本作爲開場提示。
用戶消息上仍會保留原有的 “⧉ 複製” 動作,和 “✎ Edit” 並存。
適用場景與注意¶
這個插件適合希望在既有會話中修正用戶提示,並基於修正後的提示重新生成回覆的使用者。它不改變原會話,而是通過 fork 生成新的會話路徑。
使用時需要特別注意以下幾點:
- 插件以當前 DSH 進程權限運行,安裝前應檢查源碼與許可證。
- 帶附件的消息在修改後會以純文本重發,附件不會被保留。
- DSH 的會話存儲爲 append-only,不能原地截斷,插件通過 fork 實現編輯後重新生成。
desktop與web兩個 profile 相互獨立,需要按實際運行方式分別安裝。- 更改配置、安裝或更新後,需要重啓 DSH 才生效。
- 更新源碼後,已安裝 profile 中的
file:依賴副本可能不會自動更新,需要刷新副本或運行pnpm install --force。
如果 forked 會話在重啓 DSH 後加載失敗,可先停止 DSH,再運行:
node scripts/repair-session-logs.mjs
結尾¶
dsh-plugin-edit-regenerate 解決的是一個很具體的問題:在 DSH 會話中修改已經發出的用戶消息,並基於修改後的提示重新生成後續內容。它通過 fork 會話避免直接改動原會話,同時保留用戶消息上的複製動作,適合作爲日常開發中的提示修正工具。
GitHub 倉庫:
https://github.com/ExploringBB/dsh-edit-regenerate
本次資料中未提供已覈實的社區目錄頁地址。