DeepSeek Harness (DSH) 生态中已有 dsh-token-meter 用于统计 Token 使用量,但这只是一个计数器。当项目进入生产阶段,开发者需要控制预算、设置阈值并在超支时采取行动(如通知或阻断请求)。dsh-cost-governor 旨在解决这个问题。它作为上层预算守护者,利用 DSH 官方的 sessionProjections 接口,将离散的 Token 桶转化为金额,并执行预算策略。
核心功能¶
按模型成本核算¶
插件基于官方 sessionProjections 接口实现成本核算。这确保了数据在日志压缩和冷读时保持准确,并且当你修改价格表时,历史记录会自动重新计价。它支持按模型维度统计,并将 Token 桶细分为输入、输出、缓存读写和推理等部分。
多提供商价格目录¶
内置了 DeepSeek、OpenAI、Anthropic、Google、xAI、Qwen、GLM、Moonshot 等提供商的价格目录。支持为不同提供商配置独立的缓存读写和推理费率,所有价格均可手动覆盖。
预算治理策略¶
支持日、周、月或无限周期的预算设定。
* 软阈值:warnRatio。当支出达到设定比例(默认 0.8)时触发警告。
* 硬阈值:hardRatio。当支出达到设定比例(默认 1.0)时触发硬性限制。
* 执行动作:hardAction 支持三种模式:仅通知(notify-only)、阻断新请求(block-new-requests)或转向更便宜的模型(steer-to-cheaper-model)。
通知与仪表盘¶
- Webhook 通知:支持在阈值触发时发送通知,支持 Slack 风格、飞书和钉钉格式。
- 可视化仪表盘:路径为
Settings → Usage & Cost。提供 KPI 卡片、动画预算条、按模型分列的支出表格、每日支出图表以及 CSV 导出功能。 - 侧边栏 HUD:在侧边栏提供紧凑的环形预算指示器。
安装与启用¶
- 安装插件:
npm i -g dsh-cost-governor
- 在 DSH 的
cordis.yml配置文件中添加插件节点。配置包含货币类型、预算周期、金额、阈值比例及动作。
- name: dsh-cost-governor
config:
currency: USD
budget:
period: monthly # daily | weekly | monthly | unlimited
budgetUsd: 20 # 周期内的预算上限
warnRatio: 0.8 # 软阈值:80% 时警告
hardRatio: 1.0 # 硬阈值:100% 时执行动作
hardAction: notify-only # notify-only | block-new-requests | steer-to-cheaper-model
notifyWebhook: "" # 可选的 Webhook 地址
- 重启 DSH 服务。仪表盘将出现在设置页面的
Usage & Cost菜单下。
注意事项¶
- 计费范围:插件仅计算最终
assistant/message的使用量。如果请求在组装消息前失败,其输入消耗不计入统计(尽管提供商通常会收取该费用)。 - 价格准确性:内置目录中的价格为社区占位符,使用前需核对各提供商的官方定价。
- 集成验证:
block-new-requests和steer-to-cheaper-model需要根据官方 DSH 插件文档进行集成验证,确保与 LLM 请求流程正确对接。
概览¶
- 项目名称:yushuosun/dsh-cost-governor
- 维护者:yushuosun
- 许可证:MIT
- GitHub:https://github.com/yushuosun/dsh-cost-governor