token-usage-statistic:在 DSH 侧边栏统计每次模型调用的 Token 与预估费用

前言

在 DeepSeek Harness(DSH)里跑智能体,模型调用会分散在多个会话、多个 provider 路由上。若只靠各家控制台或账单页,很难和「本机实际发生了多少次调用、各模型各用了多少 token」对齐;本地也没有统一视图把用量、预估费用和账户余额放在同一处。

下面介绍社区插件 token-usage-statistic(维护者 zhiwuli0228)。它作为 客户端 类 DSH 插件,从 DSH 会话事件采样 token,写入可重放账本,并在 DSH Desktop 与 DSH Web 的侧边栏面板展示用量、账户与导出。Desktop 与 Web 共用同一份 Web 客户端包和同一套 Host 逻辑,只有一份实现。

插件目录页:skillhub.cn/plugins/zhiwuli0228/token-usage-statistic。源码与完整说明见 GitHub 仓库(当前 npm 包版本 1.0.2,MIT 许可证)。社区目录为独立站点,与 DeepSeek / 幻方无官方从属关系;该插件尚未收录官方插件库,在 Discover / 市场搜不到时按包名安装即可。

这是什么

token-usage-statistic 是 DeepSeek Harness 插件:统计本机所有模型调用的 token 用量与按事件时间估算的费用,支持历史回填、账户余额/订阅额度、日/月预算与无凭据导出,并在侧边栏面板中呈现。

Host 侧监听 assistant/message、assistant/chunk、compaction/summary 等会话事件;Client 侧通过 sidebar.panellist 与 main (key=token-usage) 注入「模型用量统计」面板。账本默认落在 %DSH_HOME%\token-usage-statistic\usage.jsonl,费用不落盘,重放时按价格规则重算。

核心功能

用量采样与历史回填

  • 三源采样:assistant/message、assistant/chunk、compaction/summary;同一 turn:step 的后续样本会替换先前样本。
  • 启动后增量扫描 sessionPersistence;账本中每个会话的最高 seq 作为游标,fork 从 inheritedEventCount 起读。

费用估算

每个样本按自己的事件时间匹配历史价格规则(DeepSeek 峰谷时段、上海时区);未定价时 fail-closed。内置 DeepSeek 官方 USD 价(每 1M tokens),覆盖 deepseek-v4-flash / deepseek-v4-pro 的历史分段;只有 pricing.providers 内的路由会被计价,第三方网关默认未定价。

账户与预算

自动发现三类来源:DSH Desktop 账户(deepseekAccount)、官方 DeepSeek API Key(llm-deepseek)、以及 llm-pi-ai provider 的公开余额接口。accounts.monitors 可配置私有监控端点。凭据仅在 Host 内通过 ctx.credentials 解析,不落盘到导出内容。

日/月预算通过 budgets.daily / budgets.monthly 与 budgets.currency 配置;达到 80% 为预警,100% 为超限;费用不完整时不拿部分和比较。

面板与导出

侧栏三个标签:用量 / 账户 / 导出。时间范围支持今天 / 7 天 / 30 天 / 全部;图表指标可在 Tokens、调用次数、预估费用之间切换(1.0.2 起切换控件在图表标题旁,并显示「当前指标 · 合计」摘要)。

只读 HTTP API 仅接受回环 GET/HEAD,例如:

方法 路径 说明
GET /token-usage-statistic/api/summary 用量、费用、预算、回填状态
GET /token-usage-statistic/api/export/daily.csv 按日 provider/model CSV
GET /token-usage-statistic/api/export.json 版本化 JSON,无凭据

CSV 导出带 UTF-8 BOM 与公式注入防护,不含提示词、回复或密钥。

安装与启用

Desktop 与 Web 使用不同 profile(desktop / web),两端都要用时各执行一次。Desktop 安装前先完全退出 App(含托盘图标)。本地安装脚本需要 Node.js ≥ 20;只走图形界面安装则不需要。

DSH Desktop(不需要 PATH 上有 dsh):

npm run plugin:install -- desktop        # 链接当前仓库
npm run plugin:install -- desktop --npm  # 安装 npm 上已发布的包

DSH Web:

dsh plugin --profile web add token-usage-statistic
dsh web

Web 走 npm 安装的 dsh,需要 PATH 上有 pnpm;Desktop 自带的 dsh 已内置 pnpm。

图形界面(Desktop):插件 / Plugins → 输入 token-usage-statistic → 安装 → 重启 Desktop。

装完后侧栏应出现「模型用量统计」。若入口未出现,可查看 %DSH_HOME%\token-usage-statistic\activation.json 中的路由注册结果。

兼容性概览:

运行环境 支持 面板
DSH Desktop ✅ 侧边栏「模型用量统计」
DSH Web (dsh web) ✅ 同一侧边栏面板
DSH CLI / headless ⚠️ 仅采集 无侧边栏;账本仍写入

典型用法

  1. 打开侧栏 →「模型用量统计」。
  2. 在 用量 页选择时间范围与图表指标;点击每日柱子可查看当天会话、模型与工作区名称。
  3. 在 账户 页查看余额或订阅额度,必要时点「刷新账户」立即触发 Host 刷新。
  4. 在 导出 页或通过回环 API 拉取 CSV/JSON,用于离线分析或备份(仍不含凭据)。

最小配置示例(刷新间隔与日/月预算):

- override:
    - id: token-usage-statistic
      config:
        refreshMs: 15000
        budgets:
          currency: USD
          daily: 5
          monthly: 50

完整字段(dataFile、sessionLimit、backfill、modelAliases、pricing、accounts.monitors 等)见仓库 README 中的配置参考。

适用场景与注意

适合谁:长期在 DSH Desktop 或 Web 上开发、调试智能体,需要本机维度的 token 汇总、DeepSeek 相关路由的预估费用,以及把用量与账户/预算放在同一侧边栏的开发者。

运行权限:插件以当前 DSH 进程权限运行,会读取会话持久化、写入 %DSH_HOME% 下账本与账户快照,并在 Host 内解析凭据以查询余额。安装前应自行审阅 源码 与 MIT 许可证,确认符合你的安全与合规要求。

局限:CLI / headless 场景仅采集、无面板;第三方网关默认未纳入内置计价;账户查询有 HTTPS、超时与响应大小边界,无公开接口的 provider 不会猜测性请求。

结尾

token-usage-statistic 把 DSH 会话事件变成可重放的用量账本,并在 Desktop / Web 侧边栏统一展示 token、预估费用、账户与导出——适合需要「本机真相来源」而非只看云端账单的使用方式。

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

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

Xiaoye