前言¶
在使用 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
功能说明¶
- 分时计费:将会话使用量按路由和 UTC 小时折叠,支持分时定价(如早晚高峰)。
- 缓存定价:分别对缓存读取和缓存写入进行计费。
- 路由对比:输出当前路由的实际成本,并列出所有备选路由的成本及与实际的差异百分比。
- 价格表导出:通过
/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(检查日期)。
注意事项¶
- Token 计数来源:Token 数量来自实际运行的模型,而不是预测模型的计数。不同模型的分词方式不同,因此不能简单地将 A 模型的 Token 数量套用到 B 模型的价格上进行预测。
- 缓存定价差异:不同供应商的缓存策略和定价不同,缓存定价仅供参考。
- 计费模式:价格仅基于 Pay-as-you-go(按量付费)的列表价格,不包含订阅计划、预付费套餐或免费层级。
- 数据时效性:价格数据是快照,仅反映发布时的定价,使用前建议核对来源日期。
结尾¶
dsh-switch-cost 插件为 DSH 用户提供了在本地计算多模型成本对比的能力,特别适合需要优化推理成本或进行供应商比价的场景。它通过投影和工具的方式,将复杂的定价逻辑封装在插件内部,模型无需关心具体实现即可获取成本信息。
- GitHub 仓库:https://github.com/xyzs996/dsh-switch-cost
- 社区目录:https://www.skillhub.cn/plugins/xyzs996/dsh-switch-cost