DeepSeek Harness Hub
← 返回列表

YZz-S/dsh-token-cost-meter

DeepSeek Harnessspec-screened在 GitHub 查看 ↗
未验证

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 · 中文

上游仓库有新提交时邮件通知你(每天最多一封,无更新不打扰),随时一键退订。

💬 加入 DPharness 群聊

插件用法、部署报错、新插件第一时间同步——群里问,比一个人翻文档快。

点击加入 QQ 群
DPharness 群聊二维码,手机 QQ 扫码进群
扫码进群