dsh-token-stats:为 DeepSeek Harness 增加 Token 用量统计

前言

DeepSeek Harness(DSH)围绕插件机制组织扩展能力。对于使用 DSH 进行会话和智能体开发的开发者来说,Token 消耗、模型使用分布和 DeepSeek 账户余额通常是日常需要关注的数据。

dsh-token-stats 是 huantian1223 维护的一个 DSH 插件,许可证为 MIT。它解析 DSH 会话日志 session.jsonl.zstd 中的真实 provider usage,不估算、不抓包,把用量整理为统计信息、热力图、模型/工作区排名、会话角标和余额信息。

下面介绍这个插件能做什么、如何启用,以及日常查看时常用的几个入口。

这是什么

dsh-token-stats 的定位是 DeepSeek Harness 的 Token 用量统计插件。它面向本地 DSH 会话日志,解决“看得到调用,但不方便看用量结构”的问题。

它主要提供几类信息:

  • 累计、今日、峰值 Token,以及最长聊天时长、当前连续天数、最长连续天数。
  • GitHub 风格 12 个月活动热力图,支持每日、每周、累计视图,也支持 12 个月、3 个月、30 天范围切换。
  • 输入、输出、缓存读取、缓存写入、推理的消耗构成。
  • 模型和工作区维度的消耗排名。
  • 会话头部的当前会话 Token 角标与 DeepSeek 账户余额角标。
  • DeepSeek 账户余额显示与刷新,以及余额预警。
  • 独立统计页、按日期下钻会话明细、重复标题会话合并、分页和 CSV 导出。

数据来源

插件不依赖外部估算,也不抓包。它读取 DSH 会话日志 session.jsonl.zstd 中记录的真实 provider usage,并基于这些数据生成统计结果。

统计结果存储在:

$DSH_HOME/token-stats/usage.jsonl

其中 $DSH_HOME 是 DSH 数据根目录,默认是 ~/.dsh,也可以通过 DSH_HOME 环境变量指定。

核心功能

用量统计

页面会展示累计 Token、今日 Token、峰值 Token,以及最长聊天时长、当前连续天数和最长连续天数。

活动热力图

热力图采用 GitHub 风格,覆盖 12 个月窗口。可以切换每日、每周、累计三种视图,也可以切换 12 个月、3 个月、30 天范围。

消耗构成与排名

插件会把消耗拆成输入、输出、缓存读取、缓存写入、推理几类,并展示模型和工作区两个维度的消耗排名。

会话角标与余额

会话头部会显示当前会话 Token 角标和 DeepSeek 账户余额角标。余额可以显示并刷新;当余额低于配置阈值时,会触发红色余额预警。

余额相关请求中,API Key 通过 DSH 凭证服务解析,仅在 host 进程内使用,绝不下发浏览器。

独立统计页

插件提供独立统计页:

http://127.0.0.1:3080/token-stats

这个页面可以直接访问,用于查看统计、余额、明细和导出 CSV。

安装与启用

插件通过 DSH 的 web profile 机制启用。先确认本地 Node 环境满足包声明的版本要求:

"engines": {
  "node": ">=22.13"
}

然后按下面步骤启用:

1、在 web profile 的 package.json 中添加 dsh-token-stats 依赖,并将其加入 dsh.profile.bundles 列表。例如:

{
  "dependencies": {
    "dsh-token-stats": "link:../dsh-token-stats"
  },
  "dsh": {
    "profile": {
      "bundles": ["dsh-token-stats"]
    }
  }
}

2、在 profile 目录执行依赖安装:

pnpm install

3、重启 DSH。

经过上面的步骤后,插件会随 DSH 的 web profile 一起加载。

典型用法

访问独立统计页:

http://127.0.0.1:3080/token-stats

在热力图的每日视图中点击日期格子,可以查看当日会话明细。重复标题的会话会合并显示,并支持分页。

导出 CSV 时,插件会导出当前范围的按日数据,文件带 UTF-8 BOM,适合直接交给表格软件处理。

如果要查看当前生效配置,可以请求:

GET /token-stats/api/config

余额预警阈值由 balanceWarnThreshold 控制。默认是 ¥5;设置为 0 时关闭预警。

配置

插件配置放在:

$DSH_HOME/token-stats/config.json

修改或新增配置后,需要重启 DSH 才能生效。

已核实的可调参数示例如下:

{
  "balanceWarnThreshold": 5
}

其中 balanceWarnThreshold 控制 DeepSeek 账户余额预警阈值,默认值为 ¥5,设为 0 表示关闭预警。

适用场景与注意

适合以下场景:

  • 使用 DSH web profile,需要查看本地 Token 用量。
  • 需要区分输入、输出、缓存读取、缓存写入和推理消耗。
  • 需要按模型或工作区查看消耗排名。
  • 需要关注 DeepSeek 账户余额并配置低余额预警。
  • 需要把按日导出成 CSV 做后续分析。

注意:

  • 插件以当前 DSH 进程权限运行,安装前应检查源码与 MIT 许可证。
  • 它依赖 DSH 会话日志中的真实 provider usage,不是通用抓包统计工具。
  • 配置修改后需要重启 DSH。
  • 本文给出的启用方式基于 profile package.jsonpnpm install;未给出未核实的单条 dsh plugin add 命令。
  • 社区目录是独立站点,与 DeepSeek / 幻方无官方从属关系。

链接

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

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

小夜