dsh-token-usage:DSH Web UI 的 Token 用量统计插件

前言

在 DSH Web 中做智能体开发时,一次任务可能触发多次 LLM 调用。如果需要观察 token 用量,单独翻看请求记录不够方便,也很难按 API、模型和日期做对比。

zerro-223/dsh-token-usage 是一个 DeepSeek Harness Web UI 插件,用来捕获每次 LLM 调用的用量,并在侧边栏打开一个统计面板,展示 Token 消耗、估算成本、趋势图和每日用量热力图。

这是什么

dsh-token-usage 是 DeepSeek Harness Web UI 的 Token 用量统计插件。它由 zerro-223 维护,npm 包名为 @zerro223/dsh-token-usage,版本为 1.1.1,许可证为 MIT

插件捕获 llm/stream 中每次 LLM 调用的用量,并按 API(provider)、模型、日期展示统计与图表。

核心功能

插件在 DeepSeek Harness Web UI 侧边栏底部增加「Token 用量」入口,打开统计面板。主要能力包括:

  • 按 API(provider)、模型、日期展示 Token 消耗。
  • 监听 llm/stream waterfall 事件,捕获每次模型调用的 usage chunk,包括输入、输出、缓存读、缓存写、推理 tokens。
  • 持久化到 ~/.dsh/storages/token-stats/usage.jsonl
  • 展示总 Tokens、请求数、输入、输出、总命中率、估算成本统计卡。
  • 按模型单价估算成本,自动同步 modelradar.cn,并支持手动覆盖。
  • 提供输入、输出、缓存命中、成本双轴趋势图。
  • 提供近一年每日用量热力图。
  • 提供模型汇总表、API/模型筛选、最近 30 条请求。
  • 支持导出 JSONL、JSON、CSV,并可清空全部历史。
  • 每 15 秒自动刷新;标签页隐藏时暂停后台轮询。
  • 适配深色/浅色主题。

安装与启用

环境要求

插件要求 Node >=18,并声明以下 peer dependencies:

{
  "engines": {
    "node": ">=18"
  },
  "peerDependencies": {
    "@deepseek-ai/cordis": "^4.0.1",
    "@deepseek-ai/dsh-home-paths": "^0.1.0-rc.6",
    "react": "^18.0.0"
  }
}

npm 安装(推荐)

先安装插件:

dsh plugin --profile web add @zerro223/dsh-token-usage

安装完成后,重启 DSH Web,然后打开 DSH Web UI 侧边栏底部的「Token 用量」入口。

本地源码安装

如果从本地源码安装,先做两步:

1、将 @zerro223/dsh-token-usage 包目录复制到 profile 的 node_modules

2、在 profile 的 cordis.patch.yml 中追加 token-usage 条目:

token-usage

完成后再重启 DSH Web。

本地目录 / Git 仓库安装

也可以直接安装本地目录或 GitHub 仓库:

dsh plugin --profile web add file:D:/path/to/dsh-token-usage

或:

dsh plugin --profile web add github:zerro-223/dsh-token-usage

典型用法

先重启 DSH Web,打开侧边栏底部的「Token 用量」入口,然后按下面步骤查看。

1、在面板中切换 API、模型、日期范围,查看统计卡与图表。

2、需要保存数据时,使用导出菜单导出 JSONL、JSON 或 CSV;如不需要历史数据,可执行清空全部历史。

3、通过接口读取聚合数据:

/token-stats/api/overview
/token-stats/api/heatmap

/token-stats/api/overview 返回 seriestotalscacheHitRatefilterOptions/token-stats/api/heatmap 返回热力图数据。

完整接口列表如下:

/token-stats/api/overview
/token-stats/api/heatmap
/token-stats/api/export
/token-stats/api/clear

数据存储与限制

数据文件位于:

~/.dsh/storages/token-stats/usage.jsonl

存储行为如下:

  • 内存保留最近 50 万条记录。
  • 文件超过 128MB 时自动压缩,保留最近 50 万条。
  • 多个 profile 共享同一存储文件,压缩时合并最新记录。
  • 插件依赖 webServer 服务,记录与统计仅在有 web 服务的 profile(如 web)中激活。
  • 重试/重复请求每次真实到达 provider 的调用都会记录。
  • 卸载插件不会删除历史数据;重新启用可恢复统计,执行清空全部历史除外。

价格与成本估算

插件按模型单价估算成本。价格自动同步来自 modelradar.cn;CNY 来源模型会标注「自动·源CNY」。手动价格优先于自动价格。

安全与适用场景

DSH 的理念是「一切皆插件」。社区目录是独立站点,与 DeepSeek / 幻方无官方从属关系,不要把它理解成官方应用商店。

该插件以当前 dsh 进程权限运行,安装前应检查源码与许可证。许可证为 MIT,源码仓库见 GitHub 链接。

适合以下场景:

  • 需要在 DSH Web UI 中查看每次 LLM 调用 token 用量的开发者。
  • 需要按 API(provider)、模型、日期对比调用量与估算成本的使用者。
  • 需要导出 JSONL、JSON、CSV 或长期保留用量历史的用户。

结尾

dsh-token-usage 的价值在于把 llm/stream 中分散的 usage chunk 汇总成可按 API、模型、日期查看的统计面板,并支持导出和成本估算。

GitHub:

https://github.com/zerro-223/dsh-token-usage

已核实资料未提供目录页地址,因此本文不列出目录页链接。

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

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

小夜