dsh-model-cost:在 DSH 里把 token 用量折成美元,并区分峰谷

前言

DeepSeek Harness(DSH)会在状态栏里给出 token 用量、轮次、吞吐等指标,但通常不会直接回答「这次对话大概花了多少钱」。各家模型按 token 计费,输入、输出、缓存读、缓存写单价不同,部分供应商还区分峰时与谷时;聊得久了,花费很难凭直觉估算。

下面介绍社区插件 dsh-model-cost(维护者 SiskonEmilia,分类:模型推理)。它读取本地会话日志,按 LiteLLM Model Cost Map 把用量折算成美元,并把结果嵌进你已经在看的界面:输入框下方状态栏、新会话模型选择器旁、左侧栏「模型成本」页。目录页:SkillHub 插件页。

这是什么

dsh-model-cost 是 DeepSeek Harness 插件,版本 0.1.0(MIT 许可证)。定位可以概括为:本会话花了多少、当前是不是谷时、一段时间内各模型各花了多少——计价与峰谷规则来自 LiteLLM 公开价目表,计算在本地完成;只有你点击「更新价目表」时才会联网拉取该 JSON。

与「只看 token 数」相比,插件补的是货币口径和时段口径:未在价目表中识别的路由可标为「未定价」,并在价格映射里手动指定条目。

核心功能

三个展示位置

在哪 看到什么
输入框下方的状态栏 本会话累计花费,以及现在是峰时还是谷时
新会话的模型选择器旁 当前模型在当前时段的单价:缓读 · 缓写 · 入 · 出(每百万 token)
左侧栏「模型成本」 所有会话的统计、走势、来源筛选与价格映射

本会话花费(状态栏)

会话里出现可计费调用后,花费 pill 与 22 轮 565 步 · 170 tok/s 等排在同一行。悬停看明细,点击可钉住面板。

图标颜色表示时段:峰时黄、谷时绿、无峰谷价时用普通文字色、未认到价目表条目时为红色。明细包括:当前模型路由及价目表条目、峰/谷与切换倒计时、四项单价、按本地时区画的「今天」时间条、本会话 tokens/请求数/峰谷拆分(多模型时分模型花费)。尚无计费调用时不显示,不占位。

新会话价签

新会话输入框底部、模型选择器旁,按当前时段列出缓读 · 缓写 · 入 · 出单价;换模型价格即时更新。发出第一条消息后价签隐去,让位给会话累计花费。

全局统计页

左侧栏进入「模型成本」。右上角「更新价目表」「刷新」。支持时间范围(全部 / 今天 / 近 7 天 / 近 30 天)及按模型、Provider、会话、日期或峰谷分组;可按 provider 临时剔除来源(选择保存在浏览器)。概览含总成本、tokens、请求数、缓存命中率、峰/谷占比、未定价调用数;走势支持花费 / Tokens / 请求切换;分组表与价格映射用于核对路由与手动纠正「多义」「未定价」项。全局统计一次最多扫描最新 800 个会话,超出会提示截断。

隐私与数据范围

插件只读会话日志中的 provider、model、usage 和完成时间,不读消息正文。缓存、价格映射、价目表落在本地 $DSH_HOME/model-cost/(默认 ~/.dsh/model-cost/)。除手动更新价目表外,插件不主动联网。

fork 会话时,插件会跳过继承的前缀,避免全局重复计费;面板可能显示形如 $0.238 (+fork $1.23) 的对照说明。

安装与启用

官方 README 面向 Windows 上的 DeepSeek Harness Desktop,安装脚本借用 Desktop 自带的 Node 运行 dsh plugin。步骤如下。

git clone https://github.com/SiskonEmilia/dsh-model-cost
cd dsh-model-cost
pwsh -File .\install-desktop.ps1

装完重启 Desktop。之后若改 client.js,刷新页面即可;若改 index.js,需重启 Desktop,或在 Settings → Plugins 中关闭再打开 dsh-model-cost。界面中英文跟随 DSH 语言设置。

插件以当前 DSH 进程权限运行,安装前建议自行查阅仓库源码与 MIT 许可证。社区目录 SkillHub 与 DeepSeek / 幻方无官方从属关系,并非官方应用商店。

典型用法

  1. 安装并重启 Desktop,在 Settings → Plugins 确认 dsh-model-cost 已启用。
  2. 在任意会话完成至少一次模型调用,在输入框下方状态栏查看本会话花费;悬停或点击打开明细,确认峰/谷与四项单价是否合理。
  3. 开新会话,在模型选择器旁查看当前时段价签,再发消息观察价签让位给会话 pill。
  4. 打开左侧栏「模型成本」,选时间范围与分组方式;若出现「未定价」,到「价格映射」为对应 provider / model 选择价目表 key 并保存。
  5. 需要与 LiteLLM 上游单价同步时,在统计页点击「更新价目表」。

若装好后新会话价签也不见:确认插件已启用并重启过 Desktop;若显示「未定价」,先发一条消息产生路由,再到价格映射里指定条目。

适用场景与注意

适合谁: 长期在 DSH Desktop 上调模型、关心单次会话与阶段性总花费的开发者;需要对照 LiteLLM 公开单价做估算、并处理峰谷或未映射路由的场景。

估算与账单的差异: 插件用 LiteLLM 公开单价 × 实际用量估算,供应商账单口径可能不同;缓存写入价缺失时按输入价兜底(LiteLLM 口径)。长上下文阶梯价、批量/优先档、图片和音频计费目前不参与计算。峰谷按每次调用的完成时间与价目表 off_peak_pricing 判定,时间条按浏览器时区绘制。

更深层的计价细节、映射配置与缓存策略见仓库内 docs/reference.md。

结尾

dsh-model-cost 把 DSH 已有的用量日志接上 LiteLLM 价目表,在状态栏、价签和统计页三处给出美元估算与峰谷提示,本地计算为主、映射可手工纠正。进一步了解与问题反馈:

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

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

小夜