前言¶
在 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