中文EN

dsh-token-use

usage已测通过npmMIT

设置中的 Token 用量面板:总量(输入/输出/缓存读/缓存写/推理/调用次数),按模型、按天、按月、按项目的明细,以及最近 30 天的按日趋势折线图;历史在 Worker 线程上一次性重建,之后由会话事件实时累加。

下载量 / Downloads
1,371
依赖体积 / node_modules
1.64 MB
测试时间 / Tested
2026-11-06
DSH 版本 / Version
0.2.2-rc.1

安装

dsh plugin --profile web add dsh-token-use

沙箱测试结果

阶段结果
1 安装✓
2 列装✓
3 挂载✓
4 启动—

四阶段在隔离沙箱里跑:安装(有网)→ 列装 → 挂载 → 启动(后三步断网)。

README

dsh-token-use

[English](README.en.md) | 中文

![Awesome DSH Plugin](https://awesome-dsh-plugin.com)

DeepSeek Harness 实时 Token 用量与消费金额插件:安装后在 设置 → Token 用量 查看用量(自带设置侧边栏一级入口),页面每 5 秒刷新(页面隐藏时暂停,零轮询浪费)。

功能

面板顶部四个 tab:概览 / 模型统计 / 项目统计 / 配置信息。

  • 概览:金额与总量卡片、用量趋势图、使用热力图(近 12 个月,一格一天,可按「总计 / 金额」着色;悬停即时弹出当天「总计 / 金额 / 调用次数」,无原生 tooltip 的 1 秒延迟)。支持范围与模型筛选。
  • 模型统计:所有模型的用量与金额明细表,支持范围查询(按天 / 按月 / 按年 / 时间段 / 全部)。
  • 项目统计:所有项目的用量与金额明细表,同样支持范围查询。
  • 配置信息:版本信息(dsh-service、dsh、dsh-base、本插件各自的已安装版本 vs 该版本通道(rc/alpha/stable)的最新版)、运行环境(平台版本、Node 版本、进程 PID、监听端口、已运行时长、DSH_HOME),以及健康检查、一键重启与关机(后两者都带二次确认)。
  • 健康检查(自检):分三段报告——接口(响应耗时、接口版本、历史扫描、定价数据、数据桶、数据更新时间)、客户端 bundle(逐个插件探测浏览器实际能否加载,用的是当前页面启动清单里带版本号的真实 URL)、Harness 自检(profile 完整性:node_modules / 锁文件 / 启动图;插件包完整性:入口文件、dsh.bundle.patch、前端 bundle 是否齐全;依赖解析;cordis 是否单实例同版本;服务端 bundle 与正在运行的 CLI 版本是否一致)。装完插件起不来时,这里会直接指出是哪个包、缺什么文件、怎么修。
  • 金额卡片:按 DeepSeek 官方定价 × 本地用量实时估算消费金额(含高峰/空闲时段倍率),每张卡片(总量、趋势、按模型、按项目)都带金额字段。
  • 官方定价自动更新:每天 12:00 抓取一次官方定价页并缓存到本地,重启不丢、断网可用内置快照兜底。
  • 总量卡片:金额(估算)、总计(输入+输出+缓存)、输入、输出、缓存读、缓存写、推理、调用次数。
  • 按模型区分单价:输入/输出/缓存命中分别按模型的官方单价计价;非 DeepSeek 模型(claude、gpt 等)一律不计金额,用 — 标出。
  • 范围筛选:按天 / 按月 / 按年 / 时间段 / 全部,用下拉框选择;默认「按天=今天」。「时间段」自选起止日期(默认今天→今天),起止互相约束、不会出现倒序区间;「按年」的年份列表来自本地已有数据的年份。
  • 模型筛选:概览页时间筛选旁的下拉框按模型过滤(含该模型的项目/按天维度明细),默认全部模型。
  • 用量趋势图:基于 ECharts(按需打包、随插件离线分发,不依赖 CDN)。缓存命中/输入/输出按堆叠面积画出构成,上沿即总计(另有一条总计参考线),每天金额用金额柱走右轴(¥),调用次数在悬停提示里。图里另有一条显著的日均参考线(当前可视区间内「总计 / 天数」,虚线上直接标出数值),一眼看清今天高于还是低于平均。卡片右上角可切 7 / 30 / 90 天(默认 7 天)。无用量日为真实 0 值(堆叠才准),悬停会写明「当日无用量」;刻度单位整轴统一,单调平滑不过冲。图表用命令式渲染,鼠标移动不触发 React 重渲染。
  • 单位切换:中文(亿 / 万 / 千)与英文(B / M / K)一键切换,记忆选择;tab 与单位切换栏常驻顶部,每个 tab 记忆上次停留位置。
  • 明细表:按模型、按项目两张表(按日期维度由热力图承担),含金额列(悬停显示该模型单价)与总计列。

一键重启 / 关机

「配置信息」底部的两个动作都走同一个全屏过渡:电源环 + 阶段文案(准备 → 正在结束进程 → 恢复中 → 新实例已就绪),占满页面、不遮挡宿主其它区域。

  • 一键重启:重启正在提供页面的 dsh web 进程。它按当前进程的启动命令(process.argv + 工作目录)原样重新拉起,因此自定义端口、参数都能保持;点击后弹窗二次确认,页面断开约 10-30 秒,恢复后自动重新加载。脚本写在 $DSH_HOME/dsh-token-use/restart.sh,日志在 $DSH_HOME/dsh-token-use/restart.log。
  • 关机:停止该进程且不会自动拉起,过渡结束时提示「可以关闭此页面了」,需要时在终端重新运行 dsh web。确认按钮是红色实心,避免误点。
  • 若启动方式无法原样重放(拿不到可执行的入口),重启按钮会禁用并说明原因。

金额是估算值

金额卡片(总量卡片里的最后一个)右上角有个 ⓘ,鼠标移入即显示完整口径说明:

金额为估算值:按 DeepSeek 官网定价 × 本地记录用量推算,并已按调用时刻区分高峰/空闲单价。受官方调价、缓存计费口径与统计延时影响,可能与实际账单有出入,请以官网结算金额为准。

口径细节:

  • 计价字段:inputTokens(缓存未命中输入)、cacheReadTokens(缓存命中输入)、outputTokens(含推理);缓存写官方不计费。
  • 高峰/空闲:官网每日公布高峰时段(当前为 UTC 工作日 01:00–04:00、06:00–10:00,空闲价格为高峰的一半),每条记录按它发生时刻的单价计价,之后调价不会改写历史。
  • 只统计 DeepSeek 模型:模型名里不含 deepseek 的(claude、gpt、minimax…)不计金额;名字模糊匹配不到官方定价的 DeepSeek 模型也不计,并在 ⓘ 说明里列出。
  • 少算的部分:联网搜索、会话标题这类辅助调用会产生账单,但 token 数只在服务端、本地取不到,所以只计次数、不猜金额,ⓘ 说明里列出本期次数。因此这里的金额是账单下限,实际只会略高。用官方逐小时导出核对过:我们统计到的请求,token 数与高峰/空闲单价和官方逐行一致。
  • 币种默认人民币(取官网中文页),可在配置里切成 USD(取官网英文页)。

为什么值得装

你在烧 token,但你说不清烧在哪:哪个项目最贵、哪个模型最吃缓存、这周比上周涨了多少。

dsh-token-use 把这些变成一眼看得懂的数字。 它跟着每一次调用实时累加,把消费金额、总量、输入、输出、缓存命中、推理和调用次数摊开在设置页里,按模型、按天、按月、按项目随手切换,趋势用一条平滑曲线讲清楚。装完即用:不用配置、不用重启会话、不会在你写代码的时候跳出来打扰你。

看不见的成本最贵——把它变成看得见的。

界面

面板顶部四个 tab,下面是各 tab 的实拍(真实数据、默认中文单位)。

概览

金额与总量卡片、用量趋势图(堆叠构成 + 金额柱 + 橙色日均参考线)、使用热力图(近 12 个月,可切「总计 / 金额」)。

模型统计

所有模型的用量与金额,带范围查询(按天 / 按月 / 按年 / 时间段 / 全部)。

项目统计

所有项目的用量与金额,同样支持范围查询。

配置信息

版本信息(按通道对比最新版)、运行环境、健康检查、一键重启与关机(均带二次确认,动作时有全屏过渡动画)。

点「健康检查」后展开的自检结果:接口、客户端 bundle、Harness 自检三段报告。

安装

dsh plugin --profile web add dsh-token-use
# 或从源码安装:dsh plugin --profile web add github:huangyuheng/dsh-token-use

重启 dsh web 后生效。下载 zip 解压后的本地目录安装:

dsh plugin --profile web add /解压路径/dsh-token-use

性能设计

  • 宿主侧 不轮询、不写盘、不加定时器(除了每天一次定价刷新):通过 session/event 事件总线做 O(1) 增量累加(每条 assistant/message 一次字典加法 + 一次金额乘法)。
  • 启动时做 一次性历史重建:流式解压 $DSH_HOME/sessions/**/session.jsonl.zstd(node:zlib 原生 zstd),每读一个文件主动让出事件循环(scheduler.yield()),不阻塞会话处理;重建与实时事件用「会话 seq 水位」去重,任意先后顺序都不会重复计数。
  • 定价刷新:每天 12:00 一次 HTTPS GET(15 秒超时,失败 1 小时后重试),结果写入 $DSH_HOME/dsh-token-use/pricing.json(原子替换,最多保留 30 份快照);进程重启时同步读缓存,不重复联网;联网失败自动退回内置快照,面板照常显示。
  • 只暴露五个只读/受控接口(仅回环可访问,内存快照,no-store):GET /dsh-token-use 数据快照、GET /dsh-token-use/config 版本与运行环境、GET /dsh-token-use/health Harness 自检、POST /dsh-token-use/restart 重启服务、POST /dsh-token-use/shutdown 关机(后两个都需前端二次确认,且不接受 GET)。
  • 自检怎么探:客户端 bundle 用当前页面启动清单里的 rev 拉真实 URL(插件 URL 带构建版本号,只有启动清单拼得对);Harness 自检读 profile 目录、按 exports["."] / exports["./client"] / main 找真实入口、从各插件目录向上解析 @deepseek-ai/cordis 判断是否重复——全程只读,不加载也不执行被检查的插件。报告里只有结构化字段与路径/版本,文案由前端按语言渲染。
  • 版本检查:/config 读 npm registry 的精简 packument(versions + dist-tags),按当前版本所属通道(rc / alpha / stable)取该通道最高版来对比——@deepseek-ai/dsh-web-app 的 latest 标签长期停在 0.0.1-rc.1,按通道比较才不会误报。结果缓存 6 小时,写在 $DSH_HOME/dsh-token-use/versions.json。
# 全部
curl http://127.0.0.1:3080/dsh-token-use
# 指定日期 / 月份 / 年份 / 时间段
curl 'http://127.0.0.1:3080/dsh-token-use?month=2026-09'
curl 'http://127.0.0.1:3080/dsh-token-use?day=2026-09-10'
curl 'http://127.0.0.1:3080/dsh-token-use?year=2026'
curl 'http://127.0.0.1:3080/dsh-token-use?from=2026-09-01&to=2026-09-15'
# 指定模型(可与 day/month/year/from+to 组合)
curl 'http://127.0.0.1:3080/dsh-token-use?model=deepseek-v4-flash'
# 版本与运行环境(配置信息 tab)
curl http://127.0.0.1:3080/dsh-token-use/config
# Harness 自检(配置信息 tab 的「健康检查」)
curl http://127.0.0.1:3080/dsh-token-use/health
# 重启服务(配置信息 tab 的按钮;2 秒后断开并原样拉起)
curl -X POST http://127.0.0.1:3080/dsh-token-use/restart
# 关机(配置信息 tab 的按钮;停掉且不再拉起)
curl -X POST http://127.0.0.1:3080/dsh-token-use/shutdown

响应里每个桶都带 cost(估算金额),pricing 是当前价目表、抓取时间与下次刷新时间,modelPricing 是各模型匹配到的单价或未计价原因;trend 覆盖最近 366 天(趋势图取尾部 7/30/90

…(truncated)

以上内容来自 npm 上的 README,我们只做格式化,不改内容。

版本

npm 上共发布:11,最后更新 2026-11-05

链接

GitHub · Homepage · npm

同类插件