`dsh-usage-stats` - DeepSeek Harness 用量统计插件

前言

DeepSeek Harness 本身不保留跨会话的用量视图,会话一删历史消耗就查不到。dsh-usage-stats 是一个本地用量统计插件,将每次模型调用的四类 token 记入 SQLite 账本,按 天 × 服务商 × 模型 分桶。它只统计用量,不做费用计算,适合需要区分主对话与内部调用(压缩、摘要等)的开发者。

核心功能

  • 本地 SQLite 账本:数据存储在 $DSH_HOME/storages/usage-stats/。
  • 分桶统计:按 天 × 服务商 × 模型 分桶,统计输入、输出、缓存命中、缓存读写。
  • 调用区分:区分 主对话 与 DSH 内部调用(压缩、摘要等)。
  • 历史回溯:支持回溯插件安装前的历史会话数据。
  • 权限控制:仅本地 loopback 访问,无凭据/会话内容访问权限。

安装与启用

插件仅支持 Web GUI profile (dsh web),安装后需重启服务。

  1. 安装
    dsh plugin --profile web add @lengduan/dsh-usage-stats
  1. 升级
    dsh plugin --profile web update @lengduan/dsh-usage-stats
  1. 禁用(保留账本)
    在 dsh web 的 cordis.patch.yml 中覆盖:
    - id: usage-stats
      disabled: true
  1. 移除(保留账本)
    dsh plugin --profile web remove @lengduan/dsh-usage-stats

使用方法

  1. 安装并重启 dsh web。
  2. 打开任意一个已有对话的会话。
  3. 在会话视图顶部切换到「用量统计」tab。
  4. 默认显示「今日 · 全部口径」的数据。
  5. 通过时间范围(今日/本周等)和口径(全部/对话/内部)筛选数据。
  6. 点击服务商行可折叠查看其下的模型明细。
  7. 点击「刷新」重新取数。

适用场景与注意

  • 适用场景:需要按天或按模型核对 token 消耗,并且需要把「主对话」与「DSH 内部调用」分开看的人。
  • 不支持:TUI / headless 环境(没有 Web 的 slot 可挂),需要算钱(这里只有 token,不乘单价),跨机器汇总(账本是单机文件)。
  • 远程访问:远程访问依赖 @linxin666/dsh-remote-web-ui 的配对门控通道。若未安装该插件或未配对,局域网直连 /usage/api 会返回 403 错误。
  • 卸载行为:卸载不会删除本地账本,要清空历史需手动删除 $DSH_HOME/storages/usage-stats/ 目录。
羽毛球分组比赛记分
小程序二维码

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

小夜