dsh-usage-badge:在 DSH 侧边栏看当天用量与估算费用

前言

用 DeepSeek Harness(DSH)跑智能体时,调用会落在会话日志里,但客户端默认不会把 token 和钱算成一行数字。想对照官方定价、峰谷时段和节假日规则估一下当天花了多少,往往要另写脚本或手工翻日志。社区维护者 ai-written 的 dsh-usage-badge 是 DSH 的用量徽标插件:在侧边栏底部固定一行「今日用量」,点开弹窗可看多时间区间的统计、折线图和活跃度热力图,并按 DeepSeek 官方定价与中国法定节假日计价。插件分类为联网工具,当前 GitHub 星标为 0;源码与说明见 GitHub 仓库,目录页见 SkillHub。

这是什么

dsh-usage-badge 只做一件事:读取 DSH 会话日志(~/.dsh/sessions,支持 jsonl 与 jsonl.zstd),折叠缓存后汇总用量,在 Web 客户端侧边栏展示当天 token 总量与估算费用(人民币)。宿主半尽量只用 Node 内建模块,浏览器半是手写单文件 bundle,折线图为手写 SVG;README 写明零依赖、零构建。维护者为 ai-written,许可证 MIT(package.json 版本 0.1.9)。

核心功能

侧边栏徽标

位置在侧边栏底部、「设置」上方。从左到右:「今日用量」标签 · 峰谷圆点 · 当天 token 总量 · 当天金额。每 5 秒自动刷新;鼠标悬停可看明细(金额 / token / 请求数 / 当前档位),单击打开弹窗。侧边栏收起时缩成一个小方块。

峰谷圆点:谷时灰色,峰时橙色;悬停显示 峰时 ×2 / 谷时 ×1 / 节假日说明(如 国庆节 · 全天空闲)。

用量弹窗

两个页签:用量、单价配置。另有 同步 页签(WebDAV 云同步,见下文)。

用量页签提供五个时间区间:24 小时 / 近 7 日 / 近 30 日 / 近 12 个月 / 按年。可按 provider 筛选(候选来自当天的 provider;筛选作用于所有区间与热力图,只在历史里出现过的 provider 可能选不到)。合计项包括金额、请求数、Token、缓存命中率;四序列折线图对应上述四项,悬停显示该点数值与参考线;点图例可单独查看某一条序列。

区间按自然日 / 自然月切分:近 7 日 为最近 7 个连续自然日,无用量日仍保留空槽位。按年 从缓存中有数据的年份下拉选择,看该年 12 个自然月与年度合计;比快照窗口更早的年份也可通过 SQLite 直查。折线图下方是近一年活跃度热力图(GitHub 贡献图式方格),可按金额分档着色,可切换 Token / 请求数维度。

计价与峰谷

  • 官方单价:来自 DeepSeek 官方定价页;打开「单价配置」时抓取并解析中文页(人民币),每页只抓一次,需更新时点「重新获取」。确认后点「应用官方价格」写入 pricing.json,只覆盖官方页面点名的同名行,其余行不动。
  • 自定义行:网关上的未点名模型可在「当前生效单价」表里增删改;键名匹配规则见 README(含 provider|模型名、deepseek-flash 前缀回退等)。未匹配模型默认走 default 兜底行,也可改为不计价(仍统计 token 与请求数,金额为 0,面板会列出具体模型)。
  • 峰谷与节假日:官方规则为周一至周五(不含中国法定节假日)9:00–12:00、14:00–18:00 高峰,其余含周末与法定节假日全天按空闲价。内置 2025–2026 中国法定节假日日历;需在价格表启用 holidays.source 为 "cn"(或应用官方价格时自动打开),否则工作日节假日可能按峰价计。周末永远按空闲价。

数据存放与缓存

~/.dsh/storages/usage-badge/
├── pricing.json              价格表
└── cache.sqlite              会话日志的折叠缓存(可删,会自动重建)

默认使用 Node 内建 node:sqlite;不可用时退回 cache.json 单文档格式。插件只读会话日志,不修改日志文件。

云同步(WebDAV)

弹窗「同步」页签可配置 WebDAV(Digest 认证),备份每日用量与价格表并在多机合并。打开 DSH 后约 8 秒、关闭前、改价后等会自动触发(页签内可关部分开关)。每台机器需唯一设备名;同步失败时本地仍正常工作。

安装与启用

需要 Node ≥ 22.15,以及带 dsh plugin 命令的 DSH。安装命令以 README 为准:

# 从 npm 安装
dsh plugin --profile web add dsh-usage-badge

# 或者从本地源码路径安装(把 <本仓库路径> 换成实际路径)
dsh plugin --profile web add <本仓库路径>

装完后重启客户端。卸载:

dsh plugin --profile web remove dsh-usage-badge

DSH 生态强调「一切皆插件」;SkillHub 等社区目录为独立站点,与 DeepSeek / 幻方无官方从属关系。插件以当前 DSH 进程权限运行,安装前请自行查看源码与 MIT 许可证。

典型用法

  1. 按上文命令安装并重启 DSH。
  2. 在侧边栏底部查看「今日用量」行;悬停看峰谷与明细,单击打开弹窗。
  3. 在「用量」页切换区间、筛选 provider、查看折线图与热力图;需要更早历史时用 按年。
  4. 首次使用或调价时打开「单价配置」:抓取官方价格并「应用官方价格」,或手工维护表内行与峰谷规则。
  5. 多机使用时在「同步」页填 WebDAV 地址与凭据,「测试连接」后「立即同步」。

适用场景与注意

适合:长期在 DSH Web 客户端开发智能体、希望侧边栏一眼看到当天 token 与估算费用,并需要按官方定价与法定节假日理解峰谷的用户。

注意(来自 README「已知限制」):

  • 首次启动会冷扫全部会话日志(README 举例 200 多份约 10 秒),之后增量更新。
  • 近 7 日 / 近 30 日 / 近 12 月 及对应滚动热力图基于快照最近约 400 天;更早日期用 按年。
  • 只统计 DSH 写入日志的调用;绕过 DSH 直连外部 API 的用量不会计入。
  • 会话按日志目录识别;重命名会话目录可能导致同一份用量被重复统计。
  • 数字为估算,token 口径与官方账单可能不一致,对账请以金额为准。
  • 历史依赖日志与本地缓存;删日志后靠缓存保留,缓存也丢失则历史消失。

结尾

dsh-usage-badge 把 DSH 会话日志里的调用收成侧边栏一行今日用量,并在弹窗里提供多区间统计、热力图与可维护的定价表,适合需要本地估算 DeepSeek 相关调用成本的使用方式。

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

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

小夜