dsh-model-usage:在 DSH Web 里查看模型供应商额度与用量

前言

在 DeepSeek Harness(DSH)里切换 DeepSeek、GLM Coding Plan、OpenRouter、Kimi 等路由时,额度往往分散在各家控制台,本机实际跑了多少 token 又要翻会话或猜。订阅套餐按窗口计费、余额按充值扣费,把用量折成「大概花了多少钱」也容易误导。社区插件 dsh-model-usage(npm:@ponydev/dsh-model-usage,维护者 PonyDevAI)面向 DSH Web 用户:额度走服务商接口,用量跟本机会话日志里的 usage 字段对齐,并在侧边栏与设置页集中展示。

这是什么

dsh-model-usage 是 DSH 的 Web UI 插件,分类属于模型推理相关能力。它在界面中实时展示各模型供应商的额度/余额与本机统计用量,支持 DeepSeek、GLM(Z.ai)、Kimi、OpenRouter、MiniMax、OpenCode 等内置适配,也可通过 customQuota 接任意余额或窗口式额度接口。数据原则在 README 里写得很明确:只用真实数据,不做金额估算。

核心功能

侧边栏与弹窗

  • 侧边栏底部显示当前供应商的额度/余额卡片;点击可打开全部供应商弹窗(README 描述为 Codex 式交互)。
  • 配置项 footer 默认为 true,可控制是否显示该入口。

设置页

  • 设置 → 模型用量:KPI、趋势图、按供应商/模型聚合、请求日志、CSV 导出;右上角提供「检查更新」(对比 npm 最新版,可复制更新命令)。
  • 设置 → 模型:页面底部展示各供应商额度。

README 列出官方 Logo 覆盖 DeepSeek、GLM(Z.ai)、Kimi、OpenRouter、MiniMax、OpenCode、OpenAI、Anthropic、Gemini、xAI、Qwen、Mistral、Groq、GitHub Copilot 等 25+ 标识。具体接口与凭据环境变量见仓库 docs/providers.md 与 README 表格,例如:

供应商 数据接口(节选) 凭据引用(节选)
DeepSeek API api.deepseek.com/user/balance DEEPSEEK_API_KEY
GLM Coding Plan open.bigmodel.cn / api.z.ai 额度接口 ZAI_CODING_CN_API_KEY / ZAI_API_KEY
OpenRouter openrouter.ai/api/v1/credits OPENROUTER_API_KEY
Kimi Coding Plan api.kimi.com/coding/v1/usages KIMI_CODING_API_KEY 等
自定义 customQuota(URL + JSON 路径) 自定义 keyRef

DeepSeek 账号还可通过 Host deepseekAccount 服务(登录态)取数,不依赖 API Key 环境变量。

数据口径

  • 用量:来自 assistant/message 事件中服务商回传的 usage(input / cacheRead / cacheWrite / output),与本机会话日志逐 token 一致。
  • 额度/余额:服务商接口返回的真实值。
  • 真实消耗观测:刷新时比对余额或套餐额度变动,记录当日实际支出与充值(分开记、不冲抵)。
  • 统计范围:本机、安装后写入会话日志的调用;旁路调用(如标题生成、压缩摘要)与其他设备不计入。
  • 账本路径:$DSH_HOME/model-usage/ledger.json(按日聚合,保留 120 天;首次启动回填近 30 天)。

安装与启用

要求宿主 DSH 版本为 >= 0.2.0-rc.2 < 0.3.0(见 package.json 的 engines.dsh)。

1、通过 CLI 安装:

dsh plugin --profile web add @ponydev/dsh-model-usage

2、或在 Web「插件」页搜索 @ponydev/dsh-model-usage 安装。

3、安装后重启 Web 宿主并刷新页面。README 给出的 macOS 示例:

launchctl kickstart -k gui/$(id -u)/local.deepseek-harness.web

本地开发可链接目录(需自行准备源码路径):

dsh plugin --profile web add link:/path/to/dsh-model-usage

配置示例

在 cordis.patch.yml 中对应 model-usage 行的 config 下调整。常用键如下:

键 默认 说明
refreshSeconds 60 额度刷新间隔(秒)
footer true 是否显示侧边栏底部入口
credentials {} 按路由覆盖凭据引用
glm {} GLM 的 organization / project / planType
customQuota {} 通用额度适配器

余额式自定义适配示例:

config:
  customQuota:
    mycoder:
      url: https://api.example.com/quota
      auth: bearer
      keyRef: MYCODER_API_KEY
      balance:
        path: data.balance
        currency: CNY

窗口式(如 5 小时滚动额度)示例:

config:
  customQuota:
    mycoder:
      url: https://api.example.com/quota
      windows:
        - key: rolling
          label: 5h
          usedPath: data.used
          limitPath: data.limit
          resetAtPath: data.resetAt
          resetAtUnit: ms

按路由覆盖 Key 引用时,可在 credentials 中写类似 { "deepseek-official": "MY_DEEPSEEK_KEY" } 的结构(字段名以你当前 DSH 路由 id 为准)。

安全与适用注意

README 说明:API Key 仅在 Host 内存中解析,不进入浏览器;RPC 不返回密钥;只请求白名单域名;账本仅存用量聚合,不含对话内容;错误信息会对 sk-*、Bearer * 等脱敏。

插件以当前 DSH 进程权限运行,会向各服务商配置的官方接口发起请求。安装前建议在 GitHub 仓库 查看源码与 MIT 许可证,并确认本机已配置相应环境变量或 Host 登录态。

DSH 生态强调「一切皆插件」;SkillHub 目录页 为社区收录站点,与 DeepSeek / 幻方无官方从属关系。

结尾

若你已经在 DSH Web 里接多家模型路由,dsh-model-usage 把额度卡片、用量面板和请求日志收进同一套界面,并坚持「接口真额度 + 日志真用量」。可从目录页了解收录信息,或直接在 GitHub 查看完整供应商矩阵与架构文档:https://github.com/PonyDevAI/dsh-model-usage。

羽毛球分组比赛记分
小程序二维码

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

小夜