dsh-model-manager:把多供應商模型、額度與真實用量收進一頁控制台

前言

DeepSeek Harness(DSH)支持通過各類模型與渠道插件同時接入多家 API。接入一多,對話框裏的模型下拉會把不同供應商的模型混在同一列表裏,來源不好分辨,也容易誤選。額度分散在各渠道設置頁或官方賬號裏,本地到底消耗了多少 token,若只靠印象或粗略估算,很難按小時、按日做對照。

下面介紹社區插件 dsh-model-manager(維護者 Rexray117,GitHub 倉庫 Rexray117/dsh-model-manager,當前版本 1.4.1,MIT 許可證)。它在 DSH 側欄增加獨立全頁「模型管理」,不遮擋 Harness 原生界面:按供應商查看模型、屏蔽多餘項、設默認模型,並彙總剩餘積分/計劃額度,以及從會話日誌按多種時間粒度統計真實 token 用量。

這是什麼

dsh-model-manager 是 DSH 桌面端/Web 端均可使用的插件(分類:模型推理)。定位可以概括爲:把散落在各處的模型目錄、渠道額度與本地會話計量,收攏成可管理、可量化、可屏蔽的一頁控制台。

Host 側複用 Harness 已有的 llm 與 agentDefaultModel 服務,不重複實現模型邏輯;新接入的供應商或模型插件會自動出現在頁面上。數據讀寫均在本機完成,README 明確說明不上報、不外傳頁面上的數字。

模型管理

側欄新增「模型管理」入口,打開全頁管理界面。

供應商與模型清單

  • 供應商分爲「已啓用」(已註冊適配器)與「可配置 · 未激活」(缺憑據或配置)兩組。
  • 每個供應商展示名稱、機器 ID、狀態、剩餘額度標籤、模型數量、配置域(settingsNs)、默認接入地址;同名模型的歸屬可對照查看。
  • 逐供應商列出模型 ID、描述、輸入模態(文本/圖像),並標出當前默認項。
  • 支持按供應商名、ID、模型名、模型 ID、描述實時搜索;狀態篩選爲「全部 / 已啓用 / 未激活」。

屏蔽、恢復與默認模型

  • 每行眼睛按鈕控制該模型是否出現在對話框模型菜單;表頭提供「全部恢復」「全部屏蔽(二次確認)」「顯示已屏蔽」;已屏蔽行灰顯並標註,屏蔽數量實時顯示。
  • 「設爲默認」把選中模型寫入新會話默認(落盤到 profile 的 cordis.patch.yml);僅允許已註冊且存在於供應商目錄中的模型,非法調用返回明確錯誤且不寫入錯誤配置。隻影響新會話,當前會話仍在輸入框上方模型菜單切換。

屏蔽機制因供應商類型而異(渠道 channel-pack、pi-ai 路由白名單、或其他供應商的本地記錄),詳見 README「模型屏蔽的兩種機制」表;pi-ai 路由屏蔽會重載配置,進行中的請求可能中斷,重發即可。

WorkBuddy 雙版本

workbuddy 路由同時承載國際版(如 gpt/gemini/claude/grok 系)與國內版(如 glm/hy/kimi/minimax/deepseek 等)模型。頁面上模型帶「國際版 / 國內版 / 共用」標籤,詳情頁按版本分組並提供分組屏蔽/恢復與版本篩選。

額度與消耗

「額度與消耗」視圖彙總各渠道剩餘積分/額度及單位(積分、tokens、USD、CNY 等)、賬號數、套餐明細與滾動窗口(如 15 天);DeepSeek 官方賬號可顯示充值與贈送錢包。

  • 計劃額度(opencode Go):對 opencode-go 等按訂閱計劃計量的供應商,卡片頭部給出最緊一檔剩餘百分比(滾動窗口/本週/本月取最小),數據來自 opencode 官方用量接口(按 API key),與本地日誌無關;失敗時顯示原因而非假數據。
  • 今日與近 7 日消耗:全局與逐供應商彙總。
  • 模型消耗速度:明細表按「加權÷日」排序,可切換今日/請求數/名稱;含今日 tokens、窗口 tokens、請求數、均 tokens/次、價格倍率、加權消耗速度與吞吐等;價格倍率來自模型顯示名中的 x0.5 / x0.05 / 免費 等渠道倍率。
  • 可用天數預估:額度以 token 計價時(如 ZCode),可按近期日均消耗推算約可用天數。
  • 點「刷新額度」重新查詢上游;未查詢過的渠道會明確標註。缺失數據源時對應字段顯示 —,頁面不因此報錯。

額度與積分口徑與各供應商自身接口一致;「餘額查詢失敗」表示接口暫時不可用,可稍後刷新重試。

用量統計

五種時間粒度:小時 / 日 / 周 / 半月 / 月,同一份數據切換查看;空時段補零以保持趨勢線連續。默認聚焦 opencode-go,可切換到任意有用量記錄的供應商或「全部」。

口徑爲真實計量,不是估算:逐個讀取會話日誌 ~/.dsh/sessions/**/session.v4.jsonl.zstd(依賴 Node ≥ 22.15 內置 zstd 解壓),只取 assistant/message 事件裏的 usage.inputTokens + outputTokens 與 message.source.{provider,model},因此 API 直連供應商(如 opencode-go、pi-ai 路由)同樣被統計。頁面底部會標明本次統計涉及的會話數與請求數。

按文件 mtime + size 做增量緩存:首次掃描約 3–4 秒,之後刷新約 30–60 毫秒;會話寫入中會重掃最近 2 個文件,避免漏掉進行中的會話。「加權÷日」= tokens × 價格倍率,用於橫向比較消耗速度,不是貨幣金額。

安裝與啓用

插件要求 DSH 0.2.x(用到 llm、agentDefaultModel、connection 等穩定服務),平臺支持 Windows / macOS / Linux;dependencies 爲空,不引入第三方 npm 包。安裝後側欄即出現入口,Host 路由隨插件加載生效,無需重啓應用。

推薦從 Releases 下載 dsh-model-manager-1.4.1.zip(版本號以 Releases 頁爲準),解壓到本機目錄後,在 DSH 插件管理界面選擇本地目錄安裝,或使用命令:

plugin_manager action=install_bundle target=<解壓後的絕對路徑>

若遇 npm 鏡像缺少平臺包,可指定官方源:registry=https://registry.npmjs.org/。

源碼修改後,在 DSH 插件管理裏關閉再啓用該插件即可熱重載,無需重啓應用。

注意:插件以當前 DSH 進程權限運行,會讀本機會話日誌、~/.dsh/.credentials.yaml 中的 API key(僅 Host 進程內用於查詢額度)及 profile 配置。安裝前應自行審閱 倉庫源碼 與 MIT 許可證,確認符合你的環境與安全要求。

典型用法

  1. 安裝並啓用插件後,從側欄打開「模型管理」。
  2. 在模型視圖中按供應商瀏覽目錄,用搜索/篩選定位模型;對不需要出現在下拉菜單的模型點眼睛屏蔽,或將常用模型「設爲默認」。
  3. 切換到「額度與消耗」,查看各渠道剩餘額度與近 7 日消耗;需要時點「刷新額度」拉取上游。
  4. 在「用量統計」中選擇供應商與時間粒度,對照柱狀圖與明細表查看 tokens 與請求數;口徑以會話日誌爲準,可與渠道 App 內積分顯示分開理解。

Host 暴露的 HTTP 接口(均需經 Harness 瀏覽器鑑權)包括:GET /api/model-manager/summary、GET /api/model-manager/models?provider=<id>、POST /api/model-manager/default、GET /api/model-manager/quota?days=7、POST /api/model-manager/quota/refresh、GET /api/model-manager/usage?provider=<id>&days=30、GET /api/model-manager/plan?force=1、POST /api/model-manager/hidden 等,供頁面同源 fetch 使用。

適用場景與注意

適合同時接入多家模型/渠道插件、希望統一看清來源、精簡模型菜單、對照額度與本地真實 token 用量的 DSH 用戶。未激活供應商需先在對應設置頁補全憑據,否則無法列舉模型(頁面顯示 —)。

DSH 生態理念是「一切皆插件」;社區目錄頁 skillhub.cn 上的插件條目 爲獨立站點收錄,與 DeepSeek / 幻方無官方從屬關係,安裝來源以你信任的倉庫與 Release 爲準。

結尾

經過上面的步驟,dsh-model-manager 把模型目錄、屏蔽與默認、渠道額度、opencode Go 計劃窗口以及基於會話日誌的多粒度用量,集中在一頁完成。若要進一步瞭解實現與數據表,可直接閱讀 GitHub README 與倉庫內 index.js、quota.js、usage.js、session-scan.js 等模塊說明。

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

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

小夜