dsh-plugin-gpt-load:將 gpt-load 模型池接入 DeepSeek Harness

前言

DeepSeek Harness (DSH) 採取“一切皆插件”的架構。如果你使用 gpt-load 管理模型池,並希望將其接入 DSH,dsh-plugin-gpt-load 提供了一個直接的方案。該插件解決了 DSH 原生 llm-pi-ai 在 provider 路由一級處理協議的限制,允許在一個分組內混用 OpenAI 和 Anthropic 協議,無需在配置文件中爲每種協議單獨建立 provider。

核心功能

  • 單一分組:在模型選擇器中只顯示一個 “GPT-Load” 分組,不再按協議拆分。
  • 每模型可選協議:默認依據 gpt-load 返回的 protocols 字段判定,也可在設置中將任意模型單獨固定爲 OpenAI 或 Anthropic 協議,或恢復自動判定。
  • 自動同步:啓動時與定時從 /api/models 拉取模型池,無需手動維護配置列表。
  • 能力自動填充:自動讀取上下文窗口、最大輸出、多模態輸入能力以及 Thinking 思考檔位(low/medium/high)。
  • 密鑰安全:AccessKey 交由 DSH 的 credentials 服務保存,不寫入 settings.yaml。
  • 無損寫入:同步操作只更新自身的 gpt-load 配置節,不影響其他 provider 的配置與註釋。

安裝與啓用

  1. 進入目標 DSH profile 目錄(例如 ~/.dsh/profiles/web)。
  2. 運行安裝命令:
cd ~/.dsh/profiles/web && npm install wesleyel/dsh-plugin-gpt-load
  1. 安裝完成後重啓 DSH 進程,插件即生效。

典型用法

安裝並重啓後,可在 Web UI 中進行配置:

  1. 進入 設置 → GPT-Load。
  2. 填寫網關地址(例如 http://127.0.0.1:3001)與 AccessKey。
  3. 點擊「立即同步模型」。

也可以在 profile 的 YAML 配置中預置:

plugins:
  gpt-load-sync:
    endpoint: http://127.0.0.1:3001
    apiKey: gl-your-access-key
    displayName: GPT-Load
    defaultProtocol: auto
    syncOnStart: true
    syncIntervalMinutes: 60

技術說明

實現原理

Harness 的 llm-pi-ai 組件將協議定在 provider 路由一級,模型條目上的協議會被忽略。因此,在 settings.yaml 中無法表達“一個分組裏混用兩種協議”。該插件據此構建 provider,並交給 harness 自帶的適配器處理請求翻譯。

協議判定優先級

  1. 模型自身的 protocol(在設置裏顯式選擇,重啓後保留)。
  2. 上游 protocols 只允許一種可服務協議 → 直接採用。
  3. 上游允許兩種 → 全局 defaultProtocol 生效則用它,否則取上游列表第一個(auto)。
  4. 上游未聲明 → 使用 openai-completions。

只有 openai-completions 與 anthropic-messages 兩種協議可服務,上游聲明的 openai-responses、gemini 等會被忽略。

版本升級

舊版本在 llm-pi-ai 路由中寫入的 gpt-load / gpt-load-anthropic 會被自動接管:插件會先還原 endpoint,再移除這兩條路由。其餘 provider 不受影響。

適用場景

該插件適合需要通過 gpt-load 管理模型池,並希望在一個 DSH provider 分組內靈活切換 OpenAI 或 Anthropic 協議的開發者。使用時請確保安裝前已閱讀源碼與許可證。

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

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

小夜