dsh-regen:在 DeepSeek Harness 裏一鍵「重新生成」同一提問

前言

在 DeepSeek Harness(DSH)裏做智能體對話時,經常需要對同一輪用戶提問再跑一遍:模型回答不滿意、限流或網關中斷導致該回合沒有助手消息、或者只想在不動原會話的前提下換一條分支。社區裏已有一些「重新生成」類插件,但 README 說明它們在部分當前 DSH 構建上無法加載——有的依賴已不存在的客戶端包,有的被主機的 peer-dependency 校驗拒絕。dsh-regen 由 Mark54s 維護,是一個體量很小的自包含 bundle,只走公開插槽與主機服務,並在上述場景之外,專門覆蓋生成失敗或中斷的回合(日誌裏沒有 assistant/message、官方助手圖標行不渲染時,仍能在回合末尾點到重新生成)。

下面介紹插件定位、能力與安裝用法;事實以 GitHub 倉庫 README 爲準。

這是什麼

dsh-regen 給 DSH 對話界面加上類似 ChatGPT 的「重新生成」箭頭(↻)。點擊後不會改寫源會話,而是分叉出新會話:歷史保留到該提問之前(不含該輪),再用同一個用戶 prompt 重跑;譜系通過 parentSession 保留,原會話保持不動。

維護者與倉庫:Mark54s / github.com/Mark54s/dsh-regen。社區目錄頁:skillhub.cn/plugins/Mark54s/dsh-regen(獨立站點,與 DeepSeek / 幻方無官方從屬關係)。許可證:MIT。package 版本爲 0.1.0;README 記載在 DeepSeek Harness 0.2.0-rc.2(desktop 與 web profile)上做過端到端驗證。

核心功能

界面與交互

  • 箭頭 ↻ 出現在左下角功能鍵一行,與複製、分支等並列:僅圖標、無文字標籤,懸停有原生 tooltip。
  • 箭頭自身有 busy / done / failed 狀態;失敗回合上箭頭會短暫標紅。
  • 對已有助手回覆的正常回合,箭頭在圖標行;對失敗或中斷的回合,箭頭畫在該回合末尾(turnTail 插槽),並用 :has() 規則保證同一回合只顯示一個箭頭。

分叉與上下文

  • 重新生成通過 fork 實現:新會話 = 該 prompt 之前的歷史 + 同一 prompt 再執行一次。
  • 新會話沿用源會話的 cwd、工作區歸屬與該回合的模型路由;不 patch 引擎內部,主機側使用 sessionQuery、agents、sessions、workspaceRegistry、webServer 等公開能力,客戶端只註冊 conversation.chat.assistant-actions 與 conversation.chat.turnTail 兩個插槽條目。

HTTP 接口(主機半)

同域 POST /regen,請求體示例:

{ "sessionId": "session-…", "turn": 6 }
{ "sessionId": "session-…", "messageId": "…" }
{ "sessionId": "session-…" }

最後一行表示默認針對「最後一個帶用戶 prompt 的回合」。響應側會返回新會話相關信息(含 parentSessionId、turn、hadAssistantReply、cwd 等字段,見 README 示例)。

安裝與啓用

插件聲明 dsh.bundle.patch,安裝後會自動登記到 dsh.profile.bundles。README 給出的安裝方式如下(desktop profile):

# 從 GitHub
dsh plugin --profile desktop add github:Mark54s/dsh-regen

# 從本地目錄
dsh plugin --profile desktop add /path/to/dsh-regen

# 從 npm(README 註明需等首個 npm 發佈)
dsh plugin --profile desktop add dsh-regen

中文說明裏同樣列出:

dsh plugin --profile desktop add dsh-regen
dsh plugin --profile desktop add github:Mark54s/dsh-regen

安裝完成後需要重啓 DSH。桌面版路徑:菜單 應用 → 重啓 DeepSeek Harness。

典型用法

  1. 安裝並重啓 DSH 後,打開任意會話。
  2. 將鼠標移到某一回合下方的功能鍵區域(含生成失敗、沒有助手消息的那一輪)。
  3. 點擊 ↻;等待生成結束後,界面會自動切換到新分叉出的會話,原會話內容不被修改。

若該回合曾因上游 HTTP 429、網關熔斷等原因失敗,重試仍走該回合的模型路由;README 建議先等上游恢復再點重新生成。

適用場景與注意

適合誰: 需要在 DSH 裏對同一提問多次採樣、或要在失敗回合上直接重試、且希望保留原會話與分叉譜系的開發者與用戶。

兼容性: README 寫明在 0.2.0-rc.2 上驗證可啓動且無缺失依賴;插件通過 dsh.compatibility.dshReleases 聲明兼容信息,其他構建請以列表提示爲準。客戶端 peer 依賴 @deepseek-ai/dsh-client-ui-primitives(>=0.1.5-rc.1)。

安全與權限: 插件隨當前 DSH 進程權限運行,安裝前請自行查看 源碼 與 MIT 許可證,確認符合你的環境策略。

結尾

dsh-regen 用很小的 bundle 補上當前 DSH 上「重新生成」插件的加載缺口,並把失敗回合也納入可點擊範圍;行爲是 fork 而非覆蓋,適合作爲日常對話裏的輕量重試工具。

羽毛球分组比赛记分
小程序二维码

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

小夜