前言¶
在 DSH 的插件化客戶端場景裏,開發者經常需要同時看多個 provider 的賬號狀態、token 統計,以及每次調用的峯谷成本。已有做法是分別掛載賬號監控和 per-call billing,入口分散,也可能出現重複入口。
下面介紹 dsh-plugin-dosage。它把多供應商餘額/賬號監控和峯谷 per-call 計費放到一個側邊欄 Usage/Balance 彈層裏,減少在多個入口之間切換。
這是什麼¶
dsh-plugin-dosage 是一個 DeepSeek Harness 社區插件,由 qingfeng200410 維護,許可證爲 MIT。
它的定位是在 DSH web profile 中提供一個側邊欄入口,用來查看多 provider 的餘額/賬號狀態、token 統計,以及按峯谷時段計算的 per-call 成本。入口是 sidebar 底部的 Usage/Balance popover,而不是額外增加一個 tab。
這是社區插件,與 DeepSeek 無官方從屬關係。
核心功能¶
下面列的是插件提供的能力,均圍繞“一個入口看用量和成本”:
- 入口是 sidebar 底部的
Usage/Balancepopover,而不是額外的 tab。 - 支持多 provider 餘額/賬號監控:
DeepSeek、OpenRouter、Moonshot/Kimi、OpenCode Go、Z.ai、Kimi For Coding、MiniMax Coding Plan,以及 custom/New API/Sub2API monitors。 - token 統計包括
today/month/all-time tokens、cache hits、hit rate。 - per-call 成本按峯谷時段拆分;峯時是北京時間
09:00–12:00和14:00–18:00。 Overviewtab 展示 total spend、峯時與谷時拆分、per-model totals。- 月度 heatmap/calendar 可按 cost、call count、tokens 查看。
- Call log 記錄 model、hit rate、finish reason、peak/off-peak cost,並提供
Today、7 days、30 days、All過濾。 - 展示
deepseek-v4-flash和deepseek-v4-pro的官方 DeepSeek unit prices。 - 支持
CSV、JSON、PNGexport 和按 timestamp merge-import。 - 用戶級數據放在
~/.dsh/dsh-usage,切換項目不會把數據拆開。 - sidebar footer 的 token count 即使彈層關閉也會每 5 秒刷新。
安裝與啓用¶
安裝前需要準備 DSH web profile,以及 dsh 和 pnpm。推薦通過 npm 安裝。
先執行下面命令,把插件安裝到 web profile:
dsh plugin --profile web add dsh-plugin-dosage
如果你要使用 GitHub tag 安裝,命令如下。這裏寫全了 tag v0.1.0:
dsh plugin --profile web add -w github:qingfeng200410/dsh-plugin-dosage#v0.1.0
如果你已有本地 tarball,也可以直接安裝:
dsh plugin --profile web add ./dsh-plugin-dosage-0.1.0.tgz
升級插件時執行:
dsh plugin --profile web update dsh-plugin-dosage
卸載時執行:
dsh plugin --profile web remove dsh-plugin-dosage
卸載後,~/.dsh/dsh-usage/ 下的文件會保留,不會自動刪除。
注意不要把這個插件與 dsh-usage-stats 和 dsh-usage-plugin 一起安裝,避免重複入口或路由衝突。
典型用法¶
下面幾個步驟可以在安裝後直接對照使用。
1、點擊 sidebar 底部的 Usage/Balance,打開統一的使用/餘額彈層。
2、查看多 provider 的餘額/賬號狀態,以及 today/month/all-time tokens、cache hits、hit rate。
3、進入 Overview 查看 total spend、峯時與谷時拆分,以及 per-model totals。
4、進入月度 heatmap,按 cost、call count 或 tokens 查看歷史;進入 Call log 查看 model、hit rate、finish reason 和 peak/off-peak cost。
5、如需導出或合併,可使用 CSV、JSON、PNG export 和按 timestamp merge-import。
如果配置了 OpenRouter,需要使用 OPENROUTER_MANAGEMENT_KEY,不是 inference key。可以在 ~/.dsh/.credentials.yaml 中設置:
OPENROUTER_MANAGEMENT_KEY: <replace-with-your-own-key>
這裏只示意配置位置。不要把真實 .credentials.yaml、API key 或 cookie 貼進 issues。
如果要添加 custom/New API/Sub2API monitors,在 ~/.dsh/profiles/web/cordis.patch.yml 中添加對應 monitors 配置。
數據與憑據邊界¶
這個插件把用戶級數據放在 ~/.dsh/dsh-usage,而不是寫進當前項目目錄。這樣切換項目時,數據不會按項目拆開。
需要注意以下事實:
- 如果設置了
DSH_HOME,相關路徑以該目錄爲基準。 - credentials 在 host 上解析,不會發送到 browser。
- OpenRouter 需要
OPENROUTER_MANAGEMENT_KEY,不是 inference key。 - 沒有官方價格的模型按
¥0計數。 - call records file 的上限是 100,000 條。
- 卸載後
~/.dsh/dsh-usage/下的文件仍會保留。
適用場景與注意¶
適合以下場景:
- 你使用 DSH
webprofile,並同時在多個 provider 上調用模型。 - 你需要在一個側邊欄入口裏查看餘額、token 統計、緩存命中、峯谷成本和調用日誌。
- 你需要導出 usage 數據,或按 timestamp 合併歷史數據。
使用前請注意:
- 這是社區插件,不是 DeepSeek 官方組件。
- 插件以當前
dsh進程權限運行;安裝前建議檢查源碼與許可證。 - 需要 DSH
webprofile、dsh和pnpm。 - 推薦 npm 安裝。
- 不要同時安裝
dsh-usage-stats和dsh-usage-plugin。 - 不要把
.credentials.yaml、API key 或 cookie 貼進 issues。
結尾¶
dsh-plugin-dosage 的價值,是把“賬號餘額”和“每次調用成本”放到同一個側邊欄彈層裏,減少在多個入口之間來回切換。適合在 DSH 客戶端裏做用量、成本和多 provider 賬號的集中查看。
如需在 DSH 社區目錄中查找,可搜索插件名 dsh-plugin-dosage。源碼見:
https://github.com/qingfeng200410/dsh-plugin-dosage