前言¶
在使用 DeepSeek Harness (DSH) 開發或調試智能體時,API 限流(429)或配額耗盡會導致當前對話中斷。dsh-auto-continue-429 是一個 DSH 插件,旨在監聽 RATE_LIMIT 和 QUOTA 錯誤,並在 dsh-llm-retry 重試耗盡後自動發送 continue 消息以恢復對話流。
核心功能¶
- 自動 Continue:在 step 級重試耗盡後,自動發送
continue消息開啓新 turn。 - 錯誤識別:監聽
RATE_LIMIT(429)和QUOTA(如insufficient_quota)錯誤碼。 - 開關控制:提供對話框底部的快捷開關(
quickOn)和設置頁的主開關(enabled),兩者互不聯動。停用插件後對話框開關條自動隱藏。 - 計數與限制:每會話獨立計數,連續失敗上限爲 20 次。任意一次 turn 正常結束即清零。主動發送任意消息也會清零計數。
- 退避策略:每次 429 後隨機等待 1~2 秒發送 continue。
安裝¶
使用官方命令安裝插件:
dsh plugin --profile web add github:haochi72/dsh-auto-continue-429
安裝完成後,重啓 DSH Desktop 生效。
使用方法¶
- 確認加載:重啓 DSH 後,在對話框輸入區底部會出現膠囊形開關條。
- 切換開關:點擊底部的開關條可切換快捷開關(綠色爲開,灰色爲關)。
- 設置頁控制:在設置頁切換主開關,或自定義連續失敗上限(1-100)。
配置¶
插件支持在 cordis.patch.yml 或 profile 配置中聲明以下項:
- id: auto-continue-429
name: dsh-auto-continue-429
config:
maxRetries: 20 # 連續失敗最大次數(默認20)
continueMessage: "continue" # 發送的 continue 消息文本
架構與權限¶
該插件爲 DSH 標準的雙端插件(Cordis 驅動):
- Host 端:監聽
turn/end事件,攔截錯誤並調度 continue,通過內置 webServer 提供 HTTP 接口。 - Client 端:純 DOM 注入,在輸入區底部創建開關條,通過 HTTP 與宿主端通信。
權限方面,插件不訪問文件系統(僅保存配置到 ~/.dsh/auto-continue-429.json),不讀取 API Key,不外發任何網絡請求(所有路由走 localhost)。
結尾¶
該插件通過自動重試機制減少因限流導致的對話中斷,適合需要長時間運行或高併發測試的場景。更多細節請參考 GitHub 倉庫。