前言¶
在 DSH Web 中使用模型时,调用可能来自不同供应商、不同模型和不同会话。只看单次回答,很难判断当月用量、缓存命中、费用估算和延迟变化。dsh-token-stats 是面向 DeepSeek Harness / DSH Web 的插件,用于把 llm/stream 调用的真实 usage 记入账本,并在界面上提供全局统计。
下面介绍它的功能、安装命令和常用入口。
这是什么¶
dsh-token-stats 是一个全局 Token 用量统计插件。资料页显示 owner 为 1148281964,许可证为 MIT;GitHub 与社区目录链接见文末。由于已抓取资料中 package.json 的 repository 字段为占位符,本文不把 owner 字段当作完全确认的维护者归属。
它主要用于集中展示 DSH Web 中的 token 用量:记录真实 usage,聚合供应商、模型、会话、日期维度,估算费用,并给出缓存命中率、成功率、平均耗时、首字延迟等指标。
核心功能¶
真实 usage 与账本¶
- 从
llm/stream调用采集真实 usage:输入、输出、缓存读、缓存写、推理 tokens。 - 构建跨重启持久的 JSONL 账本,启动/热重载时从账本重建。
- 默认账本目录为
<profile>/data/token-stats/,可用DSH_TOKEN_STATS_DIR覆盖。 - 统计口径为真实 usage;输入 = 未缓存 + 缓存读 + 缓存写。这与 DSH 内置 token-meter 的估算口径不同。
聚合与指标¶
- 按供应商、模型、会话、日期聚合,支持当月和近 31 天趋势。
- 统计缓存命中率、成功率、平均耗时、首字延迟(TTFT)。
- 会话维度的分布基于最近 500 条保留窗口聚合,总量
totals为完整账本。
费用估算¶
- 提供费用估算。
- 可从 OpenRouter 拉取最新模型价格,并重算历史费用。
- 可用
DSH_TOKEN_STATS_PRICES覆盖价格 JSON。 - 费用为估算值,实际结算以网关/厂商账单为准。
界面展示¶
- 右下角可拖动 FAB 悬浮球;点击展开面板,支持「全局 | 当前会话」切换。
- 点击面板右上角的全屏入口,可打开居中大屏弹窗。
- 大屏弹窗展示 KPI、环形图、趋势、供应商/模型表格、近期调用明细。
- 当前会话跟随基于 DOM 探测 UI 选中会话行并匹配标题;会话列表不可见或标题歧义时,回退到最近活跃会话。
模型工具与 HTTP API¶
- 提供模型工具
token_stats,支持可选sessionId参数。 - 提供以下 HTTP 端点:
GET /token-stats/api/query
GET /token-stats/api/sessions
POST /token-stats/api/refresh-prices
所有端点校验 Origin(仅本机),HEAD 不返回 body。
历史回扫¶
- 提供
backfill-history.mjs脚本,可幂等补录插件安装前调用。 - 仅补录成功且带 usage 的调用;耗时/首字延迟无法回补。
- 费用按当前价格表重算。
- 导入前自动备份账本。
安装与启用¶
插件面向 DSH Web profile。资料给出的 CLI 安装命令是:
dsh plugin --profile web add dsh-token-stats
资料显示 peerDependencies 要求 @deepseek-ai/cordis ^4.0.1。该包为纯 JavaScript,无 prepare 构建脚本;资料还说明 github: 安装无需 allowedBuilds 配置。
安装前建议检查源码与 MIT 许可证。插件会以当前 dsh 进程权限运行,因此只在你信任其代码的 DSH 实例中启用。
典型用法¶
浏览器面板¶
1、在右下角点击 FAB 展开面板,可拖动位置。
2、在面板中切换「全局 | 当前会话」统计范围。
3、点击面板右上角的全屏入口,打开居中大屏弹窗。
4、在大屏弹窗中查看 KPI、环形图、趋势、供应商/模型表格和近期调用明细。
设置页¶
进入「设置 → Token 统计」,可以打开与 FAB 相同的面板与大屏弹窗。
更新价格¶
在大屏弹窗中点击“更新价格”入口,从 OpenRouter 拉取最新模型价格,并重算历史费用。
模型工具¶
在对话中调用模型工具 token_stats,用于让模型直接查询统计结果。可传可选参数:
{"sessionId": "..."}
HTTP API¶
可调用以下端点:
GET /token-stats/api/query
GET /token-stats/api/sessions
POST /token-stats/api/refresh-prices
这些端点校验 Origin(仅本机),且 HEAD 请求不返回 body。
历史回扫¶
插件安装前的调用可用脚本补录:
node backfill-history.mjs
node backfill-history.mjs --dry-run
node backfill-history.mjs --force
脚本用于幂等补录插件安装前的调用;导入前自动备份账本。
适用场景与注意¶
适合以下场景:
- 需要在 DSH Web 中查看全局 token 用量和趋势。
- 需要按供应商、模型、会话、日期比较用量。
- 需要估算费用、观察缓存命中率、成功率、平均耗时和 TTFT。
- 需要让模型通过
token_stats查询统计结果。
注意事项:
- 费用是估算值,不等于最终账单;以网关/厂商账单为准。
- 统计口径是真实 usage,与 DSH 内置 token-meter 的估算口径不同。
- 当前会话跟随依赖 DOM 探测和标题匹配;失败时回退最近活跃会话。
- 会话维度分布基于最近 500 条保留窗口,总量
totals是完整账本。 - 历史回扫无法补回耗时和首字延迟,且费用按当前价格表重算。
- DSH 社区目录是独立站点,与 DeepSeek / 幻方无官方从属关系。
参考¶
- 社区目录:https://www.skillhub.cn/plugins/1148281964/dsh-token-stats
- GitHub:https://github.com/1148281964/dsh-token-stats