dsh-migrate-on-429: DeepSeek Harness 429 限流自動遷移插件

前言

DeepSeek Harness (DSH) 採用插件化架構。當會話因上下文過長頻繁觸發 429 TPM 限流時,傳統的重試策略往往只會重複發送超大上下文,導致持續失敗並消耗額度。舊插件 dsh-auto-continue-429 僅支持反覆 continue,無法從根本上解決問題。

dsh-migrate-on-429 旨在解決這一問題。它是一個工作流插件,當檢測到頻繁 429 時,會自動總結當前會話並遷移到新會話繼續任務。與舊插件不同,它採用“先取消舊會話、再啓動新會話”的串行交接策略,確保任務轉移而非並行執行,從而避免在限流池中空燒額度。

核心功能

該插件提供以下核心能力:

  • 智能限流檢測:自動監聽 agent/request-error 和 session/event,識別 RATE_LIMIT、QUOTA 或 CONTEXT_WINDOW_EXCEEDED 錯誤。
  • 閾值前重試:在達到遷移閾值前,按退避延遲自動向當前會話發送 continue 消息重試。
  • 自動交接遷移:達到閾值後,自動生成交接摘要,創建全新會話並注入任務,舊會話則停止運行。
  • 串行交接:執行嚴格的串行邏輯——先中止舊會話並等待其空閒,再創建新會話,防止新舊會話並行導致衝突。
  • 工作區自動登記:新會話創建後,通過 workspace.attachSession 自動登記到源會話所屬的工作區,確保側邊欄可見。
  • 多子代理防連環交接:引入全局協調機制,防止父代理開啓多個子代理時,因所有子會話同時觸發 429 而導致連鎖的遷移與 429 循環。
  • 雙端安全:客戶端代碼零 node builtins,宿主入口無 @deepseek-ai import,確保瀏覽器端打包安全。

安裝與啓用

安裝本插件前,必須先移除舊插件 dsh-auto-continue-429,兩者監聽同一事件源,同時啓用會互相沖突。

  1. 卸載舊插件:從 dependencies 和 dsh.profile.bundles 中移除 dsh-auto-continue-429。
  2. 安裝新插件:運行以下命令安裝 scoped 包 @minyang2026/dsh-migrate-on-429。
dsh plugin --profile web add @minyang2026/dsh-migrate-on-429

重啓 DeepSeek Harness 應用後,插件生效。

配置與使用

配置文件默認位於 ~/.dsh/migrate-on-429.json。你也可以在 Web 設置頁的「429 自動遷移」Tab 中修改配置,或通過環境變量 DSH_MIGRATE_ON_429_CONFIG 指定自定義路徑。

主要配置項說明:

配置鍵 默認值 說明
enabled true 主開關
quickOn true 對話框快捷開關
migrateThreshold 3 連續失敗達到此數觸發遷移(建議 2-50)
windowMs 180000 請求級 429 滾動統計窗口(毫秒)
llmSummary true 嘗試使用 LLM 精煉交接摘要(失敗自動回退結構化提取)
continueMessage "continue" 閾值前自動重試的消息內容
globalCooldownMs 60000 每次遷移後的全局冷卻時間(毫秒)

手動觸發遷移可以通過 HTTP API:

POST /api/migrate-on-429/migrate-now
# Body 可選 { "sessionId" }

注意事項

  1. 生態收錄狀態:本插件尚未提交收錄至 awesome-dsh-plugin.com 市場,無法通過 Web 界面搜索安裝,請務必使用命令行安裝。
  2. 依賴要求:插件依賴 @deepseek-ai/cordis 和 @deepseek-ai/dsh-llm。
  3. 插件互斥:請勿與 dsh-auto-continue-429 同時啓用,已證實兩者會互相搶奪控制權。
  4. 運行權限:插件運行在 DSH 進程權限下,安裝前建議檢查源碼與許可證。

總結

dsh-migrate-on-429 是解決 DeepSeek Harness 長上下文 429 限流問題的有效方案。它通過自動總結、串行交接和多子代理保護機制,確保了任務在遇到限流時能平穩過渡到新會話,避免了無效的重試循環。對於需要處理複雜、長對話任務的場景,該插件能顯著提升穩定性。

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

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

小夜