dsh-camel:DeepSeek Harness 免費模型速率限制恢復與自適應節流插件

前言

在使用 DeepSeek Harness (DSH) 進行開發時,免費模型經常會觸發速率限制(Rate Limit),導致請求失敗或任務終止。內置的重試機制往往難以處理這類持續性的限流問題。

下面介紹 dsh-camel 插件。它是一個針對 DeepSeek Harness 的可選插件,由 JuwanXu 維護。該插件專門解決免費模型的速率限制恢復問題,提供基於提供者和模型的自適應配額學習、主動請求節流以及 Retry-After 感知的重試機制。

核心功能

該插件提供以下能力:
* 免費模型速率限制恢復。
* 提供者和模型感知的自適應配額學習。
* 主動請求節流。
* 支持 Retry-After 的重試機制。
* 可見的重試狀態。
* 任務範圍配置。
* 基於會話的活動和配額事件記錄。
* 精確的(提供者,模型)學習隔離。
* 暫停和恢復控制。
* 安全的回退機制。

安裝與啓用

插件通過以下命令安裝到指定配置文件中:

dsh plugin --profile <profile-name> add dsh-camel

使用方法

插件安裝後,所有可執行策略默認爲禁用狀態。需要通過命令或配置啓用。

命令行控制

可用命令取決於宿主是否提供可選命令服務。這些命令是任務本地的,不會修改配置文件:

  • /camel preset recover:啓用無限速率限制重試,禁用節流模式。
  • /camel preset adaptive:啓用無限速率限制重試和自適應節流,禁用固定節流。
  • /camel preset bounded:啓用 5 次速率限制重試,禁用節流模式。
  • /camel off:持久禁用當前任務的所有 Camel 策略。
  • /camel reset:移除當前任務的覆蓋,恢復插件默認值(可能重新啓用全局策略)。
  • /camel set:設置任務配置,將 camel/config 追加到內存覆蓋前。

配置與優先級

配置優先級爲:任務會話覆蓋 > 插件默認值 > 內置值。

插件內置了節流、重試和自適應節流的數值,但所有三個 enabled 值默認爲 false。需要通過配置文件顯式開啓。

示例配置片段:

- id: camel
  config:
    defaults:
      retry:
        enabled: true
        mode: unlimited
        fallbackDelayMs: 60000
      throttle:
        enabled: true
        maxRequests: 20
        windowMs: 60000
        scope: route
      adaptive:
        enabled: false
        initialRequests: 10
        minRequests: 1
        maxRequests: 20
        windowMs: 60000
        safetyRatio: 0.85
        decreaseRatio: 0.7
        increaseAfterWindows: 3
        stateTtlMs: 86400000
        routes:
          - provider: provider-a
            model: model-v3
            enabled: true
            initialRequests: 8
            maxRequests: 12
          - provider: provider-b
            model: model-r1
            enabled: true
            initialRequests: 4
            maxRequests: 6

自適應節流說明

當針對某個解析後的路由啓用自適應節流時,該路由的節流由自適應模式接管,固定節流不再重複應用。自適應准入使用 max(minRequests, floor(learnedRequests × safetyRatio))。匹配的 RATE_LIMIT 會使用 decreaseRatio 降低學習計數。當窗口被清理後,increaseAfterWindows 次後可提升計數。

適用場景與注意事項

  • 專注速率限制:該插件專注於速率限制處理,不替代通用的模型錯誤重試。
  • 無 LLM 調用:插件不會調用 LLM 來分類失敗或調整策略。
  • 邊界工作:插件在代理請求錯誤/重試邊界工作,不會注入用戶提示或需要瀏覽器 UI。
  • 自動重試:插件執行自動速率限制等待/重試,不會重寫消息或分叉對話。

結語

dsh-camel 爲 DSH 插件生態中的速率限制處理提供了具體的工具,特別是在處理免費模型時,能夠通過自適應學習和主動節流提高成功率。

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

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

小夜