前言¶
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 仓库。