前言¶
在 DeepSeek Harness(DSH)中,一次會話回合可能因爲出錯、被中斷,或輸出達到 token 上限而沒有正常結束。這類情況下,會話本身仍然可以繼續推進,只需要向原會話再發送一句「繼續」。
下面介紹 Frog755 的 DSH 客戶端插件 @frog755/dsh-client-auto-retry。它用於在這幾類回合結束原因出現時自動發送「繼續」,不做模型或 provider 切換。
這是什麼¶
@frog755/dsh-client-auto-retry 是一個 DSH 客戶端插件,由 Frog755 維護,許可證爲 MIT。
它會檢測 turn/end 的 reason.kind。當該值屬於 error / interrupted / max-tokens 時,插件會自動向同一會話發送可配置文本,默認文本是「繼續」。
插件自帶設置卡片,設置項即時生效,標記爲:
applies: "live"
它只負責自動發送「繼續」,不做模型/provider 切換。如果需要故障轉移,應該在 DSH 的模型路由配置裏完成。
核心功能¶
1、檢測 turn/end 的 reason.kind 是否爲以下類型之一:
error
interrupted
max-tokens
2、自動向該會話發送可配置文本,默認發送:
繼續
3、提供寬限期、冷卻期、連續次數上限、啓動掃描等防護,避免失控循環。
4、設置項即時生效:
applies: "live"
5、不做模型/provider 切換。
6、自帶設置卡片。
安裝與啓用¶
下面是通過 npm 包安裝的步驟。
1、在 DSH 的 profile 目錄執行:
pnpm add @frog755/dsh-client-auto-retry
這一步會把插件包安裝到當前 profile 的依賴中。
2、編輯該目錄下的 package.json,把 @frog755/dsh-client-auto-retry 加入 dsh.profile.bundles。
這一步用於讓 DSH 在加載該 profile 時識別這個插件。
3、執行:
pnpm install
這一步完成依賴安裝。
4、重啓 DeepSeek Harness,再刷新瀏覽器頁面。
Host 側插件只在進程內加載一次;Host 側 lib/index.js 改動需要重啓 DSH,只刷新瀏覽器頁面不夠。
本地 link 開發調試時,可以在 dependencies 中使用類似配置:
{
"dependencies": {
"@frog755/dsh-client-auto-retry": "link:C:/Users/frog/.dsh/projects/dsh-client-auto-retry"
}
}
上面的路徑是文檔中的本地示例,實際使用時應替換爲你自己的本地插件路徑。
典型用法¶
設置入口是:
設置 → 通用 → 斷聯自動重試
進入後可以看到插件的設置卡片。插件觸發後會自動發送默認文本「繼續」,也可以按需要調整自動發送的文本。
幾個防護項需要注意:
maxConsecutive建議保持默認 5 次以內,避免 provider 持續報錯時反覆消耗 token。scanOnBoot只掃描freshMs窗口內的會話。- 當前已針對 DSH
0.1.0-rc.7(web 端 profile;desktop runtime 同版本)編寫並驗證;不同版本/形態的 DSH 接口可能不同。
適用場景與注意¶
這個插件適合處理 DSH 會話中回合被中斷、出錯或達到 max-tokens 後的簡單續跑。
它不適合作爲錯誤兜底,也不負責模型/provider 故障轉移。插件會作爲 DSH profile bundle 加載,並以當前 DSH 進程的運行環境執行;安裝前應檢查源碼與許可證。
如果插件裝不上或不生效,先覈對 DSH 版本與接口是否一致,再檢查以下事項:
1、package.json 中是否已把 @frog755/dsh-client-auto-retry 加入 dsh.profile.bundles。
2、是否已執行 pnpm install。
3、是否已重啓 DeepSeek Harness。
4、Host 側 lib/index.js 改動後是否已重啓 DSH。
鏈接¶
GitHub 倉庫:
https://github.com/Frog755/dsh-client-auto-retry
社區目錄頁地址未在本次已覈實資料中確認。