前言¶
DeepSeek Harness (DSH) 的插件系統允許開發者擴展核心行爲。dsh-llm-retry-settings 是一個插件,它提供了一個設置卡片,允許用戶直接在 DSH 的“設置 -> 通用”界面中調整 LLM 自動重試策略(包括重試次數、退避時間和抖動)以及處理輸出截斷後的自動續寫。它通過覆蓋 agent/request-error 重試策略來實現這些控制。
核心功能¶
該插件在設置界面提供了一個卡片,用於配置重試和續寫行爲。
- 設置界面集成:插件通過
client bundle lib/client.js注入 UI,在 DSH 的“設置 -> 通用”中顯示“LLM 自動重試”卡片。 - 重試參數覆蓋:開啓覆蓋後,可以調整
maxRetries(最大重試次數)、initialDelayMs(初始延遲)、maxDelayMs(最大延遲)和jitterRatio(抖動比率)。 - 錯誤碼管理:支持從已知錯誤碼列表中選擇,或直接在“自定義”組中輸入新的錯誤碼(需符合
A-Z 0-9 _ - .格式),這些代碼會被合併到各提供商的重試列表中。 - 輸出截斷自動續寫:兼容內核 0.1.7-alpha.1,當回覆被輸出 token 上限截斷時,可自動觸發續寫(默認關閉)。
- 細粒度覆蓋:支持按提供商和模型進行單獨的策略覆蓋,優先匹配規則,支持
*通配符。 - 觀測面板:卡片底部包含一個只讀面板,實時顯示重試失敗的統計、自動續寫的記錄以及達到上限的輪次。
- 內核兼容:兼容 DSH 新內核 0.1.7-alpha.1。
安裝與啓用¶
安裝前請確保已擁有一個 DSH Desktop 配置文件(Web 配置文件位於 ~/.dsh/profiles/web)。
使用 dsh plugin 命令安裝:
dsh plugin --profile web add github:zeng6125-rgb/dsh-llm-retry-settings
安裝完成後,需要在配置文件中註冊該插件。在對應的 dsh.profile.bundles 配置項中添加 "dsh-llm-retry-settings",然後重啓 DSH。
典型用法¶
- 打開 DSH 的 設置 -> 通用。
- 找到 LLM 自動重試 卡片。
- 切換 開啓覆蓋 開關以應用該策略。
- 設置
maxRetries、initialDelayMs等參數,並在錯誤碼列表中選擇或添加特定錯誤碼。 - (可選)開啓 輸出截斷自動續寫 並設置
maxContinuations上限。如需自定義續寫提示詞,可在 續寫提示詞 中輸入,留空則使用內置提示詞。
適用場景與注意¶
該插件適合需要對 LLM 調用的重試策略進行精細化控制,或者需要處理因輸出 token 上限導致回答中斷的場景。
- 默認行爲:默認情況下
enabled: false,插件處於完全旁路狀態,不會修改任何默認行爲,直到手動開啓覆蓋。 - 命令區分:請使用
dsh plugin(DSH CLI 的子命令),而不是dsh-plugin。 - 源碼審查:安裝插件前,建議檢查源代碼與許可證。
短結尾¶
這個插件通過將重試策略配置下沉到設置界面,讓開發者能夠更直觀地管理 LLM 調用的容錯機制。詳細的配置項與目錄頁信息請參考 GitHub 倉庫。