dsh-usage-insights:在 DSH 设置里查 Token 与费用

前言

用 DSH(DeepSeek Harness)接官方账号或自建 relay 时,模型调用分散在会话日志里,控制台往往只能看到单次对话,很难按天、按接口、按模型汇总请求次数和 Token。若还要对照价目估费用,通常只能自己扒日志或记账。

dsh-usage-insights 是社区插件,由 Ayowait 维护,在 DSH 设置侧栏增加一页「用量查询」:把官方与第三方 provider 的每次模型调用记入本地账本,并按界面风格接近 DeepSeek 官方用量页的方式展示统计与明细。数据只落在本机 $DSH_HOME 下,不联网上传,也不记录消息正文。

这是什么

插件全名 dsh-usage-insights(npm 包名同),归类于社区目录的 admin-security。它在 DSH 0.2.x(Desktop / Web)上通过 Cordis 补丁挂载 Host 与 Client:Host 负责采集事件、历史回填和 HTTP API;Client 注入设置页与侧栏入口。

解决的问题可以概括为三点:全量统计 turn / compaction / title 三类调用;按 provider 区分官方(如 deepseek-account)与第三方 relay;在本地做费用估算、单价调整和 CSV 导出。

核心功能

下面按 README 已写明的能力说明,不展开未在资料中出现的特性。

记录与归类

  • 每次模型调用写入账本,字段含 provider、model、input/output、cacheRead/cacheWrite、kind(turn / compaction / title)等;不记录 prompt、回复、工具参数或 API Key。
  • 安装后自动扫描 $DSH_HOME/sessions 下已有会话日志做历史回填,之后只增量读取;账本在 storages/dsh-usage-insights/events.jsonl,按 id 去重、追加写。

展示与筛选

  • 设置页提供近 7 / 30 / 90 天及「全部」时间范围,并可按接口、模型筛选。
  • 三张统计卡、柱状图(消费金额 / Tokens / API 请求次数)、按模型的面积图,以及最近请求明细;界面布局参考官方用量页(见仓库 docs/ 截图)。

费用与导出

  • 内置 DeepSeek Flash / Pro 价目(元 / 百万 tokens);官方模型按北京时间峰谷(工作日 9–12、14–18 双倍)计算,未知模型按 Flash 价估算并标注「预估」。
  • 「价格设置」可 per-model 修改缓存命中 / 未命中输入 / 输出三项单价,改后立即重算历史。
  • 支持按当前筛选条件导出带 BOM 的 CSV,便于 Excel 打开。

本地 HTTP API

供设置页或本机 curl 使用,基址为 http://127.0.0.1:<port>,例如:

  • GET /dsh-usage/api/v1/summary?days=30&provider=all&model=all
  • GET / POST /dsh-usage/api/v1/pricing(POST 可 { "reset": true } 恢复默认)
  • GET /dsh-usage/api/v1/export?days=30
  • POST /dsh-usage/api/v1/backfill 重新扫描历史

资料注明:这些接口与 DSH 其他本地接口一样不做登录校验,POST 仅校验同源;勿将 GUI 端口暴露到公网或局域网。

安装与启用

安装命令以仓库 README 为准(需先把插件目录放到本机路径,再用 link: 挂载):

dsh plugin --profile desktop add link:/path/to/dsh-usage-insights

然后在 DSH 中打开「插件市场 → 已安装」,启用 dsh-usage-insights,刷新页面后,设置侧栏会出现「用量查询」。

无需重启 GUI 时,可用热挂载(将 <port> 换成当前 DSH GUI 端口):

curl -X POST http://127.0.0.1:<port>/dsh-market/toggle \
  -H 'content-type: application/json' \
  -d '{"name":"dsh-usage-insights","enabled":true}'

许可证为 MIT(见仓库与 package.json)。

典型用法

经过上面的安装与启用,可按 README 建议操作:

  1. 打开 设置 → 用量查询。
  2. 顶部选择时间维度,第二行选择接口和模型。
  3. 用三张卡查看汇总;柱状图在「消费金额 / Tokens / API 请求次数」间切换。
  4. 在「按模型」区域查看各模型请求数、Token 与日曲线。
  5. 需要时打开「价格设置」改单价,或用「导出」下载 CSV;右上角 ⟳ 可立即重扫历史。

计费口径(资料原文):费用 = 缓存命中 tokens × 命中价 +(未命中输入 + 缓存写入)× 输入价 + 输出 tokens × 输出价。内置价目示例:

模型 缓存命中 未命中输入 输出
DeepSeek Flash 0.02 1 4
DeepSeek Pro 0.15 4.5 13.5

(单位:元 / 百万 tokens。)

本地数据文件还包括 storages/dsh-usage-insights/pricing.json(自定义单价)与 backfill.json(回填游标)。

适用场景与注意

适合谁

  • 长期在 DSH 里混用官方账号与多个第三方 endpoint,需要统一看用量和粗算账单的人。
  • 希望从既有 sessions 日志一次性补历史、之后增量维护账本的人。

使用前注意

  • 插件以当前 DSH 进程权限运行,安装前应自行审阅 GitHub 源码 与 MIT 许可证。
  • 社区插件目录(如 SkillHub 条目)为独立站点,与 DeepSeek / 幻方无官方从属关系;DSH 生态强调「一切皆插件」,本插件是社区贡献,非内置功能。
  • 会话日志为多帧 zstd;解析器遇损坏帧会跳过,不中断整体回填(兼容性说明见 README)。

结尾

dsh-usage-insights 把 DSH 里分散的模型调用收成一本只存本地的账本,并在设置里提供接近官方用量页的查看、调价与导出能力。若要安装说明与 API 细节,以仓库 README 为准:

  • 目录页:https://www.skillhub.cn/plugins/Ayowait/dsh-usage-insights
  • 源码与文档:https://github.com/Ayowait/dsh-usage-insights
羽毛球分组比赛记分
小程序二维码

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

小夜