dsh-live-billing
Verifieddsh-live-billing · v0.2.0 · MIT · Web UI
Realtime session billing for DeepSeek Harness: estimated CNY cost beside the context-usage percentage, with a per-bucket off-peak/peak hover card.
Install
dsh plugin add dsh-live-billing Confirm the layer applied with dsh --profile default --dump-config — see the install guide.
Source
Published to npm without a public repository. Inspect the package contents before installing.
Tags
Creators
Readme
dsh-live-billing
DSH 实时会话计费插件。在输入框下方的统计条里,紧挨着上下文占用百分比的右侧,实时显示本会话按 DeepSeek 官方单价估算的人民币费用。
1 轮 26 步 · 203 tok/s 1.5M tok · 缓存命中 95% ◯ 8% ¥0.203
安装
npm 包发布后,可以直接安装:
dsh plugin --profile <your-profile> add dsh-live-billing
也可以在 DSH 的 Plugins → Discover → Add index source 中添加本包自带的轻量市场索引(发布后可用):
https://cdn.jsdelivr.net/npm/[email protected]/market-index.json
或:
https://unpkg.com/[email protected]/market-index.json
索引由一个条目组成,列出本包;图标已内联,索引自包含。
工作方式
- Host 半身注册一个
liveBilling会话投影,从持久化会话日志中读取每次模型请求由 provider 上报的usage,按该请求发生时刻的峰谷价和模型单价累计费用,并保留空闲/高峰分项。 - Client 半身注册到
conversation.composer.dock,id 为billing,并用 CSSorder: 1排在内置ContextMeter(上下文百分比)之后;金额胶囊与点击明细卡共用同一份投影数据。 - 投影随每条会话事件推送,不需要轮询;空闲时零请求。
- 宿主投影尚未产出首帧时,Client 会用内置的
tokenUsage与modelSelection投影做一次快速估算,保证胶囊立即出现。
计费口径
单价来自 DeepSeek 官方价格页(2026-10-25 核对),单位为人民币 / 百万 tokens:
| 模型 | 缓存命中输入 | 缓存未命中输入 | 输出 |
|---|---|---|---|
deepseek-flash 闲时 |
¥0.02 | ¥1 | ¥4 |
deepseek-flash 高峰 |
¥0.04 | ¥2 | ¥8 |
deepseek-v4-pro 闲时 |
¥0.15 | ¥4.5 | ¥13.5 |
deepseek-v4-pro 高峰 |
¥0.30 | ¥9 | ¥27 |
deepseek-chat |
¥0.20 | ¥2 | ¥3 |
deepseek-reasoner |
¥1 | ¥4 | ¥16 |
- 高峰时段:北京时间周一至周五 09:00–12:00、14:00–18:00,且不含中国法定节假日;其余时间(含周末、节假日)为闲时。
- 2026 年法定节假日已内置;跨年后请按国务院公告更新
index.js/client.js中的HOLIDAYS。 - 缓存写入按缓存未命中价计费(DeepSeek 当前没有单独的缓存写入价)。
- 失败重试、被取消的请求只要产生了 provider
usage也计入。 - 子代理是独立会话,各自统计。
显示与交互
- 胶囊只显示
¥0.203这样的金额;点击金额胶囊会打开一张与内置「Token 用量」统计弹窗同风格的明细卡。再次点击金额、点击卡片外部或按Esc关闭(与内置统计胶囊的交互一致)。- 顶部是标题与总费用;
- 按官方计费表分成 百万 tokens 输入(缓存命中)、百万 tokens 输入(缓存未命中)、百万 tokens 输出 三组;
- 每组再分 空闲时段 / 高峰时段 两行,分别显示 tokens 数量与对应费用;
- 每组标题右侧显示该计费项的单价区间(如
¥0.02–0.04/M)。
- 明细卡数据来自 Host 投影的
periods,按每次请求发生时刻分别累计闲时与高峰费用;投影尚未就绪时,Client 回退为按当前模型单价的一次性估算,并在卡片底部标注。 - 未识别单价的模型按
deepseek-flash单价估算,并在卡片底部标注。 - 目前不包含网页 Search / Fetch 调用费(官方将于 2026-11-01 起按次收费)。
结构
| 文件 | 作用 |
|---|---|
index.js |
Host 半身:liveBilling 投影、官方单价、峰谷判断、按计费项/时段折叠 |
client.js |
Client 半身:conversation.composer.dock 胶囊、点击明细卡、locale、回退估算 |
cordis.patch.yml |
Bundle 激活层,插入 Host 行 |
locale/*.json |
插件管理器的标题与描述 |
icon.svg |
插件图标 |
已知限制
- 这是估算:实际扣费以 DeepSeek 官方账单为准;金额按每次请求发生时刻的单价累计,官方最终按请求实际计费时间结算,边界分钟可能有细微差异。
- 只有 provider 上报了
usage的请求才计入;尚未拿到 usage 的进行中请求不会显示预估增量。 - 模型单价写死在代码里,官方调价后需要更新。