dsh-poor-router

前言

DSH 支持插件擴展,但免費層級的 API 經常在使用中途耗盡。手動切換很繁瑣。dsh-poor-router 將這些資源池化,追蹤使用情況,監控健康狀況,並自動切換。

插件簡介

dsh-poor-router 是一個預算 LLM 池路由器,用於 DeepSeek Harness。它由 yishengdaxiaonengjihui 維護。插件解決的核心問題是:免費模型分散且壽命短,需要在請求失敗時無縫切換。它提供自動記賬、健康追蹤和基於 Thompson 採樣的自適應路由。

核心能力

  1. 自動記賬
    插件會記錄每個條目的調用次數、成功/失敗/中止狀態、首字生成延遲(EMA)以及 Token 的流入流出。首次發現的模型會自動註冊到 pool.json。

  2. Thompson-sampling 自適應路由
    路由決策基於每個條目的 Beta 後驗分佈和高斯近似採樣。決策時考慮首字生成延遲懲罰(3000ms/ttft)和當前小時的桶權重。34% 的概率會注入一個未使用的同層新模型。

  3. 每小時桶 v2
    擁塞判斷僅基於當日的小時桶(YYYY-MM-DD:HH 本地時間),並配合 7 天滾動修剪。這避免了因歷史數據導致的“幽靈”擁塞。

  4. 同質量階梯
    模型通過 tier: S/A/B/C 標籤分類。路由優先選擇同層模型,其次按 A→B→C 降級,僅在必要時爬升。階梯可在 Web 面板中實時編輯。

  5. 執行器池
    標記爲 role: executor 的廉價高配額模型會被加入執行器池。瑣碎或輔助請求會被路由到剩餘配額最厚的模型。每 6 次這樣的請求中,有一次會進行 epsilon 探索。

  6. 付費護欄
    標記爲 paid: true 的模型擁有每日限額。它們不會出現在候選列表中,僅作爲“轉義艙”使用。當所有免費候選都失效時,插件會切換到最便宜的付費模型,並觸發 SMS 警告。

  7. 提供者斷路器
    針對認證失敗(AUTH)、配額不足(QUOTA)和 429 錯誤分別設置了冷卻時間(10 分鐘、90 分鐘),冷卻狀態會持久化。

  8. 取證與日誌
    插件維護一個保留 50 條的切換日誌(環緩衝區)和 TS 樣本記錄,所有取證數據持久化到磁盤。

  9. Web 面板與重定向徽章
    提供設置頁儀表盤,顯示可用性排名、分組 Ledger 和最近切換記錄。輸入框左側顯示 ⚡ 重定向徽章,展示最近一次請求的來源和原因。

安裝與啓用

在 DSH 環境中運行以下命令安裝插件:

dsh plugin --profile web add github:yishengdaxiaonengjihui/dsh-poor-router

或者手動編輯 package.json,添加依賴並運行 pnpm install。

配置

配置文件主要位於 pool.json(與模型配置同級)和插件的默認路徑 <cwd>/poor-router/。插件級路徑可在 cordis.patch.yml 中覆蓋。

cordis.patch.yml 示例

- id: poor-router
  name: dsh-poor-router
  config:
    dataDir: 'D:/my-data/poor-router'   # 基礎目錄
    layerRules:
      - { match: 'deepseek-official/', layer: 'backbone' }
      - { match: 'tokenrouter/', layer: 'matchstick' }

pool.json 字段說明

字段 含義
id provider/model,必須與 Harness 提供的 ID 一致
expiresAt ISO 格式日期,用於排序和麪板倒計時
grantRemaining / grantUnit 執行器池的預算配置
tier 質量階梯 S/A/B/C
role "executor" 加入執行器池
layer backbone(永不燒) / burn / matchstick
paid + priceInYuanPerM + dailyCapYuan 付費護欄配置
escapeHatch 允許作爲最後手段使用的付費模型

代理工具

插件註冊了兩個會話工具,可通過 CLI 調用:

  • pool_status:獲取完整的快照,包括摘要和每個條目的統計。
  • pool_control:用於覆蓋配置,如 setTier(設置質量)、setRouting(設置路由模式)、setBadge(顯示徽章)、setExpiry(設置過期)、clearProviderCooldown(清除冷卻)等。

注意事項

  1. 無狀態路由:路由決策是每次請求無狀態的,不會永久修改配置。
  2. 轉義艙:當所有免費模型失效時,插件會切換到最便宜的付費模型,並通過 text_me 發送 SMS 提示。
  3. 無頭運行:插件可以在沒有 Web GUI 的情況下運行,CLI 工具依然可用。

參考資源

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

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

小夜