dsh-magpie-connect:把 Magpie 網關模型接進 DSH 模型選擇器

前言

DeepSeek Harness(DSH)的會話能力依賴你在運行時選用的 LLM。若模型跑在本地 Magpie 網關後面,常見做法是單獨維護一份模型列表、手寫 OpenAI 兼容地址,或在 harness 外再掛一層代理。插件 dsh-magpie-connect(維護者 bitxeno,倉庫 bitxeno/dsh-magpie-connect)把 Magpie 網關上的模型註冊爲 DSH 原生 LLM 適配器:裝好後在 Web 端設置裏填網關地址和 Key,模型會進入 DSH 模型選擇器,無需爲網關單獨起進程或配系統代理。

這是什麼

dsh-magpie-connect 是 DSH 社區插件目錄中「模型推理」類插件,簡介爲:將 Magpie 網關模型快速接入 DeepSeek Harness。它在 DSH 內實現 MagpieAdapter(LlmAdapter),通過 OpenAI 兼容的 chat/completions 或 responses 流與網關通信;模型目錄來自網關 GET {baseUrl}/models,並在本地緩存,網關不可達時還有編譯期靜態快照兜底。

狀態與設置寫在 ~/.dsh-magpie-connect/(含 settings.json、模型緩存、adapter-status.json)。插件以當前 dsh 進程權限運行,安裝前建議在 GitHub 上查看源碼與 MIT 許可證。

核心功能

以下能力均來自插件 README 與 package.json 說明:

  • 模型自動同步 — 網關列出的模型可進入 DSH 模型選擇器;具體顯示哪些由白名單(enabledModels)決定,語義與 DSH 自帶「模型」設置一致。
  • 圖片識別 — 網關聲明支持圖片的模型可發圖;純文本模型收到圖片會直接報錯,不會靜默丟棄。
  • 思考檔位 — 網關支持的思考檔位(含 none、ultra)原樣出現在選擇器;none 關閉思考,ultra 直通網關,不在本地截斷。
  • 容錯與刷新 — 啓動即註冊適配器,目錄後臺預熱;可配置刷新間隔、重試與多種超時;暴露模型集合變化時會通知瀏覽器重讀緩存。

安裝與啓用

環境要求:DSH 的 web profile、Node.js ≥ 20、運行 DSH 的環境能訪問 Magpie 網關。package.json 中聲明的 DSH 引擎範圍爲 >=0.2.0-rc.1 <0.2.1-0 或 >=0.2.1-alpha.1 <0.3.0-0(以你實際安裝的 DSH 版本爲準)。

官方安裝命令如下:

dsh plugin --profile web add dsh-magpie-connect

安裝後重啓 dsh web。已安裝時用同一條命令可更新到最新版本(npm 包當前版本爲 0.4.1)。

典型用法

第一步:在設置頁填網關地址和 Key

打開 設置 → Magpie 網關,確認兩項後點「保存」:

  • API 地址 — 須帶版本段,默認 http://127.0.0.1:3425/v1;網關不在本機時改爲實際地址。插件只在你填的 base URL 後接資源路徑,不會自動補 /v1。
  • API Key — 必填;即使網關不校驗 Key,也需要非空字符串纔會生效。

保存後可點「測試連接」查看是否連通及網關上有多少模型。地址有默認值而 Key 沒有,未填 Key 前模型選擇器爲空。

第二步:選擇要顯示的模型

點 獲取可用模型,在彈窗中勾選需要的模型,再點「應用選擇」。列表是白名單:網關新上架的模型不會自動出現,需在彈窗裏勾選並應用;刪掉的行會從列表和選擇器一起移除,網關某條 lane 臨時抖動也不會把已刪模型偷偷加回。

恢復默認模型 會清掉自定義列表,回到直接使用網關完整目錄;空列表 [] 與「繼承網關目錄」是兩種不同狀態——前者不提供任何模型,後者全量提供。

「獲取可用模型」成功時會用網關當前目錄整體替換本地目錄,下架模型會同步消失;讀取失敗則不會清空本地目錄,避免誤清選擇器。彈窗使用的是當前表單裏的地址和 Key(即使尚未保存),便於換網關時一次試連。

模型增刪會自動保存;地址和 Key 須點「保存」才生效。

用配置文件代替設置頁(可選)

可在 profile 的 cordis.patch.yml 中寫入插件配置,例如:

- id: dsh-magpie-connect
  name: 'dsh-magpie-connect'
  config:
    providerId: dsh-magpie-connect
    displayName: Magpie
    baseUrl: http://127.0.0.1:3425/v1   # 帶版本號的完整地址
    apiKey: not-needed           # 網關通常不校驗,但必須非空
    refreshSeconds: 300
    maxRetries: 2
    timeoutMs: 300000
    firstEventTimeoutMs: 90000
    idleTimeoutMs: 60000

優先級爲:設置頁 > cordis.patch.yml > 默認值;設置頁只覆蓋你保存過的字段。其餘配置項(如 dataDir、各超時與 refreshSeconds)見 README 中的表格說明。

適用場景與注意

適合誰:已在用或計劃用 Magpie 作爲 LAN 網關、希望在 DSH Web 裏統一選模型、並需要圖片與思考檔位與網關聲明一致對齊的開發者。

常見問題(摘自文檔):

  • 選擇器爲空 — 先確認地址(含 /v1 等版本段)、Key 已保存,再「測試連接」。
  • 發圖失敗 — 僅支持網關聲明爲可收圖的模型;且圖片需經 harness 附件服務讀取,缺少該服務的組合也會失敗。
  • 從舊版升級 — 首次啓動會把舊 hiddenModels 轉爲 enabledModels 並寫入 ~/.dsh-magpie-connect/settings.json,只執行一次。

DSH 生態強調「一切皆插件」;SkillHub 插件目錄 是社區站點,與 DeepSeek / 幻方無官方從屬關係。安裝第三方插件前請自行審閱源碼與權限影響。

鏈接

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

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

小夜