zerro-223/dsh-token-usage ↗★ 1
@zerro223/dsh-token-usage
Token usage statistics for the DeepSeek Harness Web UI: captures per-request LLM usage from the llm/stream waterfall, persists it, and renders animated charts grouped by API (provider), model, and date.
安装
$
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:zerro-223/dsh-token-usage说明文档
阅读完整 README ↗@zerro223/dsh-token-usage — DSH Token 用量统计插件
在 DeepSeek Harness Web UI 的侧边栏底部(设置按钮旁)增加「Token 用量」入口,
打开一个统计面板,按 API(provider)、模型 和 日期 分类展示模型调用的
Token 消耗,并配有流畅的入场/更新动画(数字滚动、柱状图生长、环形图描边、
逐项 stagger),自动适配深色/浅色主题(复用 DSH 的 --dsw-* 设计令牌)。
npm 上的
dsh-token-stats名称已被其他作者占用,本包名为@zerro223/dsh-token-usage。
工作原理
- Node 端(
lib/index.js):监听llm/streamwaterfall 事件,捕获每次 模型调用的usagechunk(输入 / 输出 / 缓存读 / 缓存写 / 推理 tokens), 逐条追加持久化到~/.dsh/storages/token-stats/usage.jsonl,并通过/token-stats/api/overview?days=hour|7|month|30&provider=xxx&model=xxx提供聚合结果(时间序列series、统计totals、缓存命中率cacheHitRate、筛选下拉选项filterOptions)。 - 浏览器端(
lib/client.js):注册sidebar.footer.action槽位 (idtoken-usage),点击后打开统计面板:- 8 张统计卡:总 Tokens、请求数、输入、输出(含推理提示)、缓存读、缓存写、总命中率、估算成本(USD)
- 成本估算:按模型单价($ / 100万 tokens,输入 / 输出 / 缓存读)× 实际用量计算;
价格自动同步自 modelradar.cn(启动时拉取 + 每日刷新,
缓存于
prices-auto.json),「$」按钮可查看自动匹配结果、手动覆盖或强制刷新; 手动价格优先于自动价格,未定价模型会在成本卡上提示 - 大趋势图:按「未命中输入(深蓝) / 缓存命中(绿) / 输出(琥珀)」三色平滑曲线(单调插值, 无过冲越界)+ 渐变面积,y 轴带刻度与单位(M/K token);支持区间切换 (当日近5小时按小时粒度、近7天、当月、近30天按天粒度),x 轴按整段 横轴均分,悬停显示十字线与明细
- 模型 / API 筛选:只查看指定模型或提供方的数据(统计卡与图表同步过滤)
- 最近请求:最新 30 条调用记录(时间 / API / 模型 / tokens)
- 每 15 秒自动刷新,也可手动刷新
安装
方式一:npm 安装(推荐)
dsh plugin --profile web add @zerro223/dsh-token-usage
包声明了 , 会在 pnpm 安装后自动把它加入 profile 的 layer 栈(无需手动改 )。重启 DSH Web 生效。 其他 profile(tui / headless)把 换成对应名字即可,数据共享同一份存储。