dsh-gateway-billing: 逐对话模型计费显示

前言

DSH(DeepSeek Harness)采用插件化架构,任何开发者都可以通过扩展来增强功能。对于自建 New API 或 One API 兼容网关的用户,在 Web Composer 中查看当前对话的模型调用成本是一个常见需求。现有的网关计费看板通常位于独立页面,缺乏与对话上下文的联动。

dsh-gateway-billing 插件将这一功能集成到了 DSH Web Composer 的 Dock 区域,无需离开对话界面即可实时查看费用。

插件简介

本插件由维护者 LeslieWylie 开发,基于内部网关计费看板脱敏泛化而来。它是一个独立的 Skill,适用于任何自建的、暴露 New API / One API 格式 /pricing 接口的网关。

核心功能

  1. 价格表拉取
    自动从配置的网关地址拉取价格表,服务端每 10 分钟刷新一次并缓存。

  2. 双计费模式支持
    兼容两种计费方式:
    - 按 token 计价(quota_type=0)
    - 固定单价计费(quota_type=1)

  3. 逐对话折算
    遍历当前对话的所有模型调用节点,根据 usage(输入/输出/cache token)与价格表折算总费用。

  4. Composer Dock 展示
    在输入栏下方展示一行信息:
    - 总费用
    - 最近调用模型及次数
    - 输入/输出/cache token 数量
    支持多模型对话时自动分行。

  5. 状态区分
    区分「未配置」与「拉取失败」两种状态,并高亮显示价格表中未找到条目的模型调用。

安装与启用

方式一:手动安装(当前推荐)

  1. 克隆仓库到本地:
   git clone https://github.com/LeslieWylie/dsh-gateway-billing.git ~/Desktop/01-Projects/dsh-gateway-billing
  1. 进入你的 DSH profile 目录,编辑 package.json,添加依赖:
   "dsh-gateway-billing": "link:~/Desktop/01-Projects/dsh-gateway-billing"
  1. 编辑 cordis.patch.yml,添加插件配置并指定价格表地址:
   - id: gateway-billing
     name: 'dsh-gateway-billing'
     config:
       pricingUrl: 'https://your-gateway.example.com/api/pricing'
  1. 运行 pnpm install 并重启 DSH 进程。

方式二:插件命令(待发布)

dsh plugin add dsh-gateway-billing

配置说明

插件需要在 cordis.patch.yml 的 config 字段中提供 pricingUrl。

配置项 说明 示例
pricingUrl 网关价格表接口地址,需返回 New API / One API 格式的数据 https://your-gateway.example.com/api/pricing

设计原则与注意

  • 网关无关:插件不内置网关地址,价格表来源完全由用户配置。
  • 失败可见:未配置与拉取失败会展示不同提示,不静默处理。
  • 单次刷新:价格表在服务端每 10 分钟刷新一次,Composer Dock 通过 RPC 读取快照,不重复拉取。

结语

dsh-gateway-billing 为 DSH 用户提供了无需额外跳转即可掌握对话成本的方案。它从内部脱敏而来,去除了敏感信息,同时保留了实用的计费功能。

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

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

小夜