前言¶
在 DSH 會話中,日誌是追加的,無法原地修改消息。當你發現自己發送了錯誤的上下文,或者需要調整上一輪對話的措辭時,通常只能通過重新生成上下文來補救,這會消耗大量算力且破壞原有記錄。
下面介紹的 dsh-reedit 插件允許你雙擊自己的消息進行重寫,並在新的分支中重新發送。原始對話保持不變。
插件介紹¶
dsh-reedit 是一個客戶端插件,由 Arbeiter-bit 維護。它通過攔截和重渲染 DOM,實現了對用戶消息的編輯與重發功能。
核心功能¶
- 懸停提示:將鼠標懸停在自己的消息上時,會顯示操作提示。
- 雙擊編輯:雙擊消息後,編輯器會自動預填充該消息的內容。
- 會話分叉:確認發送後,插件會在原始消息之前創建一個新的會話分支。該分支不包含原始消息及之後的任何內容。
- 重發內容:編輯後的文本會被髮送到這個新分支中。
- 主面板展示:新分支會在主面板中打開,方便你繼續交互。
- 退出編輯:點擊編輯器外部區域,會退出編輯模式且不保存修改。
- 視覺標記:用戶消息會附帶一個淡藍色氣泡,防止將其誤判爲助手回覆。
安裝與啓用¶
使用官方安裝命令將插件添加到你的配置文件中:
dsh plugin --profile <profile> add github:Arbeiter-bit/dsh-reedit
注意事項¶
- 顏色限制:藍色氣泡的顏色爲十六進制
#2563eb,透明度 12%。由於主題沒有提供對應的藍色別名 Token,該顏色在不同主題下可能顯示效果略有不同。 - 重新實現:操作欄是插件重新實現的,文件卡片和間距是手寫的,可能與宿主 UI 存在細微差異。
- 不可原地修改:由於會話日誌是追加的,該插件無法修改消息本身,而是通過創建分支來實現“重寫”的效果。
- 依賴容錯:插件讀取
@deepseek-ai/dsh-client-ui-primitives時使用了 try/catch,如果依賴缺失,內容會降級爲純文本顯示。
結語¶
dsh-reedit 提供了一種低成本修改歷史上下文的方式,適合需要微調指令或糾正錯誤的場景。插件源碼與目錄信息可參考下方鏈接。