dsh-model-surplus:在會話標題旁看模型用量與賬戶餘量

前言

用 DeepSeek Harness(DSH)跑多模型會話時,額度往往分散在不同上游:OpenCode Go 有滾動 / 周 / 月窗口,Command Code 有 5 小時與周窗口,DeepSeek 官方則是賬戶餘額。切模型後若仍靠瀏覽器外查用量,容易打斷調試節奏。下面介紹社區插件 dsh-model-surplus(維護者 itchenshi),它在 會話標題右側 按 當前選中的模型 展示對應分區的用量、套餐額度或餘額;不屬於 npm 包,需通過 DSH 插件機制或 DSH Ready GUI 安裝。

這是什麼

dsh-model-surplus 是 DSH 的 客戶端(Web) 插件:小組件掛在會話標題右側,用到哪個模型就顯示哪一份數據,切換模型會立即顯示或隱藏。上游 HTTP 請求在 宿主端 發出,API 密鑰從引擎憑據服務按引用讀取,不會下發到瀏覽器。三個業務分區(OpenCode Go、DeepSeek、Command Code)各自獨立上報;只配置其中一個分區的密鑰時,其餘分區仍可工作,缺失部分會顯示原因(如 no key、usage n/a)。

核心功能

OpenCode Go

  • 展示滾動、周、月三個窗口的 用量百分比(賬戶級,上游接口不按單模型拆分百分比)。
  • 展示 當前所選模型 的月度上限(例如 上限 $60);上限數據來自公開文檔頁,與百分比來源不同,二者可能對不齊,屬預期行爲。

DeepSeek

  • 展示賬戶餘額:總餘額 / 贈送 / 充值。
  • 餘額不可用時顯示「餘額不足」。

Command Code

  • 展示 5 小時 / 周 兩個窗口的已用與上限。
  • 展示賬戶 剩餘額度。

刷新與可見性

  • 小組件約 每 60 秒 向宿主路由拉取一次展示數據。
  • 各分區上游結果在宿主側 緩存 120 秒;失敗後 30 秒內不重試。
  • 僅噹噹前選中模型屬於某分區配置的 providers 路由集合時,該分區相關 UI 纔會出現;自定義路由名需寫入對應分區的 providers。

安裝與啓用

DSH Ready GUI(推薦)

插件隨 GUI 內置:打開 GUI → 設置窗口 →「第三方插件」勾選 模型餘量,安裝完成後按提示 刷新頁面(插件包含頁面側組件)。

其它 DSH 宿主(dsh web / CLI)

任選一條命令安裝(均包含 cordis.patch.yml,裝完無需額外配置):

# 推薦:直接從 GitHub 裝
dsh plugin --profile web add github:itchenshi/dsh-model-surplus

# 備選:從 Release tarball 裝(示例版本 v0.4.6)
dsh plugin --profile web add https://github.com/itchenshi/dsh-model-surplus/releases/download/v0.4.6/dsh-model-surplus-0.4.6.tgz

本包 不在 npm registry(registry.npmjs.org 無此包),只能使用上述方式或 GUI 內置項。

安裝後 重啓引擎並刷新頁面,小組件纔會出現在會話標題右側。

憑據與配置

默認憑據引用

分區 默認憑據引用
OpenCode Go OPENCODE_GO_API_KEY
Command Code COMMANDCODE_GOAT_API_KEY
DeepSeek DEEPSEEK_API_KEY

宿主啓動時若插件已加載,日誌中會出現類似 [model-usage] active (opencode-go: providers=opencode-go|opencode key=OPENCODE_GO_API_KEY; ...) 的行;沒有該行說明插件未加載。

cordis.patch.yml(id: model-usage 的 config,均可選)

鍵 默認 說明
enabled true false 時整個插件直接返回
opencodeGo.baseUrl https://opencode.ai/zen/go/v1 上游根地址
opencodeGo.apiKeyRef OPENCODE_GO_API_KEY 憑據引用名
opencodeGo.providers [opencode-go, opencode] 視爲 OpenCode Go 的路由
deepseek.baseUrl https://api.deepseek.com 上游根地址
deepseek.apiKeyRef DEEPSEEK_API_KEY 憑據引用名
deepseek.providers [deepseek-official] 視爲 DeepSeek 的路由
commandcode.baseUrl https://api.commandcode.ai 額度接口根地址;寫聊天地址 .../provider/v1 也認
commandcode.apiKeyRef COMMANDCODE_GOAT_API_KEY 憑據引用名
commandcode.providers [commandcode-goat, commandcode] 視爲 Command Code 的路由

頂層直接寫 baseUrl / apiKeyRef / providers 時,仍按 opencodeGo 分區解讀(插件早期僅支持 OpenCode Go)。

OpenCode Go 單模型月度上限:插件從 https://opencode.ai/docs/zh-cn/go/ 抓取並緩存在 <DSH_HOME>/logs/model-surplus-limits.json,每 24 小時刷新;失敗時回退緩存或內置表。

典型用法

  1. 在 DSH 憑據服務中配置你實際使用的分區密鑰(至少一個即可)。
  2. 按上文方式安裝插件,重啓引擎並刷新 Web 頁面。
  3. 在會話裏 選中 屬於 OpenCode Go、DeepSeek 或 Command Code 的路由模型,觀察標題右側小組件;切換到不受跟蹤的路由時組件會隱藏。
  4. 若顯示 no key,檢查對應分區的 apiKeyRef 與宿主中的密鑰是否一致;若看不到組件,檢查當前模型是否在對應 providers 列表中。

適用場景與注意

適合:長期在 DSH Web 界面調試多上游模型、需要在同屏查看套餐用量或 DeepSeek 餘額的開發者。

環境與兼容(以倉庫 package.json 爲準):

  • DSH >= 0.1.5-rc.2(清單標註與 0.1.5-rc.2、0.2.0-rc.2 兼容)。
  • Node >= 20。
  • 更早引擎版本未測試;各分區可獨立降級。

安全與信任:插件以 當前 DSH 進程權限 運行,並代表你向配置的上游發起請求。安裝前請閱讀 GitHub 源碼 與 MIT 許可證,確認憑據引用與 baseUrl 符合你的部署策略。DSH 社區插件目錄(如 SkillHub 目錄頁)爲獨立生態站點,與 DeepSeek / 幻方無官方從屬關係。

結尾

dsh-model-surplus 把 OpenCode Go 窗口用量、Command Code 額度與 DeepSeek 餘額收斂到會話標題旁,且隨當前模型切換,減少在多站點之間覈對額度的次數。進一步瞭解可訪問目錄頁 itchenshi/dsh-model-surplus 與倉庫 github.com/itchenshi/dsh-model-surplus。

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

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

小夜