dsh-cost-estimate:回答前预估 token 用量与费用

前言

在 DeepSeek Harness(DSH)Web 聊天界面中发送大请求时,通常无法立即得知本次调用的大致成本。dsh-cost-estimate 插件在回答开始前,会在聊天流中插入一行内联通知,预估输入/输出 token 区间和费用区间;回答结束后,同一行自动更新为实际 usage、费用和缓存命中率。

与社区已有插件(如 dsh-session-cost)的区别在于,本插件专注于事前预估——由于输出长度天然不可预测,它给出区间,并通过会话内历史实际值做持续校准。

核心功能

  1. 事前预估:模型开始生成前,先显示预估的输入 token、输出 token 区间和费用区间。
  2. 事后对账:回答结束(拿到 provider 真实 usage)后,同一行翻转为实际 token 与费用,并展示缓存命中率。
  3. 阈值触发:默认“预估输入 >= 8000 token 或预估费用 >= ¥0.01”才显示,小问题静默,大问题必提示。
  4. 峰谷计价:支持 deepseek-v4-flash / v4-pro,自动根据当前时间选择高峰/低谷档位。
  5. 输入侧精度:优先锚定每次请求真实返回的 usage,中间穿插用 CJK 感知的启发式计数兜底。
  6. 输出侧校准:使用滑动均值持续修正后续预估。
  7. 纯客户端:计算与渲染在 Web 客户端完成,零侵入会话日志。
  8. 多步支持:工具调用循环会标注并累计真实费用。

安装与启用

dsh plugin --profile web add dsh-cost-estimate

安装后重启 dsh web,并在浏览器中强制刷新(Ctrl+Shift+R)以加载新插件。

注意事项:
* 该命令依赖 pnpm(npm install -g pnpm)。
* Windows 路径含空格时需使用 junction 或无空格路径。
* 估算仅供参考,以 DeepSeek 实际扣费为准。

配置

在 cordis.patch.yml 的 config 中支持以下键:

  • minInputTokens:默认 8000。预估输入超过该 token 数才显示。
  • minCostCny:默认 0.01。预估费用超过该元数才显示。
  • defaultModel:默认 deepseek-v4-flash。首次 usage 锚定前的模型回退值。
  • headerTokensEstimate:默认 6000。首次 usage 锚定前,系统提示词 + 工具 schema 的启发式 token 数。
  • defaultCacheHitRatio:默认 0.5。首次 usage 锚定前假定的缓存命中率。

示例配置:

- id: cost-estimate
  name: dsh-cost-estimate
  config:
    minInputTokens: 20000
    minCostCny: 0.05

效果示例

发送大问题后,回答前会显示:

预估:输入约 9.9K tok · 输出 2.2K–7.3K tok · 费用约 ¥0.0096–¥0.0198(v4-flash)

回答结束后,同一行更新为:

实际:输入 9.1K tok · 输出 1.1K tok · 费用 ¥0.02(缓存命中 87% · v4-flash)

注意事项

  • 输入侧在锚定后精确,输出侧为区间估计。
  • 插件以当前 dsh 进程权限运行,安装前建议检查源码与许可证。

总结

dsh-cost-estimate 适合需要在开发调试阶段精细化控制成本、评估大模型调用开销的开发者。它通过客户端计算实现了对 DeepSeek API 费用的实时监控与预估。

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

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

小夜