dsh-gateway-billing
by LeslieWylie
一个 逐对话模型计费显示 skill。从内部一个「网关计费」看板脱敏泛化而来,在 DSH Web 对话输入栏下方实时显示当前对话调用各模型产生的费用——适用于任何自建的、暴露 New API / One API 兼容 /pricing 接口的 LLM 网关。
Per-conversation LLM billing display for the DSH web composer, for anyone self-hosting a New API / One API-compatible gateway.
安装
dsh plugin --profile web add github:LeslieWylie/dsh-gateway-billingGitHub 源码安装:首次需按提示配置 allowBuilds 构建授权后重试
安装与环境配置指引、插件开发教程见 DSH 中文社区文档 ↗
安装即在你的机器上以你的权限运行第三方代码——它可读写文件、使用凭据、访问网络,DSH 的工具审批不会为插件代码加沙箱。「检测到 manifest」仅代表发现 dsh.bundle / dsh.plugin 清单,不构成兼容性或安全审查;安装前请审阅源码,不熟悉的插件先在不含密钥的环境试用。
README
这是什么
一个逐对话模型计费显示 skill。从内部一个「网关计费」看板脱敏泛化而来,在 DSH Web 对话输入栏下方实时显示当前对话调用各模型产生的费用——适用于任何自建的、暴露 New API / One API 兼容 /pricing 接口的 LLM 网关。
核心能力
| 模块 | 内容 |
|---|---|
| 价格表拉取 | 从你配置的网关地址拉取 New API / One API 格式的价格表,每 10 分钟自动刷新 |
| 双计费模式 | 按 token 计价(quota_type=0)与固定单价(quota_type=1)两种模式均支持 |
| 逐对话折算 | 遍历当前对话的所有模型调用节点,按 usage(input/output/cache token)与价格表折算总费用 |
| Composer Dock 展示 | 一行显示:💰 总费用 · 最近调用模型×次数 · 输入/输出/cache token;多模型对话自动展开分行 |
| 未配置/失败态区分 | 未配置价格表地址与拉取失败(网络错误等)展示不同提示;前者不提供「点击重试」——因为重试不能解决没配置的问题 |
| 未定价模型提示 | 价格表中找不到对应条目的模型调用会单独计数高亮,不会被静默计为 $0 |
安装
方式一:通过 profile 安装(推荐)
# 1. 克隆仓库到本地
git clone https://github.com/LeslieWylie/dsh-gateway-billing.git ~/Desktop/01-Projects/dsh-gateway-billing
# 2. 在 profile 目录添加依赖
cd ~/.dsh/profiles/<your-profile>
# 编辑 package.json,在 dependencies 中添加:
# "dsh-gateway-billing": "link:~/Desktop/01-Projects/dsh-gateway-billing"
# 3. 编辑 cordis.patch.yml,添加一行,并填入你自己网关的价格表地址:
# - id: gateway-billing
# name: 'dsh-gateway-billing'
# config:
# pricingUrl: 'https://your-gateway.example.com/api/pricing'
# 4. 安装依赖
pnpm install
# 5. 重启 dsh 进程
方式二:dsh plugin add(待发布到 npm 后可用)
dsh plugin add dsh-gateway-billing
所需配置
本 skill 需要在你自己 profile 的 cordis.patch.yml 中为 gateway-billing 这一条目提供 config:
| 配置项 | 说明 | 示例 |
|---|---|---|
pricingUrl |
你的网关的价格表接口地址,需返回 New API / One API 格式的 {data: [{model_name, quota_type, model_ratio, completion_ratio, model_price}, ...]} |
https://your-gateway.example.com/api/pricing |
不配置 pricingUrl 时,composer dock 会明确提示「未配置」,不会报错,也不会显示误导性的计费数字。
设计原则
- 网关无关:不内置任何具体网关地址,价格表来源完全由使用者配置
- 失败可见:拉取失败与未配置是两种不同的状态,各自展示对应的提示文案,不静默吞掉
- 单次刷新,多处消费:价格表在服务端每 10 分钟刷新一次并缓存,composer dock 通过 RPC 读取快照,不会为每个对话重复拉取
脱敏声明
本插件从内部一个网关计费看板脱敏泛化而来。原实现将价格表接口地址硬编码在源码中,且没有「未配置」状态——脱敏时把地址改为必填的 config.pricingUrl,并补上了未配置态与拉取失败态的区分展示。已移除所有内部机构名称、内部网关域名等具体引用。
更新日志
见 CHANGELOG.md。
许可证
MIT
原始 README: https://github.com/LeslieWylie/dsh-gateway-billing/blob/main/README.md ↗
同类插件
查看全部 →
archify
Agent 技能:生成美观、可校验的架构图、工作流图、时序图、数据流图与生命周期图——自包含 HTML、带动画与清晰导出

dsh-turn-rewind
对话回退:基于持久 Change Ledger 回滚会话与工作区状态。

dsh-plugin-cc
把 DeepSeek Harness 接入 Claude Code:评审、批评、委派与会话导入

dsh-interconnect
跨实例互联:经 interconnect 服务在多个 DSH 实例间转发消息与事件。

dsh-chat-import
把 13 家 coding agent(Claude Code、Codex、ChatGPT、Cursor、Gemini、opencode 等)的完整对话历史导入为可续聊的 DeepSeek Harness 会话,并支持反向导出回 Claude Code。

dsh-crew
DSH 插件:从 Claude Code / Codex 向 DSH agent 派活——原生 subagent 进度、宿主内 worker 会话(分级预设),以及为纯文本宿主补上视觉与图像生成的多模态桥