前言¶
在 DeepSeek Harness(DSH)裏做智能體或長對話時,發出去的用戶消息往往沒法「當作沒發過」再改一版:會話日誌是 append-only,底部輸入框只能繼續往後聊。一旦提示詞寫錯、意圖表達不清,常見做法是開新會話或手動複製粘貼,工作目錄裏的文件狀態也不會跟着「對話回退」。
下面介紹客戶端插件 dsh-chat-rewind(維護者 cyh8037):雙擊你自己發出的某條消息即可就地編輯,確認後在該消息之前切會話分支並重新發送,後續回答隨之重新生成;工作目錄中的文件不會被回退,原會話可保留或由選項自動歸檔。
這是什麼¶
dsh-chat-rewind 是 DSH 的 Web 客戶端插件(分類:客戶端),npm 包名爲 dsh-chat-rewind,當前倉庫版本 1.0.0,許可證 MIT。
Harness 沒有公開的「原地截斷會話」接口,本插件的實現方式是:在目標用戶消息之前調用會話分支能力,在新分支裏發送修改後的內容,從而在體驗上達到「從這條消息重新開始」的效果,而不動磁盤上的項目文件。
核心功能¶
覈實自項目 README 的能力如下:
- 進入編輯:雙擊用戶消息,或懸停後點鉛筆圖標;內聯編輯預填原文。
- 快捷鍵:
Enter發送、Shift+Enter換行、Esc取消,與底部 composer 一致;點編輯區域外部會收起編輯態;同一時刻只允許一個編輯態。 - 圖片:原消息帶圖片時,圖片會隨新消息一起發送,可逐張刪除,也可粘貼或拖拽新增。
- 歸檔開關:底部「歸檔原會話」開關默認開啓;發送成功後歸檔源會話。
- 不可編輯情形:帶文件附件的消息不允許編輯;子代理會話中的消息不允許編輯;不可編輯項不顯示編輯按鈕,雙擊也無反饋,保持官方渲染形態。
- 失敗處理:發送失敗時,剛創建的空分支會被自動歸檔,減少側欄重複分支。
安裝與啓用¶
本倉庫是本地 bundle,無需構建。安裝命令須以 README 原文爲準,勿自行拼接 dsh plugin add github:...。
方式一:在 DSH 中安裝 bundle
在 DSH 中執行(將 target 換成本地 clone 或解壓後的目錄絕對路徑;README 要求把目錄放到任意位置後安裝,此處不執行 git clone):
# 在 DSH 中執行:
# plugin_manager install_bundle target=<本目錄絕對路徑>
方式二:寫入 profile 的 patch 文件
在當前 profile 的 cordis.patch.yml 中加入:
- insert:
- id: chat-rewind
name: 'dsh-chat-rewind'
安裝後在 Web UI 刷新頁面即可生效(客戶端插件在頁面啓動時加載;package.json 中 dsh.client.immediately 爲 true,並注入 @deepseek-ai/dsh-client-ui-chat)。
插件以當前 DSH 進程及 Web 前端環境運行;安裝前應自行審閱 源碼 與 MIT 許可證。
典型用法¶
- 在 Web UI 打開已有會話,找到你自己發送且可編輯的一條消息(無文件附件、非子代理會話)。
- 雙擊該消息(或懸停點鉛筆),修改正文;若含圖片,按需刪除或粘貼/拖拽新圖。
- 確認底部「歸檔原會話」是否符合預期(默認開:成功後歸檔原會話)。
- 按
Enter發送;插件會在該消息之前創建分支併發送新內容,後續模型回覆在新分支中生成。 - 若需放棄編輯,按
Esc或點擊編輯區外。
行爲與兼容性¶
會話與文件:原會話可保留或由歸檔開關處理;工作目錄文件不回退。歸檔默認 stopActivity: true——若源會話正在運行,歸檔可能中止其活動。
渲染契約:插件覆蓋 conversation.chat.node 的 user 渲染器,並複用官方的 conversation.chat.user.content Factory 與 conversation.chat.user.before chain。註冊前校驗 sessions.fork,渲染前校驗槽位 props;契約不滿足時會撤銷註冊、恢復官方渲染器,並在控制台輸出 warning。
已知限制與注意¶
- 只處理用戶消息。
- 帶文件附件不可編輯;圖片可帶入,但已被上下文壓縮卸載(offloaded)的圖片不會帶入新消息。
- 子代理會話中的消息不可編輯。
- 分支不再自動追加 「(1)」 標題後綴(README 說明爲避免孤兒分支)。
- 發送被宿主拒絕時,底部發送可能因本地 pending 計數而提前關閉編輯態。
適合需要在 Harness 對話流裏快速改一條歷史用戶消息並分叉重試、且接受「文件狀態不隨對話回退」的 DSH 用戶。
結尾¶
dsh-chat-rewind 用客戶端內聯編輯 + 會話分支,把「改消息再從該點繼續」做成雙擊即可完成的操作,同時明確不回退工作區文件。
社區插件目錄爲獨立站點,與 DeepSeek / 幻方無官方從屬關係;DSH 生態遵循「一切皆插件」的擴展方式,可按需選用並自行維護信任邊界。