dsh-cost
Evidence-first token cost ledger and budget checks for DeepSeek Harness
安装
$
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:dongsheng123132/dsh-cost说明文档
阅读完整 README ↗dsh-cost
面向 DeepSeek Harness 的证据优先 token 成本账本与预算检查器。
dsh-cost 折叠 DSH 的持久会话日志:把每条已提交的 assistant/message.usage 归属到当时生效的 request/header provider/model 路由,再套用用户自己维护的价格表。缺 usage、缺价格都会明确暴露,绝不把残缺证据包装成“总成本”。
安装
dsh plugin --profile add github:dongsheng123132/dsh-cost
插件提供两个工具:
dsh_cost_report:会话持久成本、路由拆分、证据完整性、可选预算状态,以及当前ctx.tokenMeter压力快照。dsh_cost_check:显式的 fail-open / fail-closed 预算判断;v0.1 不冒充自动拦截未来调用。
价格表
复制 prices.example.json,按你自己当前的供应商合同填写价格,再通过插件配置传入绝对路径:
- id: dsh-cost
name: dsh-cost
config:
priceBookFile: C:/absolute/path/prices.json
defaultBudget: 5
价格单位是每百万 token。输入、输出、缓存读取、缓存写入是互斥桶;reasoningTokens 已属于输出信息,不重复计费。
仓库不内置任何厂商价格:价格会变、账号折扣不同,过期数字比明确标出未定价更危险。
离线账本
dsh-cost --events session-events.json --prices prices.json --budget 5 --fail-closed
退出码 2 表示已超预算,或在 --fail-closed 下因证据不足而无法放行。事件文件可以是数组,也可以是带 events 数组的对象。
证据边界
- 只依据持久
assistant/message.usage计费。 - 没有供应商 usage 的调用进入
missingUsageCalls。 - 价格表没有覆盖的路由进入
unpricedCalls。 - 上述任一项非零时,低于预算只能判
unknown,不能判within。 - 当前上下文压力取自 DSH 自己的
ctx.tokenMeter,不与会话累计消费混为一谈。
验证
npm test
npm run check
npm run smoke:plugin
MIT