dsh-billing-mini-tag:在 DSH Web 界面显示当前会话花费

前言

DeepSeek Harness(DSH)的 Web 模式在发送消息后,会在对话框上方显示缓存命中情况等统计信息。如果想知道当前会话已经消耗了多少费用,目前只能通过日志或账户余额间接推断。dsh-billing-mini-tag 在官方统计行右侧直接展示当前会话的累计花费,用人民币金额(¥x.xx)呈现。

插件简介

dsh-billing-mini-tag 是一个 DSH 插件,由 Refone 维护。它的核心功能是在 DSH Web 界面的统计行中,紧挨着缓存命中胶囊右侧显示当前会话的累计花费。价格基于官方 DeepSeek token 报价,只统计当前会话的 token 使用量,不涉及账户余额或跨会话总计。

核心功能

  • 当前会话花费:统计当前 DSH 进程中所有步骤记录的 token 使用量,按官方价格折算为人民币。
  • 实时更新:浏览器每秒向主机路由轮询一次,数字随步骤完成而更新,无需刷新页面。
  • 位置集成:将 ¥ 标签“传送”到官方统计行,而不是额外增加一行 Dock,且始终位于最右侧。
  • 价格来源:从官方定价页面获取价格,支持缓存命中、缓存未命中、缓存写入、输出四类计费桶。

安装与启用

插件需要使用 DSH 的 web profile。确保已安装 Node.js 20 或更高版本,并使用 DSH 0.1.5-rc.3 或更高版本。

安装命令:

dsh plugin --profile web add github:Refone/dsh-billing-mini-tag

安装后需要重启 dsh web 并刷新 Web 界面,再发送一条消息即可看到该标签。

如果需要固定某个发布版本而不是跟踪 main 分支,可以使用以下命令:

dsh plugin --profile web add https://github.com/Refone/dsh-billing-mini-tag/archive/refs/tags/v0.1.0.tar.gz

更新或移除插件时,重复使用相同的 add 命令即可更新;移除命令为:

dsh plugin --profile web remove dsh-billing-mini-tag

工作原理

插件分为两部分:Host 和 Browser。

  • Host(src/index.js):提供 GET /plugin-billing-mini-tag/cost?session=<id> 路由,根据会话日志统计 token 使用量,并缓存官方定价页面。
  • Browser(src/client.js):在浏览器端注册一个 Dock 项,并将 ¥ 标签传送至 [data-composer-stats] 区域。

Host 端在启动时和每次发送消息后获取官方定价页面,缓存最后一次成功的报价。请求超时时间为 8 秒,如果页面不可达,会使用内置的报价或上一次成功的报价。

对于 token 统计,插件会按 turn:step 折叠 assistant/attempt 和 assistant/message 事件。重复的步骤会替换前一个,llm/retry-started 事件会将重试的尝试视为单独的调用。插件会记录实际服务的模型名称,以便在会话中途切换模型时使用正确的价格。

Host 端返回格式化的显示字符串(¥0.00)以及原始 token、分模型明细、报价来源、未知模型名称等调试信息。对于未知会话、已卸载的日志或报价获取失败的情况,会降级为 0 或上一次的报价,不会抛出异常。

价格规则

价格来自官方页面,单位为每百万 token 的 CNY。计费桶包括:

  • 缓存命中(输入从缓存读取):使用 cache-hit 价格
  • 缓存未命中(输入未缓存):使用 cache-miss 价格
  • 缓存写入:使用 cache-miss 价格
  • 输出:使用 output 价格

高峰时段以北京时间计算,周一至周五 09:00–12:00 和 14:00–18:00。中国公共假期未建模,因此该规则是对官方高峰定义的本地近似。无法识别模型的报价会回退到 deepseek-flash 桶,调试信息会列出这些模型名称。

环境要求

  • DSH web profile。插件依赖 webServer 服务,如果安装到只有 dsh-base 的自定义 profile 中,DSH 会在启动时拒绝运行。
  • Node.js 20 或更新版本。
  • React 18 由主机提供(作为 peer dependency),插件本身没有运行时依赖。
  • 需要能访问 api-docs.deepseek.com 以获取实时报价。离线安装仍可使用内置报价。

适用场景与注意

适合需要实时掌握当前会话成本的用户,例如批量测试、调试 Prompt、预算有限的开发场景。

注意:插件以当前 DSH 进程权限运行,安装前建议查看源码与许可证。插件不收集任何遥测数据,所有网络请求仅用于获取官方定价页面。

总结

dsh-billing-mini-tag 将当前会话的花费直接显示在官方统计行右侧,无需离开 Web 界面即可查看。它基于官方定价,实时更新,并且不额外占用界面空间。更多细节可查看插件目录页与 GitHub 仓库。

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

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

Xiaoye