dsh-token-usage-panel:在 DSH 设置里查看 Token 用量

前言

用 DeepSeek Harness(DSH)做智能体或长会话开发时,Token 会分散在多次请求和多个会话里。要看「今天用了多少、哪几天特别费、某次会话占了多少」,常见做法是翻服务商后台或自己写脚本扫 $DSH_HOME/sessions/ 下的日志。前者要切出 DSH,后者维护成本高。

dsh-token-usage-panel 是社区维护的客户端插件(作者 Jun-Jun-Gao,MIT 许可证),在 DSH 设置里增加 Token 用量 一页:每日热力图、近 30 天趋势、按会话明细,以及可选的成本估算。数据只读本机会话日志,不联网上传。

这是什么

插件全名 dsh-token-usage-panel,分类为客户端:Host 侧扫描并聚合会话用量,浏览器侧在设置面板里渲染 UI。维护仓库:Jun-Jun-Gao/dsh-token-usage-panel;社区目录页:skillhub 条目(独立站点,与 DeepSeek / 幻方无官方从属关系)。

核心功能

下面介绍面板里已文档化的能力,均可在安装后于 设置 → Token 用量 中直接使用。

今日消耗:显示当天总量,并按「输出 / 未缓存输入 / 缓存命中」分色;若在成本估算里填写单价,还会显示当天估算金额。

指标网格:近 7 天、近 30 天、累计、活跃天数、连续使用天数、缓存命中率。

每日消耗热力图:最近 53 周,样式类似 GitHub 贡献图;颜色越深表示当天消耗越多。悬停可看当天四类 token 明细;点击格子可展开当天各会话占比。

最近 30 天趋势:输出、未缓存输入、缓存命中的堆叠柱状图,带网格线与峰值刻度。

会话明细:支持排序与搜索;窄面板自动精简列,宽面板额外显示工作区、缓存命中和 30 天迷你条。

汇总维度:按模型、按工作区汇总。

成本估算:填写单价(元 / 百万 token)后自动换算金额;价格仅保存在本机浏览器(localStorage),留空则不显示金额。

界面使用 DSH 设计变量(--dsw-alias-*),浅色 / 深色主题自动适配;面板宽度随设置页变化,文档称约 590px 宽仍可完整显示 53 周热力图。

统计口径

插件从 DSH 会话日志里每条 assistant/message 的 usage 字段汇总。文档对字段含义说明如下:

字段 含义
未缓存输入 按输入价计费的 prompt token
缓存命中 命中 prompt cache 的部分
输出 模型生成的 token(含思维链)
合计 以上各项之和,与服务商后台总量一致

因多轮对话会重发上下文,「合计」往往被缓存命中主导;面板单独列出「未缓存输入 + 输出」,便于看真正影响计费的部分。

热力图按本机时区自然日归档;颜色分 4 档,按「当天消耗 / 历史单日最大值」划分。

安装与启用

需要已安装 DeepSeek Harness(Web 或桌面版),且能正常使用 dsh 命令。安装完成后 bundle 会自动启用;若面板未出现,刷新页面一次。

方式 A:DSH 插件页(推荐)

  1. 打开 DSH 侧边栏 插件(Plugins) → 安装。
  2. 填入:
github:Jun-Jun-Gao/dsh-token-usage-panel

方式 B:命令行

# 1) 安装到你的 profile(desktop 为例;Web 版通常是 web)
dsh plugin --profile desktop add github:Jun-Jun-Gao/dsh-token-usage-panel

# 2) 把它选为 profile 的一层(bundle)
#    编辑 $DSH_HOME/profiles/desktop/package.json,在 dsh.profile.bundles 里加上:
#      "dsh-token-usage-panel"

第 2 步等价于在「插件」页勾选该 bundle;改完后 DSH 可热重载,或重启应用生效。

文档另提供方式 C(本地 link 与 cordis.patch.yml),适合开发调试;日常安装用 A 或 B 即可。

典型用法

  1. 打开 DSH 设置,左侧选 Token 用量。
  2. 查看今日消耗与指标网格;用热力图找高消耗日期,点格子看当天会话分布。
  3. 在「最近 30 天趋势」和「会话明细」里按模型、工作区或关键词排查。
  4. 需要金额时,在成本估算中填写四类单价(元 / 百万 token);不需要则留空。点「清空」会清除本机保存的价格。
  5. 面板默认每 30 秒自动刷新,也可手动点「刷新」;进行中的会话会计入统计。

Host 提供只读接口,开发时可自检(将 <dsh-web-port> 换成本机端口):

curl -s http://127.0.0.1:<dsh-web-port>/token-usage/health
curl -s http://127.0.0.1:<dsh-web-port>/token-usage/data | head -c 300

工作原理(简述)

Host 侧 lib/index.js 扫描 $DSH_HOME/sessions/**/session*.jsonl.zstd,聚合到「每天 / 每会话」,并注册只读路由 GET /token-usage/data。日志为多帧 zstd,Host 按魔数切帧逐帧解压,不依赖外部 zstd 命令;解析结果按文件大小与 mtime 做增量缓存。客户端 lib/client.js 注册 settings.section,拉取数据并渲染;成本估算写 localStorage。插件不注册模型可见能力,模型看不到该面板。

适用场景与注意

适合:长期在 DSH 里跑会话、希望在本机统一看用量趋势、会话占比和粗略成本,且不想把日志导出到第三方。

兼容性:开发与验证环境为 DSH 0.2.0-rc.2(Electron 44 / Node 24.18)下的 Web GUI 与桌面版。包未声明 @deepseek-ai/dsh* 的 peerDependencies,较新版本若异常可在 GitHub 开 issue 并附上 DSH 版本。扩展点包括 settings.section、ctx.locale、ctx.webServer.register。

安全与权限:插件以当前 DSH 进程权限读取本机会话目录;安装前建议浏览 仓库源码 与 MIT 许可证。社区插件非官方发行,目录页 skillhub 为独立生态站点。

卸载:

dsh plugin --profile desktop remove dsh-token-usage-panel
# 并在 profile 的 package.json 里把 "dsh-token-usage-panel" 从 dsh.profile.bundles 移掉

结尾

dsh-token-usage-panel 把 Token 统计收进 DSH 设置:热力图、趋势、会话明细与可选成本估算,数据不出本机。安装标识为 github:Jun-Jun-Gao/dsh-token-usage-panel。

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

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

Xiaoye