dsh-usage-vendor-stats: DeepSeek Harness API usage statistics by vendor dimension

前言

在 DeepSeek Harness(下称 DSH)里跑智能体,接的厂商往往不止一家:官方 API、huoshan、hebox、tokenrhythm 等。持久化会话日志里其实一直带着 Token 记账和 provider/model 来源,但默认没有一个视图能直接回答「这段时间各家各用了多少、缓存命中率多少、按单价折算大概多少钱」。

已有的 dsh-usage-stats 插件按工作区聚合用量,厂商维度是缺的。下面介绍的 dsh-usage-vendor-stats 补的就是这一块:以厂商为第一维度做用量统计。

这是什么

dsh-usage-vendor-stats 是 DSH 的社区用量统计插件,由 kirigayakazima 维护,MIT 许可证,当前版本 0.2.0。它按「厂商(订阅 / 官方 API)× KPI」聚合 API 使用量,提供 GitHub 风格日历热力图、趋势折线图与日 / 月 / 小时统计看板。

数据不需要额外采集:插件激活时自动回填全部历史会话,之后监听会话事件做增量折叠,插件卸载 / 重启后数据不丢。

核心功能

厂商维度与 KPI 卡片

  • 自动发现所有使用过的厂商(如 huoshanheboxdeepseek-officialtokenrhythmopencode),可手动标记「订阅 / 官方 API」类型并设置别名,持久化到 $DSH_HOME/storages 的 KV 单元
  • KPI 卡片:总 Token(输入 / 缓存命中 / 输出 / 推理分项)、缓存命中率、模型调用次数、回合数、会话数、厂商数量,附多色 Token 构成比例条

热力图、趋势与看板

  • 53 周热力图:GitHub 绿色风格,颜色深浅按当日模型调用次数;点击厂商 chip 筛选,悬停查看按厂商 / Token 明细
  • 趋势折线图:Token / 调用双轴,默认按日,选「今天」时按小时聚合
  • 每日明细:近 30 天逐日 Token / 缓存 / 输出 / 推理 / 命中率 / 回合
  • 每月汇总:全部历史按月聚合

表格、钻取与导出

  • 厂商 KPI 表:按总 Token 排序,含命中率、模型数、类型标签;点击行展开该厂商逐模型消耗
  • 时间预设:今天 / 7 天 / 14 天 / 30 天 / 90 天 / 全部
  • 费用估算:按厂商设置每百万 token 单价,表格显示折算后的预估费用列
  • CSV 导出:每日 / 每月 / 厂商表格均可导出

健康度与性能卡片

平均 TTFT(首字延迟)、生成速度(t/s)、峰值 Context、请求错误率、模型 / 工具总耗时,聚合自 DSH 的 sessionStats 投影。

数据口径

  • 数据全部来自 DSH 持久化会话日志:assistant/message 事件携带 usage(Token 记账)与 message.source.{provider,model}(厂商 / 模型来源)
  • Token 统计口径与 DSH 一致:inputTokens 为未命中输入,cacheReadTokens 为缓存命中输入,outputTokens 为输出,reasoningTokens 为推理,cacheWriteTokens 为缓存写入
  • 缓存命中率 = 命中 /(命中 + 未命中输入)× 100%

安装与启用

这是标准的 DSH 社区插件包(声明 dsh.bundle manifest + web client 半),从 GitHub 直接安装:

dsh plugin --profile web add "github:kirigayakazima/dsh-usage-vendor-stats"

安装后刷新页面即可,无需手动改配置、无需重启。

本地开发需要手动注册时,先创建符号链接,再改 patch 配置:

1、把插件目录放在任意位置,在 $DSH_HOME/profiles/node_modules/ 下创建指向它的符号链接(Windows 用 junction):

New-Item -ItemType Junction -Path "$env:DSH_HOME\profiles\node_modules\dsh-usage-vendor-stats" -Target "<本目录绝对路径>"

2、在 $DSH_HOME/profiles/web/cordis.patch.yml 添加 insert 条目:

- insert:
    - id: usage-vendor-stats
      name: dsh-usage-vendor-stats

用户 patch 层会被热重载,保存后刷新页面生效。

典型用法

1、打开侧边栏底部的「设置」找到「API 用量统计」页,或点击侧边栏底部的「用量统计」入口打开全屏面板。

2、热力图颜色 = 当日调用次数;点击厂商 chip 或表格行可筛选 / 钻取。

3、在「厂商管理」里给每个厂商设置别名与类型(订阅 / 官方 API),可选设置每百万 token 单价用于费用估算。

经过上面的步骤,看板会按所选时间范围展示厂商 KPI 表、逐日 / 逐月明细,点击厂商行还能继续钻取到逐模型消耗。

接口与架构

Host 半(lib/index.js)扫描持久化会话日志聚合用量,通过 webServer 服务注册两条数据路由:

  • GET /api/usage-vendor-stats:统计快照(厂商 / 模型 / 日 / 月 / 小时 / 汇总)
  • POST /api/usage-vendor-stats/vendor:设置厂商别名、类型与单价

Client 半(lib/client.js)是浏览器 bundle,注册设置页(settings.section 槽位)、侧边栏底部入口(sidebar.footer.action)与全屏面板(shell.overlay)。

插件无第三方运行时依赖:Host 半仅用 Cordis 服务,Client 半仅用模块表提供的 React。日常修改 lib/client.js 刷新页面生效;Host 半改动需重启 DSH。

适用场景与注意

适合同时接多家厂商、想分摊和核对各家用量与成本、关注缓存命中率和响应性能的 DSH 用户。使用前注意:

  • 插件以当前 dsh 进程的权限运行,安装前建议先阅读源码确认行为,再决定是否启用;许可证为 MIT。
  • 数据读自持久化会话日志,历史会话在插件激活时自动回填,无需手动导入。
  • 预估费用列是按你填写的每百万 token 单价折算的估值。

小结

一句话回顾:dsh-usage-vendor-stats 把散落在 DSH 会话日志里的用量数据,按厂商维度聚合成可筛选、可导出、可估算费用的看板,安装即用、无需改配置。

目录页:https://www.skillhub.cn/plugins/kirigayakazima/dsh-usage-vendor-stats
源码仓库:https://github.com/kirigayakazima/dsh-usage-vendor-stats

需要说明的是,skillhub 社区目录为独立站点,与 DeepSeek / 幻方无官方从属关系。

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

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

Xiaoye