用 dsh-usage-stats 在 DeepSeek Harness 网页端看清余额、配额与 Token 用量

前言

用 DeepSeek Harness(DSH)跑智能体,模型供应商往往不止一家:官方 DeepSeek、OpenRouter 中转、Kimi Coding Plan、Z.ai 订阅窗口……对话在 Harness 里发生,但余额和配额却散落在各家控制台。Token 花了多少、缓存命中率如何、今天哪个模型最费 token,Harness 原生界面也缺少一张「总览仪表盘」。

社区插件 dsh-usage-stats(维护者 Ychris12138,npm 包名 @ychris12138/dsh-usage-stats)面向 dsh web 网页端,把多供应商账户监测与本地 Token 聚合分析收进侧边栏「用量/余额」面板。该插件在 SkillHub 插件库 归类为「客户端」,GitHub 约 119 stars、15 forks,采用 MIT 许可证。

需要说明的是:DSH 的核心理念是「一切皆插件」;SkillHub、deepseek-harness-plugin.com 等社区目录由爱好者维护,与 DeepSeek / 幻方无官方从属关系,安装前请自行审阅源码与许可证。插件以当前 dsh 进程权限运行,涉及账户查询时会读取你本机已配置的凭据引用,不会把 API Key 下发到浏览器。

这是什么

一句话定位:为 DeepSeek Harness Web GUI 提供供应商余额、订阅配额与 Token 用量分析的可视化客户端插件。

数据来源分两块:

  1. 本地 Token 统计:从 Harness 持久化会话日志中折叠 assistant/chunkassistant/message 里 provider 上报的 usage 字段,按日期、供应商、模型聚合。
  2. 远端账户快照:对配置了公开余额/配额接口的 provider,服务端定时拉取余额或 Token Plan 窗口剩余量。

界面支持中文与英文;浏览器只请求当前选中的 provider,后台每五分钟刷新已配置账户,与面板是否打开无关。

核心功能与亮点

统一账户卡片

面板一次只展示当前选中的供应商:

  • 余额型(如 DeepSeek、Moonshot、OpenRouter):显示可用余额与预警状态。
  • 订阅/Token Plan 型(如 Kimi For Coding、MiniMax、Ollama 云、Z.ai):显示分时间窗口的额度与剩余比例。

没有公开账户接口的供应商仍会统计 Token,卡片会标明「不支持」余额查询,不会猜测数值。

Token 用量分析

  • 今日、本月、累计用量与缓存命中率。
  • 月历热图,支持 / 切换月份,点击日期下钻到当天的 provider / model 明细。
  • 「最近 14 天」按本地日历计算,只显示窗口内有记录的日期。

可扩展适配器

除 DeepSeek、OpenRouter、Moonshot 等内置适配外,还支持:

  • New APISub2API / Passion 等中转协议。
  • sub2api-auth:用 provider 自身推理 Key 读 Sub2API 面板余额,可自动识别真实 Sub2API 部署。
  • declarative:受限 GET + JSON Pointer 的声明式自定义查询,不执行 JavaScript。

warning.warnBelow / warning.criticalBelow 可设余额绝对值阈值;有总额度的场景会自动产生 normal / warning / critical 剩余比例状态。

本机安全边界

官方 README 强调的五条设计原则值得安装前了解:

  • 五个 API 端点仅接受回环地址的 GET 请求;非 GET 返回 405,非回环返回 403。
  • API Key、Cookie、管理 PAT 只在服务端解析,不会进入浏览器响应、插件缓存或日志
  • 用量缓存 ~/.dsh/storages/usage-stats-cache.json 只保存聚合 Token 与会话 revision,不保存提示词或回复正文。
  • 自定义 monitor 默认要求 HTTPS、同源相对路径,并限制响应体大小。
  • 请勿把插件端点经反向代理暴露到局域网或公网。

安装与启用

前提:需要 DSH 的 web profile,且 @deepseek-ai/dsh >= 0.1.0-rc.6

推荐:dsh plugin 安装

目录页与 README 给出的命令如下(注意 web profile 与 GitHub 源):

dsh plugin --profile web add "github:Ychris12138/dsh-usage-stats"

安装后重启已运行的 dsh web,并在浏览器中硬刷新。侧边栏底部会出现「用量/余额」(Usage/Balance)入口。

如需可复现安装,可固定 commit:

dsh plugin --profile web add "github:Ychris12138/dsh-usage-stats#commit"

升级与卸载:

dsh plugin --profile web update "@ychris12138/dsh-usage-stats"
dsh plugin --profile web remove "@ychris12138/dsh-usage-stats"

deepseek-harness-plugin.com 目录页亦收录该插件,简写安装方式为 dsh plugin add github:Ychris12138/dsh-usage-stats;若你日常使用 web profile,以上带 --profile web 的写法与 README 一致,更不易装错 profile。

备选:npx 兼容安装器

无法使用 dsh plugin 时,可用同一条命令(PowerShell、cmd、macOS/Linux 终端通用):

npx --yes github:Ychris12138/dsh-usage-stats

安装器会把文件复制到 ~/.dsh/profiles/node_modules/@ychris12138/dsh-usage-stats,并幂等写入 profiles/web/cordis.patch.ymldsh pluginnpx 是两条独立路径,不要同时保留手工 Cordis entry 与 bundle 注册,否则会重复挂载。

预览与检查:

npx --yes github:Ychris12138/dsh-usage-stats --dry-run
npx --yes github:Ychris12138/dsh-usage-stats --check

插件市场 GUI 安装(可选)

该仓库已按 DSH Community Market 标准来源(Path A)接入。因 npm 上 dsh-usage-stats 名称已被占用,目录身份使用 @ychris12138/dsh-usage-stats(当前 catalog 版本 0.2.10)。若要通过市场 GUI「安装」按钮一键安装,需维护者先发布 scoped 公共 npm 包并将 catalog 发布到 GitHub Pages;在此之前,GitHub / dsh plugin 路径更直接。

凭据与典型配置

凭据由 Harness 从 ~/.dsh/.credentials.yaml 解析;安装器不会读取或修改该文件。不要把真实 Key 提交到 Git 或粘贴给编码 Agent。

余额型供应商示例

DeepSeek、Moonshot 等默认复用对应 provider profile 的 apiKeyEnv

# ~/.dsh/.credentials.yaml
DEEPSEEK_API_KEY: sk-your-key-here

OpenRouter 是明确例外:账户 credits 接口要求 Management Key,不能复用普通推理 OPENROUTER_API_KEY

OPENROUTER_MANAGEMENT_KEY: sk-or-v1-your-management-key

Token Plan 供应商示例

OPENCODE_GO_API_KEY: sk-opencode-your-key
ZAI_API_KEY: your-zai-key
KIMI_API_KEY: your-kimi-key
MINIMAX_API_KEY: your-minimax-key
OLLAMA_API_KEY: sk-ollama-your-key

中国区 Z.ai / MiniMax 可分别设置 ZAI_API_REGION=bigmodel-cnMINIMAX_API_REGION=cn

自定义 monitor(节选)

在现有 @ychris12138/dsh-usage-stats 的 Cordis entry 下合并 config,不要追加第二个插件 entry。monitor 键须对应 Harness 中真实的 provider id:

# ~/.dsh/profiles/web/cordis.patch.yml
- insert:
    - id: usage-stats
      name: "@ychris12138/dsh-usage-stats"
      config:
        monitors:
          relay-a:
            adapter: new-api
          relay-b:
            adapter: sub2api-auth

Sub2API 面板若已作为普通 provider 配置进 DSH,插件可探测 GET /api/v1/settings/public 并自动按 sub2api-auth 读取余额,通常无需单独写 adapter。

典型用法

  1. 启动 dsh web 并打开对话界面。
  2. 点击侧边栏「用量/余额」。
  3. 用「当前供应商」下拉切换账户卡片。
  4. 在热图区域用 / 切换月份,点击某天查看 provider / model 明细。
  5. 标题栏刷新会更新 Token 聚合、provider 列表,并强制刷新当前账户快照。

统计口径来自 provider 上报的 usage,不是本地估算;同一 turn 的后续样本会替换旧样本。手动刷新不会批量强制请求其他供应商的远端账户。

适用场景与注意事项

适合谁:

  • 长期在 dsh web 里开发,同时使用多家 API 或 Coding Plan 的开发者。
  • 需要在本机一眼看清「今天花了多少 token、哪家余额快见底」的智能体用户。
  • 运营 New API / Sub2API 中转,希望在 Harness 内直接看 relay 余额的人。

注意事项:

  • 仅适用于 web 客户端;TUI 或其他 profile 不在设计范围内。
  • 安装前阅读 SECURITY.md,确认网络边界与凭据处理方式符合你的安全要求。
  • OpenCode Go 等上游 Bearer usage 接口可能随官方变化,需关注插件版本更新。
  • 插件依赖 Harness 预发布接口(Cordis、session persistence 等),大版本升级后可能需要同步更新插件。

结尾

如果你已经在 Harness 里接了好几家模型,却还在浏览器标签页和各家控制台之间来回切换,dsh-usage-stats 把余额、配额与 Token 热力图收进侧边栏,是目前社区里较完整的一类「用量仪表盘」方案。GitHub 约 119 stars 也说明不少 DSH 用户确实需要这层可视化。

安装命令再抄一遍:

dsh plugin --profile web add "github:Ychris12138/dsh-usage-stats"

重启 dsh web 后,打开「用量/余额」,从你最常用的那家 provider 开始看即可。

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

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

小夜