dsh-quota-meter:在 DSH 侧边栏实时显示 DeepSeek API 余额与可用 token 估算

前言

用 DeepSeek API 驱动 DSH 时,有两个常见的麻烦:一是查余额要切到官网后台,打断手头工作;二是估算「还够用多久」很费劲——DeepSeek 的计价分低峰和高峰时段,缓存命中与未命中价格又差一个量级,手工换算基本不现实。

dsh-quota-meter 解决的就是这个问题。它在 DSH Web 界面的侧边栏底部直接显示 API 剩余额度,并按「当前模型 × 低峰/高峰计价」估算可用 token 数,还附带每轮对话的实际花费图。

这是什么

dsh-quota-meter 是一个 DSH Web 插件,由 huolianJiao 维护,许可证为 MIT,当前版本 0.1.0。它要求 dsh ≥ 0.1.0-rc.6,且已配置 DeepSeek API key。

一句话定位:把 DeepSeek API 的余额、估算可用 token 和实际花费,搬进 DSH 的侧边栏。

核心功能

  • 余额徽章:收缩侧边栏时是带状态圆点的图标;展开时显示「余额 · 估算 token · 时段」一行。
  • 详情面板:总余额 / 赠送余额 / 充值余额、可用状态、按模型 × 低峰/高峰的混合估算与缓存区间(0%–100% 命中边界,当前时段高亮)。
  • 实测用量:缓存命中率、输入/输出占比、每轮实际花费柱状图。柱状图按每轮自己的时间戳计价,悬浮可显示明细。
  • 可视化配置:设置页直接编辑计价表、高峰时段、回退占比等,保存即生效,无需重启。
  • 安全:API key 只在本地 host 进程解析,绝不下发浏览器;余额接口仅回环地址可访问。

其中「实测用量」这部分值得说明:混合估算和缓存区间给出的是「如果缓存命中率在 0% 到 100% 之间波动,余额大概能撑多少」,而每轮花费柱状图基于真实请求的计费口径(含缓存命中比例、输入输出 token 数),两者对照看,对预算的把握会准很多。

安装与启用

先确认 dsh 版本 ≥ 0.1.0-rc.6,然后执行:

dsh plugin --profile web add github:huolianJiao/dsh-quota-meter

如果是从本地 checkout 安装,用:

dsh plugin --profile web add link:./dsh-quota-meter

装好后重启 web profile(重新执行 dsh web),刷新页面即可看到侧边栏底部的余额徽章。

配置 API Key

插件默认读取凭据引用 DEEPSEEK_API_KEY(可在设置页切换)。任选其一:

环境变量:

DEEPSEEK_API_KEY=sk-...

或写入 DSH 凭据文件 $DSH_HOME/.credentials.yaml

DEEPSEEK_API_KEY: sk-...

插件配置

有两种方式。

设置页(推荐):进入 Settings → 「DS API 计费 / DS API Billing」,可视化编辑计价表、高峰时段、回退占比等。保存立即生效,不用重启。

补丁文件(固化默认值):在 profile 的 cordis.patch.yml 里按 id 覆盖配置,重启生效:

- id: dsh-quota-meter
  config:
    apiKeyEnv: DEEPSEEK_API_KEY
    baseURL: https://api.deepseek.com
    pollIntervalMs: 60000
    summaryModel: deepseek-v4-pro
    peakWindows:
      - { start: "09:00", end: "12:00" }   # 北京时间,[start, end)
      - { start: "14:00", end: "18:00" }
    pricing:                                # 元 / 百万 token
      - model: deepseek-v4-flash
        offPeak: { input: 1.5, cacheHit: 0.05, output: 4.5 }
        peak:    { input: 3.0, cacheHit: 0.10, output: 9.0 }
      - model: deepseek-v4-pro
        offPeak: { input: 4.5, cacheHit: 0.15, output: 13.5 }
        peak:    { input: 9.0, cacheHit: 0.30, output: 27.0 }

可覆盖的键包括 apiKeyEnvbaseURLpollIntervalMssummaryModelpeakWindowspricing 等。注意 peakWindows 是北京时间、左闭右开区间;pricing 的单位是元 / 百万 token。当官方价格调整时,直接改这张表就行。

两者的分工:设置页适合日常调整、立即生效;补丁文件适合把团队统一的计价表和高峰时段固化下来。

二次开发说明

插件零构建,改完即用:

  • lib/client.js(浏览器端):刷新页面即可生效;
  • lib/index.js(host 端):重启 web profile 生效。
npm test   # 运行 smoke 测试

package.json 中的 peerDependencies(@deepseek-ai/cordis ^4.0.1、@deepseek-ai/dsh-client-runtime / dsh-client-locale / dsh-client-ui-model-selection ^0.1.0-rc.6)均标记为 optional,不会强制拉取依赖。

适用场景与注意

适合这些场景:

  • 长时间用 DSH + DeepSeek API 的开发者,想随时掌握余额,不想频繁切官网后台;
  • 需要精确控制预算的批量任务:混合估算给出 token 数量级,每轮花费图给出真实消耗;
  • 同时使用多个模型、关心低峰/高峰差价的人:详情面板按模型 × 时段分开展示,差价一目了然。

安装前请注意两点:

  1. 插件以当前 dsh 进程的权限运行。dsh-quota-meter 在安全设计上做了限制(API key 只在本地 host 进程解析、余额接口仅回环地址可访问),但安装任何第三方插件前,都应先阅读其源码,确认行为符合预期。
  2. 插件采用 MIT 许可证,README 与 package.json 均有标注。使用前确认许可证满足你的使用场景。

结尾

dsh-quota-meter 做的事很克制:把 DeepSeek API 的余额、按模型和时段估算的可用 token、每轮实际花费,直接显示在 DSH 侧边栏里,并且把计价表开放成可配置项。如果你在 DSH 上重度使用 DeepSeek,这个插件能省掉不少切后台、算差价的时间。

  • 目录页:https://www.skillhub.cn/plugins/huolianJiao/dsh-quota-meter
  • GitHub:https://github.com/huolianJiao/dsh-quota-meter
羽毛球分组比赛记分
小程序二维码

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

Xiaoye