dsh-web
zhu1090093659/dsh-webDeepSeek Harness(DSH)Web 插件聚合生态包 · 一切皆插件,创意工坊分发(dsh-market.com)
DSH 底栏会话账单插件:在输入框底栏显示当前会话按官方单价折算的花费,含逐轮明细;Host 半自动抓取官方价格页,客户端零依赖可跨机安装。
装完输入框底栏会多一个「账单」胶囊:实时显示当前会话按 DeepSeek 官方价目表(高峰 / 空闲双档)折算的人民币花费;点开可看四类 token 分桶与逐轮明细——不用再去平台后台对账。
它在 DSH Web GUI 输入框底栏(conversation.composer.dock)的「会话统计 / token 用量 / 上下文」旁新增第 4 个项目,不改动任何内置插件。
能力分类:界面与体验 | 许可:MIT | 价格:免费
底栏右侧的 ≈¥5.53 · 账单 就是本插件;展开后可见四类 token 分桶(含该时段单价与小计)、计价模型、单价来源,以及逐轮明细。≈ 表示该会话历史未全部加载,因此按整会话总量与当前模型估算。
dsh plugin --profile web add dsh-billing-capsuleDesktop 端:
dsh plugin --profile desktop add dsh-billing-capsuledsh plugin --profile web add github:CKLYZZQ/DSH-plugin-Billing-Capsule侧栏 Plugins(插件) 页 → 安装 → 填 dsh-billing-capsule;或让 agent 用 plugin_manager 的 install_bundle,target 传包名、仓库地址或 tarball 绝对路径。
装完刷新页面,胶囊出现在「会话统计 / token 用量 / 上下文」右侧。卸载:Plugins 页取消选择,或 plugin_manager 的 remove_bundle。
<¥0.01;≈ 前缀表示估算;价目表里没有的模型显示 --(绝不编造数字)。按 DeepSeek 官方价目表:元 / 百万 tokens,分高峰与空闲(空闲为高峰半价)。 高峰时段为北京时间(Asia/Shanghai)周一至周五 9:00–12:00 与 14:00–18:00,其余时段及周末按空闲。 官方表未列缓存写入单价,该桶按 0 计价(弹层中有说明)。
中国法定节假日未内置;如需精确,把日期加进 cordis.patch.yml 的 holidays 列表(YYYY-MM-DD),这些日期会按空闲计价。
金额为估算参考,用于随时判断花费量级,不是计费凭证。
情况 · 行为 已加载轮次带唯一模型路由,且其 token 合计等于整会话投影 · 精确,逐轮分别计价 会话历史未全部加载(分页/压缩)或轮次缺少路由 · ≈,按整会话总量与最近使用的模型估算(不会因分页而少算) 切到非对话视图导致取不到逐轮数据 · ≈,只按整会话总量估算 模型不在价目表内 · 该轮/该会话不计金额,弹层提示「单价未知」并列出 token
会话总量始终取自 Harness 的整会话 tokenUsage 投影,逐轮数据只用于分摊,因此不会因为历史未加载而少算总额。
refreshHours 小时,抓取官方价格页并解析,经同源路由 GET /dsh-billing/prices.json 提供给客户端;客户端每 6 小时拉取一次,拿到就覆盖基线;cordis.patch.yml 里 config.models 的手动覆盖优先级最高。抓取或解析失败不会影响使用:弹层会显示当前用的是哪一来源。官方改版导致解析失败时,按下面的「更新价格」处理。
https://api-docs.deepseek.com/zh-cn/quick_start/pricing/(官方价格页),默认每 12 小时一次,可用 refreshHours 调整或关闭。除此之外不发起任何外部请求。GET /dsh-billing/prices.json(价格表)与 POST /dsh-billing/refresh(立即重抓),注册在 Harness 自身的 Web 服务上;默认 loopbackOnly: true,只回应 127.0.0.1 / ::1,只读价格数据,不返回会话内容。tokenUsage、modelSelection 投影与当前对话的逐轮用量,不写入任何会话事件。cordis.patch.yml 的 config)键 · 默认 · 含义 priceSourceUrl · 官方中文价格页 · Host 半抓取并解析的地址(解析器适配该页的中文表格结构) refreshHours · 12 · 重新抓取间隔;0 表示不定时抓取(仍会在激活时抓一次) requestTimeoutMs · 8000 · 单次抓取超时 loopbackOnly · true · 只回应回环来源的 prices.json 请求 holidays · [] · 按空闲计价的日期(YYYY-MM-DD,北京时间) models · {} · 手动单价覆盖:{"": {"cacheHitInput":{"peak":4,"idle":2},"cacheMissInput":{"peak":20,"idle":10},"output":{"peak":30,"idle":15}}}
例:给某个价目表外的模型定价
models:
deepseek-chat:
cacheHitInput: { peak: 0.2, idle: 0.2 }
cacheMissInput: { peak: 2, idle: 2 }
output: { peak: 3, idle: 3 }ℹ tests 19
ℹ pass 19
ℹ fail 0GET /dsh-billing/prices.json 节选){
"ok": true,
"currency": "CNY",
"unit": 1000000,
"models": {
"deepseek-flash": {
"cacheHitInput": { "peak": 0.04, "idle": 0.02 },
"cacheMissInput": { "peak": 2, "idle": 1 },
"output": { "peak": 8, "idle": 4 }
},
"deepseek-v4-pro": {
"cacheHitInput": { "peak": 0.3, "idle": 0.15 },
"cacheMissInput": { "peak": 9, "idle": 4.5 },
"output": { "peak": 27, "idle": 13.5 }
}
}
}"occupants": [
{ "id": "activity", "order": 0, "active": true },
{ "id": "usage", "order": 1, "active": true },
{ "id": "billing", "order": 2, "active": true }
]dependencies、零 peerDependencies、零 install script:不 import 任何 @deepseek-ai/*,因此不会触发 peer 版本拒绝,也不会产生待批准的构建脚本。dsh.client.inject 只声明激活顺序:目标 profile 需组合 ui-conversation(座位与底栏)与 ui-chat(逐轮数据)。缺 ui-chat 时降级为整会话总量估算;缺 dsh-token-meter 时不显示(拿不到会话总量)。webServer 是可选依赖;没有它时只用内置基线。0.2.0-rc.2 与 0.2.1-rc.2 / profile desktop(Desktop 端运行的 Web 表面)上验证座位注册与价格路由。官方改价后:
refreshHours 内重新抓取(也可 POST /dsh-billing/refresh 立即触发)。client.js 的 BASELINE,并跑 node tests/fetch-fixture.cjs 刷新 tests/fixture-pricing.html,按新页面改 tests/pricing.test.js 里的期望值。client.js 的 ALIASES 里加旧名到新名的映射,或在 config.models 里直接给该 id 定价。node --check index.js; node --check pricing.js; node --check client.js
node --test tests/pricing.test.js tests/client.test.jstests/pricing.test.js:用 tests/fixture-pricing.html(官方页面的逐字节副本)验证解析器,含失败关闭用例。tests/client.test.js:桩化 window.__ModuleLoader__ 与 require,直接测 client.js 暴露的纯函数(时段判定、分桶计价、别名、载荷校验、逐轮读取、精确/估算判定、金额格式化),不渲染 React。tests/debug-dump.mjs:排查官网改版时打印投影后的表格结构。项 · 值 地址 · https://github.com/CKLYZZQ/DSH-plugin-Billing-Capsule 可见性 · 公开 许可 · MIT(见 LICENSE) 默认分支 · main npm · https://www.npmjs.com/package/dsh-billing-capsule git spec · git+https://github.com/CKLYZZQ/DSH-plugin-Billing-Capsule.git
仓库根即包根:package.json、cordis.patch.yml、index.js、client.js、pricing.js 都在根目录,所以这个仓库本身可以直接当 git spec 安装。
仓库公开,任何机器都能直接克隆安装,不需要 GitHub 凭据。公开是单向门:即使之后改回私有,已产生的 fork、GitHub 缓存与搜索引擎索引也不会消失。
本项目以 MIT 许可发布,见 LICENSE。
测试夹具 tests/fixture-pricing.html 是 DeepSeek API 文档 · 模型 & 价格 页面的逐字副本,其版权归 DeepSeek, Inc. 所有,仅用于解析器回归测试,不适用本项目 MIT 许可。该文件仅存在于源码仓库,不包含在安装包中(package.json 的 files 未列入 tests/)。