← 返回列表
未验证
DeepSeek Harness DSH 插件:在输入框下方的统计行中实时显示当前会话累计 token…
尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/8/15 · 已提供中文文档
DeepSeek Harness (DSH) Web GUI 的社区插件:带官方动态定价的会话 token 成本计量器、DeepSeek 与火山引擎账单余额,以及更新检查器。纯 JavaScript,无需构建。
综合分
28.1
GitHub 分
28.1
用户评分
—
★ Stars
2
周下载量
—
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add YZz-S/dsh-token-cost-meter该插件未发布到 npm,走 GitHub 源安装(pnpm 若拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑)
数据截至 2026/9/18(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动
README
dsh-token-cost-meter
English · 中文
DeepSeek Harness (DSH) 插件:在输入框下方的统计行中实时显示当前会话累计 token 消耗与估算费用(人民币),价格从 DeepSeek 官方价格页动态获取。
DeepSeek Harness(DSH)插件:在 Web GUI 输入框下方的统计行中实时显示当前会话累计 token 消耗与估算费用(人民币),价格从 DeepSeek 官方价格页动态获取。
支持两种形式:可安装的 dsh.bundle 包(推荐,在 DSH 重启后依然保留)和动态 cordis_define 用法(临时运行)。
English
中文 · ← 返回 DeepSeekHarnessPlugins
预览
输入框下方会出现一个新的统计行(位于内置统计行的右侧):
Cost ¥0.13 · 43.2K tokens
悬停时会显示明细:定价模型、输入(缓存未命中 / 缓存命中分桶)、输出、定价模式(当前 / 高峰时段 / 非高峰时段)、价格来源及获取时间。
功能特性
- 真实用量:读取会话投影 tokenUsage(由 provider 上报的累计用量:缓存未命中输入 / 缓存命中输入 / 输出 —— 与 DSH 内置统计行同源)
- 官方动态定价:Host 每 6 小时抓取并解析 DeepSeek 官方价格页(包含高峰 / 非高峰价格表,按北京时间自动切换)
- 优雅降级:若官方页面抓取失败,自动回退到内置价格快照,金额前加 ≈ 前缀,并在悬停提示中注明原因
- 三级模型检测回退:最近请求的 provenance → requestConfig → Host 的 agents.options.model;若全部失败,则按模型显示计算出的价格区间
- 零数据外泄:唯一的外发请求是官方公开价格页;token 用量仅在本地显示 —— 绝不上传或持久化
文件
| 文件 | 说明 |
| --- | --- |
| index.js | 已安装的 Host 半部分:抓取 / 解析官方价格页;/api/token-cost-meter/ 路由(pricing / model) |
| lib/client.js | 已安装的 Client 半部分:输入框下方的 UI、费用计算 |
| cordis.patch.yml | Bundle 补丁:将本插件的行插入 DSH 组合中 |
| host.js | 动态 Host 半部分(cordis_define 的 code.host),功能上等同于已安装形式 |
| client.js | 动态 Client 半部分(code.client) |
| README.md / SECURITY.md / CHANGELOG.md / LICENSE | 文档与许可证 |
安装(dsh.bundle)
本仓库同时也是一个可安装的 dsh 插件包(package.json 中声明了 dsh.bundle + dsh.client):
dsh plugin --profile web add github:YZz-S/dsh-token-cost-meter
安装后,重启 DSH,输入框下方的费用统计行即自动生效。动态用法(cordis_define 加载 host.js / client.js)也保留;二者任选其一。
用法
方式一:动态 Cordis 插件(临时)
1. 打开 DSH Web 并进入一个会话;
2. 让助手调用 cordis_define,将 host.js 全文作为 code.host 提交,将 client.js 全文作为 code.client 提交;
3. 对返回的 pluginId / packageId 执行 cordis_run;
4. 在 Run 卡片上批准(建议双击 ✓ 以跳过未来更新的审批);
5. 刷新页面;费用统计行会出现在输入框下方。
动态插件的生命周期与当前 DSH 进程相同:DSH 重启后,你必须重新定义并运行它。
方法 2:作为常规插件安装(持久化)
这就是上面的“安装(dsh.bundle)”部分——执行 dsh plugin add 后,它会在 DSH 启动时自动加载。
工作原理
┌────────────────────────── 客户端(浏览器)──────────────────────────┐
│ conversation.composer.dock(输入框下方的统计行) │
│ ┌──────────────────────────────────────────────────────────────────┐ │
│ │ CostLine 组件 │ │
│ │ · useProjection('tokenUsage') ← 会话累计真实用量 │ │
│ │ · GET /api/token-cost-meter/pricing ← 官方价格(TTL 6h + │ │
│ │ 快照回退) │ │
│ │ · GET /api/token-cost-meter/model ← 会话模型(Host 侧) │ │
│ │ cost = 未命中输入 × 未命中价格 + 缓存命中 × 命中价格 + │ │
│ │ 输出 × 输出价格 │ │
│ └──────────────────────────────────────────────────────────────────┘ │
└──────────────────────────────────────────────────────────────────────┘
│ fetch(同源 HTTP)
┌──────────────────────── Host(DSH Node 进程)─────────────────────────┐
│ webServer 路由:pricing(原生 fetch → 解析两个价格表) │
│ model(agents.get(sessionId).options.model) │
└───────────────────────────────────────────────────────────────────────┘
计费依据
费用(人民币)= 缓存未命中输入 × 未命中价格 + 缓存命中输入 × 命中价格 + 输出 × 输出价格
- 价格单位:人民币 / 百万 tokens,取自官方定价页面;自 2026-08-17 起,根据官方公布的峰谷价格表自动切换(北京时间 9:00–12:00 和 14:00–18:00 为高峰时段,其余为低谷时段)。
- 缓存写入按未命中价格计费(与 DeepSeek 计费规则一致)。
平台要求
- DSH(Web 模式,支持动态 Cordis 插件;已在 DSH 0.1.0-rc.6 + Node.js v22 + Windows 上验证)
- 安装形式没有额外依赖:宿主进程具有原生 fetch(Node ≥ 18)
- 动态形式(host.js):获取价格的命令为 PowerShell 语法,在 Windows 上开箱即用;在 Linux/macOS 上,请将 host.js 中的 NODE_FETCH 替换为相应的 shell 语法
为什么动态形式使用 node.exe 获取定价页面
DSH 动态插件沙箱禁用了 fetch / require,且 Web 部署默认不挂载 ctx.web 的 fetch provider(防 SSRF);此外 Windows 沙箱执行器会破坏 curl/PowerShell schannel 的 TLS 凭据。因此动态形态通过 ctx.shell 调用 node.exe(OpenSSL TLS,不受 schannel 影响)抓取唯一硬编码的官方 URL——命令字符串不拼接任何外部输入,无命令注入面。安装形态使用宿主进程原生 fetch,不受此限制。
已知限制
- 费用为估算值,非官方账单;实际扣费以 DeepSeek 平台为准
- 内置价格快照(抓取于 2026-08-15)可能滞后于官方调价;仅在动态抓取失败时作为兜底
- 动态插件为会话级:DSH 进程重启后需重新安装(见方式二)
许可证
MIT
中文
English · ← 返回 DeepSeekHarnessPlugins
DeepSeek Harness(DSH)插件:在 Web GUI 输入框下方的统计行中实时显示当前会话累计 token 消耗与估算费用(人民币),价格从 DeepSeek 官方价格页动态获取。
支持两种形态:可安装的 dsh.bundle 包(推荐,随 DSH 启动常驻)与动态 cordis_define 用法(临时运行)。
效果
输入框下方(自带 stats 行右侧)新增一行读数:
费用 ¥0.13 · 43.2K tokens
鼠标悬停显示明细:计价模型、输入(缓存未命中/命中分桶)、输出、计价模式(现行价 / 高峰时段价 / 空闲时段价)、价格来源与抓取时间。
功能特性
- 真实用量:读取会话投影 tokenUsage(服务商上报的累计用量:未命中输入 / 缓存命中 / 输出,与 DSH 自带统计行同源)
- 官方动态价格:Host 端每 6 小时抓取并解析 DeepSeek 官方价格页(含峰谷价表,按北京时间自动切换时段)
- 优雅降级:官方页抓取失败时自动改用内置价格快照,金额前加 ≈ 并在悬停提示中标注原因
- 模型识别三级回退:最近请求 provenance → requestConfig → Host agents.options.model;全部失败时显示按各模型分别计算的价格区间
- 零数据外传:唯一出站请求为官方公开价格页;token 用量仅本地展示,不上传、不落盘
文件说明
| 文件 | 说明 |
| --- | --- |
| index.js | 安装版 Host 半边:抓取/解析官方价格页,/api/token-cost-meter/ 路由(pricing / model) |
| lib/client.js | 安装版 Client 半边:输入框下方 UI、费用计算 |
| cordis.patch.yml | bundle 补丁:向 DSH 组合插入本插件行 |
| host.js | 动态版 Host 半边(cordis_define 的 code.host),与安装版功能等价 |
| client.js | 动态版 Client 半边(code.client) |
| README.md / SECURITY.md / CHANGELOG.md / LICENSE | 文档与许可 |
安装(dsh.bundle)
本仓库同时是可安装的 dsh 插件包(package.json 声明 dsh.bundle + dsh.client):
dsh plugin --profile web add github:YZz-S/dsh-token-cost-meter
安装后重启 DSH,输入框下方的费用读数自动生效。
动态用法(cordis_define 加载 host.js / client.js)仍保留,两种方式二选一。
使用方法
方式一:动态 Cordis 插件(临时运行)
1. 打开 DSH Web,进入会话;
2. 让助手调用 cordis_define,将 host.js 全文作为 code.host、client.js 全文作为 code.client 提交;
3. cordis_run 运行返回的 pluginId / packageId;
4. 在 Run 卡片上批准(建议勾选双 ✓,后续版本更新免审批);
5. 刷新页面,输入框下方出现费用读数。
动态插件的生命周期与当前 DSH 进程相同:重启 DSH 后需重新 define + run。
方式二:正式插件(常驻)
即上方「安装(dsh.bundle)」一节,dsh plugin add 后随 DSH 启动自动加载。
工作原理
┌─────────────────────────── Client(浏览器) ───────────────────────────┐
│ conversation.composer.dock(输入框下方统计行) │
│ ┌───────────────────────────────────────────────────────────────────┐ │
│ │ CostLine 组件 │ │
│ │ · useProjection('tokenUsage') ← 会话累计真实用量(实时更新) │ │
│ │ · GET /api/token-cost-meter/pricing ← 官方价格(TTL 6h + 快照兜底)│ │
│ │ · GET /api/token-cost-meter/model ← 会话模型(Host 侧来源) │ │
│ │ 费用 = 未命中输入×未命中价 + 缓存命中×命中价 + 输出×输出价 │ │
│ └───────────────────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────────────────┘
│ fetch(同源 HTTP)
┌───────────────────────── Host(DSH Node 进程) ─────────────────────────┐
│ webServer 路由: pricing(原生 fetch 抓官方页 → 解析两套价表) │
│ model(agents.get(sessionId).options.model) │
└─────────────────────────────────────────────────────────────────────────┘
计费口径
费用(人民币)= 缓存未命中输入 × 未命中价 + 缓存命中 × 命中价 + 输出 × 输出价
- 价格单位:人民币 / 百万 tokens,取自官方价格页;2026-08-17 起按官方公告的峰谷价表自动切换(北京时间 9:00–12:00、14:00–18:00 为高峰时段,其余为空闲时段)。
- 缓存写入按未命中价计(与 DeepSeek 计费规则一致)。
平台要求
- DSH(Web 模式,支持动态 Cordis 插件;已在 DSH 0.1.0-rc.6 + Node.js v22 + Windows 验证)
- 安装版无额外依赖:宿主进程自带 fetch(Node ≥ 18)
- 动态版(host.js)的价格抓取命令为 PowerShell 语法,Windows 开箱即用;Linux/macOS 需替换 host.js 中 NODE_FETCH 为对应 shell 语法
为什么动态版用 node.exe 抓取价格页
DSH 动态插件沙盒禁用了 fetch / require,且 Web 部署默认不挂载 ctx.web 的 fetch provider(防 SSRF);同时 Windows 沙盒执行器会破坏 curl / PowerShell 的 schannel TLS 凭据。因此动态版经 ctx.shell 调用 node.exe(OpenSSL TLS,不受 schannel 影响)抓取唯一的硬编码官方 URL,命令字符串无任何外部输入拼接,无命令注入面。安装版宿主进程自带原生 fetch,不受此限制。
已知限制
- 费用为估算值,非官方账单;实际以 DeepSeek 平台扣费为准
- 内置价格快照(2026-08-15 抓取)可能滞后于官方调价,仅供动态抓取失败时兜底
- 动态插件为会话级:DSH 进程重启后需重新安装(见「方式二」)
许可
MIT
English · 中文扫码进群