在 DeepSeek Harness (DSH) 的開發與調試過程中,精細控制 LLM API 請求行爲是提升穩定性與調試效率的關鍵。dsh-request-manager 插件旨在通過全局配置策略,接管並修改 DSH 的默認請求行爲,例如調整請求間隔、覆蓋重試次數以及處理特定場景下的請求失敗。
核心功能¶
該插件通過會話區頂部的「請求管理」按鈕提供控制面板,所有設置全局生效且跨會話共享,配置會自動持久化。
請求額外間隔¶
在每個 API 請求之間插入額外的延時(毫秒)。該設置不影響會話的首個請求,對於自動重試和手動重試同樣適用。將數值設置爲 0 可禁用此功能。
重試次數覆蓋¶
修改 API 請求失敗後的自動重試次數。DSH 默認的重試次數爲 5 次。本選項允許自定義該數值,留空則表示不覆蓋默認策略。需要注意的是,對於 DSH 默認不重試的失敗類型(如 SSE stream ended without [DONE] 或 NETWORK ERROR),本選項不會影響其處理邏輯。
攔截“請求失敗”¶
當 API 請求失敗後,插件會自動展開面板,提供處理決議。本功能對 DSH 默認不重試的失敗同樣生效。
- 重試:原地重發同一請求(仍受額外間隔約束),若再次失敗會重複顯示。
- 放棄:按 DSH 原生路徑終結該輪請求。
- 超時設置:可配置超時時長(秒)與超時動作。
0表示不啓用超時機制。選擇“自動重試”時,持續失敗的請求會按超時週期反覆重發。
安裝與啓用¶
安裝插件後需要重啓 DSH 進程才能生效。
dsh plugin --profile web add github:tree-func/dsh-request-manager
使用說明¶
- 打開 DSH 的任意會話。
- 點擊會話區頂部的「請求管理」按鈕。
- 在彈出的面板中進行配置。配置值決定功能是否介入:
- 輸入非零數值啓用“請求額外間隔”。
- 輸入非零數值啓用“重試次數覆蓋”。
- 選擇“攔截”並配置超時動作以啓用“攔截失敗”。
技術架構¶
插件採用 Bundle 形式,包含 Host(index.js)與 Client(client.js)兩部分。
- Host:掛載在 Web Profile 根層,監聽
agent/request(插入間隔)和agent/request-error(重試與攔截)事件,並註冊/reqmgr-api路由供前端讀寫配置。 - Client:通過官方 ModuleLoader 加載,註冊 UI 按鈕與面板,使用語義化 CSS 變量適配主題,並從 localStorage 恢復配置。
已知侷限¶
- 會話隔離:失敗攔截的提示(面板展開、按鈕警示圓點)僅出現在發生失敗的會話中。若長時間未切回該會話,掛起狀態會按超時設置自動重試或放棄。
- 界面語言:界面文案跟隨 DSH 的語言設置自動切換。
生態背景¶
DSH 是基於插件化架構的 DeepSeek 代理工具。本插件由開發者 tree-func 維護,遵循 MIT 許可證。社區目錄提供插件的索引服務,與 DeepSeek 官方無隸屬關係。