dsh-switch-cost: 智能体对话成本对比插件

前言

在使用 DeepSeek Harness (DSH) 进行模型推理时,现有的使用插件通常只能回答“这次调用实际花了多少钱”。开发者往往还需要知道:“如果这次流量跑在别的模型或供应商上,成本会是多少”。这个差距就是 dsh-switch-cost 插件要解决的问题。

插件简介

该插件通过两次定价来回答上述问题:一次针对当前实际运行的路由,另一次针对价格表中的所有其他路由。它主要用于对比不同模型和供应商之间的 API 成本。

  • 插件名:dsh-switch-cost
  • 作者:xyzs996
  • 分类:模型推理
  • 协议:MIT
  • 核心价值:在本地计算同一会话在多路由下的成本对比,无需人工估算。

安装与配置

安装命令如下:

dsh plugin add dsh-switch-cost

运行环境要求

该插件依赖于 sessionProjections 投影注册表。请确保你的 Assembly(组装器)正确注入了该依赖,否则插件无法提供功能。

// 示例注入代码
ctx.inject(['sessionProjections'], ...)

配置项

在配置文件中设置需要对比的备选路由数量。

switch-cost:
  alternatives: 8   # 排序后显示的备选路由数量,默认为 8

功能说明

  1. 分时计费:将会话使用量按路由和 UTC 小时折叠,支持分时定价(如早晚高峰)。
  2. 缓存定价:分别对缓存读取和缓存写入进行计费。
  3. 路由对比:输出当前路由的实际成本,并列出所有备选路由的成本及与实际的差异百分比。
  4. 价格表导出:通过 /prices 端点导出当前的价格表。

投影状态

插件注册了一个名为 switchCost 的投影单元,其状态包含路由的使用量桶(按小时分组),包含 input、cacheRead、cacheWrite、output 四类 Token。

工具接口

插件注册了一个名为 switch_cost 的工具。调用它无需参数,返回当前会话的总 Token 数、实际路由成本以及所有备选路由的成本对比。

返回数据结构示例:

{
  tokens: 100, // 整个会话的桶总计数
  actual: [{ route, tokens, cost, costText, ratesApplied, pricedAs, source, checkedAt, layer }],
  actualTotal, actualTotalText,
  alternatives: [{ route, cost, costText, versusActual, source, checkedAt, layer }],
  unpriced?: [{ route, tokens }],
  caveats: string[]
}

价格表来源

价格表包含两个层级,优先级为 Vendor(供应商):
1. layer: 'vendor':直接读取供应商官网在 checkedAt 时刻的定价页面。
2. layer: 'models.dev':来自社区目录(通常有延迟且不支持分时定价)。

使用示例

在 Agent 的工具列表中,switch_cost 工具会自动提供会话成本对比结果。模型可以读取该工具的输出,并展示给用户。

示例输出文本(由模型渲染):

Ran on deepseek-official/deepseek-v4-flash: $0.0416 (peak and off-peak hours both billed)

Same tokens, other routes:
  deepseek-official/deepseek-v4-flash-vision-exp  $0.0416  +0%
  openai/gpt-5.6-luna  $0.0513  +23%
  deepseek-official/deepseek-v4-pro  $0.1260  +203%

导出价格表

通过 HTTP 请求访问 dsh-switch-cost/prices 即可获取详细的价格表,每行数据都包含 source(来源)和 checkedAt(检查日期)。

注意事项

  1. Token 计数来源:Token 数量来自实际运行的模型,而不是预测模型的计数。不同模型的分词方式不同,因此不能简单地将 A 模型的 Token 数量套用到 B 模型的价格上进行预测。
  2. 缓存定价差异:不同供应商的缓存策略和定价不同,缓存定价仅供参考。
  3. 计费模式:价格仅基于 Pay-as-you-go(按量付费)的列表价格,不包含订阅计划、预付费套餐或免费层级。
  4. 数据时效性:价格数据是快照,仅反映发布时的定价,使用前建议核对来源日期。

结尾

dsh-switch-cost 插件为 DSH 用户提供了在本地计算多模型成本对比的能力,特别适合需要优化推理成本或进行供应商比价的场景。它通过投影和工具的方式,将复杂的定价逻辑封装在插件内部,模型无需关心具体实现即可获取成本信息。

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

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

小夜