dsh-cost-bar:在 DSH 输入栏显示本轮与会话的估算花费

前言

DeepSeek Harness(DSH)会在信息栏旁展示 token 用量,但 Harness 本身只记录 token,不记录金额。若你在本地或 Web 上长时间跑智能体会话,想快速知道「这一轮大概花了多少钱」「本会话累计多少」,只能自己对照官方价目表心算,既慢也容易和界面上的 token 数字对不齐。

下面介绍社区插件 dsh-cost-bar(维护者 WhXcjm,分类:客户端)。它在 Composer 信息栏里增加一条成本条,显示本轮与会话的估算花费;点开可看按计费项拆分的双栏明细,并与 DSH 的 tokenUsage 投影同源折账。

这是什么

dsh-cost-bar 是 DeepSeek Harness 插件:在输入框信息栏显示本轮与会话的估算花费,点开可看按计费项拆分的明细,以及本会话与全部会话的对比(README 亦描述为 composer-bar cost pill)。

插件只读会话数据:不改写会话日志,不改动模型请求,也不额外调用模型。金额由 token 数 × 单价估算,不是账单。

信息栏与弹层显示什么

信息栏中的成本条位于 token 用量右侧。金额标记显示两个数字:本轮成本 · 会话成本,各保留 3 位小数。

点开弹层后:

  • 表头:本轮成本、会话成本,保留 4 位小数。
  • 左表按计费项拆账:输入支出、缓存支出、输出支出,各给出本轮与会话两列。
  • 右表对比本会话与全部会话:对话轮数、今日支出、总计支出。总计覆盖本机所有会话,含子代理会话与从持久化日志回填的历史会话。
  • 底注:本会话缓存命中率、本会话缓存节省(按缓存命中价与输入价之差估算)。
  • 页脚:当前模型、当前时段(空闲价 / 高峰价)、该时段的输入 / 缓存 / 输出单价,单位元每百万 token。

总计列始终显示四位:≥1 时保留 4 位有效数字,<1 时保留 3 位小数。会话列固定 3 位小数。

计价方式(与 token 栏同源)

Token 取自会话日志里每次模型调用结算的用量(assistant/message.usage)。折账方式与 DSH 自身的 tokenUsage 投影一致:同一步内后到的样本替换先前的样本,llm/retry-started 之后的样本重新累计。因此金额与信息栏旁的 token 数字同源。

每条消息按结算时刻取当时单价。DeepSeek 高峰时段为北京时间周一至周五(法定节假日除外)9:00–12:00、14:00–18:00,高峰价为空闲价的两倍;一轮跨时段时分段计价。节假日按 prices.json 的 holidays 判定。「今日」按运行 DSH 的主机本地时区划分自然日。

安装与启用

需要带 sessions、sessionPersistence、connection 服务的 DSH 桌面或 Web 组合。插件通过已认证的 /api 通道暴露只读快照,不新增端口。

从 npm 安装:

npm install dsh-cost-bar

或从源码安装(克隆仓库后,在 DSH 插件页以本地目录安装):

git clone https://github.com/WhXcjm/dsh-cost-bar.git

在 DSH 的插件页把 dsh-cost-bar 装为插件(npm 包名或本地目录均可;Agent 也可用 plugin_manager 的 install_bundle),重载插件后信息栏出现成本条。

配置

bundle 的 cordis.patch.yml 注册一行 cost-bar:

- insert:
    - id: cost-bar
      name: 'dsh-cost-bar'
      config:
        currency: '¥'

currency 只决定金额前缀。另有 coldScanBudgetMs(默认 2000)与 coldScanIntervalMs(默认 60000),控制历史会话回填的单轮时间片与重扫间隔。

价格表 prices.json

价格、峰谷窗口与节假日都在 prices.json 里,修改后数秒内热加载,不必重启或重装。README 抄录值(2026-11-01,元 / 百万 token)如下:

模型 输入(缓存未命中) 输入(缓存命中) 输出
deepseek-flash · 空闲 ¥1.00 ¥0.02 ¥4.00
deepseek-flash · 高峰 ¥2.00 ¥0.04 ¥8.00
deepseek-v4-pro · 空闲 ¥4.50 ¥0.15 ¥13.50
deepseek-v4-pro · 高峰 ¥9.00 ¥0.30 ¥27.00

模型键精确匹配,未收录的模型走 default 行。缓存写入按输入价计。价格来源见 DeepSeek 模型与价格;节假日依据国务院办公厅 2026 年部分节假日安排,次年安排公布后把新日期补进 holidays。

典型用法

  1. 按上文安装并重载插件,确认信息栏 token 右侧出现成本条。
  2. 正常对话;观察「本轮 · 会话」两位小数字随每次模型调用更新。
  3. 点击成本条打开双栏弹层,查看输入 / 缓存 / 输出拆账,以及本会话与全部会话的轮数、今日与总计支出。
  4. 若官方调价或本地模型别名与默认键不一致,编辑插件目录下的 prices.json,保存后等待热加载即可。

Host 半通过 ctx.sessions 读实时会话、ctx.sessionPersistence 回填历史,经 ctx.connection.fetch 注册只读路由 /api/cost-bar/snapshot;Client 半向 conversation.composer.dock 注册 id: cost(order: 2)。

适用场景与注意

适合在 DSH 桌面或 Web 上长期调试智能体、需要把 token 用量快速换算成人民币估算、并希望和界面 token 数字一致的用户。

插件以当前 DSH 进程的权限运行,并通过已认证 API 读取会话快照;安装前应自行查看 GitHub 仓库 源码与 MIT 许可证。社区目录 skillhub.cn 为独立站点,与 DeepSeek / 幻方无官方从属关系。

结尾

经过上面的步骤,你可以在 Composer 信息栏直接看到本轮与会话的估算花费,并在弹层里对照计费项与会话级汇总。更多截图与开发说明见仓库 README:

  • 目录页:https://www.skillhub.cn/plugins/WhXcjm/dsh-cost-bar
  • GitHub:https://github.com/WhXcjm/dsh-cost-bar
羽毛球分组比赛记分
小程序二维码

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

Xiaoye