前言¶
用 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 小時刷新;失敗時回退緩存或內置表。
典型用法¶
- 在 DSH 憑據服務中配置你實際使用的分區密鑰(至少一個即可)。
- 按上文方式安裝插件,重啓引擎並刷新 Web 頁面。
- 在會話裏 選中 屬於 OpenCode Go、DeepSeek 或 Command Code 的路由模型,觀察標題右側小組件;切換到不受跟蹤的路由時組件會隱藏。
- 若顯示
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。