🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI
广告☁️ 云服务器特惠阿里云首购 8 折 · 腾讯云合作特惠
DeepSeek Harness Hub
← 返回列表

JavenLu233/dsh-cost-monitor

DeepSeek Harnessspec-screened扫描:无法判定在 GitHub 查看 ↗
需源码安装

DeepSeek Harness DSH 费用展示插件: 底部累计 + 每轮费用 + 会话统计图。

暂不能直接安装(需源码编译或环境不满足):缺少 main/exports/bin 入口声明;仓库 package.json 标记 private,未发布到 npm,需从源码安装。 · 最近上游提交 2026/9/11 · 已提供中文文档

DeepSeek Harness 费用展示插件:底部累计费用 + 每条消息本轮费用 + 会话统计图 | DSH plugin: session cost total in the composer, plus per-turn cost on each message

综合分
30.4
GitHub 分
30.4
用户评分
—
★ Stars
2
周下载量
—
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add JavenLu233/dsh-cost-monitor
缺少 main/exports/bin 入口声明;仓库 package.json 标记 private,未发布到 npm,需从源码安装,改用 GitHub 源安装
信任档位:已验证本站已于 2 天前真实安装成功(L4 · 真实安装)
是什么
dsh 原生插件 · market
装得上吗
本站已真实安装成功(L4 · 真实安装,非静态推断)
安全吗
本站尚未对该插件做风险分级(暂未覆盖,不等同于无风险)
还在维护吗
活跃:最近一次提交在 15 天前

档位由下列信号合成:本站实装验证(真实安装,当前最高到 L4)· 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。下方各区块是它的证据明细。 验证判据与等级说明 →

🟢实装验证通过· 2026/9/24
由本站实装验证器在真实 dsh 环境安装成功,非静态推断。
数据截至 2026/9/21(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
安装兼容性检查需源码安装

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✗npm 包dsh-cost-plugin(未发布到 npm,仅可源码安装)
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✗入口文件缺少入口声明

缺少 main/exports/bin 入口声明;仓库 package.json 标记 private,未发布到 npm,需从源码安装

验证方式:npm registry 存在性 + package.json 静态校验 · 最后验证 2026/9/21 09:02:49

用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

由 DeepSeek 最新模型翻译生成
dsh-cost-plugin

npm version
npm total downloads
license
TypeScript
React
pnpm
DSH

DeepSeek Harness (DSH) 费用展示插件: 底部累计 + 每轮费用 + 会话统计图。

费用展示:底部累计 + 每轮本轮费用

费用统计:构成、趋势与按轮明细

- @javenlu233/dsh-session-cost — host 侧投影(sessionCost),按每次请求的模型/时间计价。
- @javenlu233/dsh-client-ui-turn-cost — client 侧展示(底部累计 + 每消息「本轮」)。
- @javenlu233/dsh-cost-monitor — 聚合包,一键装齐上面两个。

安装(使用者)

装好 Node.js 后执行:

npx @deepseek-ai/dsh plugin --profile web add @javenlu233/dsh-cost-monitor
npx @deepseek-ai/dsh web

dsh plugin 会在 profile 目录里转发 pnpm。裸包名安装会写入正常的 semver 依赖范围,日常不需要把版本号写死。刚发布的版本可能受 pnpm 的 minimumReleaseAge 或 npm 镜像同步延迟影响,暂时仍解析到旧版;这属于包管理器 / registry 的等待,不需要永久锁定版本。想立即验证新发布的包,可以等待 registry 同步,或在 profile 的 .npmrc 临时使用 registry=https://registry.npmjs.org;也可以在 pnpm-workspace.yaml 设置 minimumReleaseAge: 0。

浏览器打开后,插件有时不会立刻出现:等几秒再强制刷新(Windows / Linux:Ctrl+Shift+R,macOS:Cmd+Shift+R)。底部应出现「累计费用」,每条助手消息有「费用」按钮。若刷新后仍没有,关掉 dsh web 再启动一次,然后再强制刷新。

本机已有 dsh 命令时,把 npx @deepseek-ai/dsh 换成 dsh 即可。需要 DSH 0.1.1-rc.1 及以上(含 session-projection 的 stateSchema / wire 契约)。

卸载:

npx @deepseek-ai/dsh plugin --profile web remove @javenlu233/dsh-cost-monitor

更新到最新版

不需要先卸载,也不需要手写版本号。--latest 会让 pnpm 选择 npm latest 并更新 profile 中的依赖范围:

npx @deepseek-ai/dsh plugin --profile web update --latest @javenlu233/dsh-cost-monitor

然后重启 dsh web,再强制刷新。

查当前装了哪一版、npm 上最新正式号:

npx @deepseek-ai/dsh plugin --profile web list
npm view @javenlu233/dsh-cost-monitor version

这套流程已用当前 dsh 源码验证:先用裸包名安装,再执行 update --latest,聚合包及其两个子包会一起更新,且 dsh 会重新同步 session-cost / ui-turn-cost 配置层。

历史会话

费用从会话的完整用量日志折算,不要求当时已经装着本插件。装好并重启后,打开装插件之前的旧会话,底部同样会给出整段累计费用;每条仍加载在窗口里的助手消息也可以看「本轮」。

分页、压缩不会改累计总额。已被压缩、不在当前窗口里的回合没有单独的「本轮」行,它们的费用仍计入底部累计。每条用量按自己的事件时间套用对应模型路由的价格版本,因此跨调价日的旧会话会保留历史费率。

计价

费用是按配置表的估算,不是官方账单:峰谷取各用量样本的事件时间(组装 message 的时间,不是请求开始时间),中途换模型只按 request/context 的粒度计价,结果可能和 provider 账单有出入。单位为 人民币 / 百万 token。缓存写入按未命中价计。未记录模型或表中没有该模型时,回退到新版默认路由 deepseek-flash。
内置 DeepSeek 价格(人民币 / 百万 token;峰时为北京时间周一至周五 9:00–12:00、14:00–18:00,其余为谷时)。旧 V4 费率从 2026-08-17 00:00 北京时间起按峰谷计价;V4.1-Flash 新费率从 2026-09-10 12:00 起生效;V4-Pro 从 2026-09-14 12:00 起按官方规则路由并按 V4.1-Flash 费率计价:

| 模型 | 时段 | 命中 | 未命中 | 缓存写 | 输出 |
| --- | --- | ---: | ---: | ---: | ---: |
| deepseek-flash(新版默认) | 平价(2026-08-17 前) | 0.02 | 1 | 1 | 2 |
| | 峰时(2026-09-10 前) | 0.10 | 3 | 3 | 9 |
| | 谷时(2026-09-10 前) | 0.05 | 1.5 | 1.5 | 4.5 |
| | 峰时(2026-09-10 起) | 0.04 | 2 | 2 | 8 |
| | 谷时(2026-09-10 起) | 0.02 | 1 | 1 | 4 |
| deepseek-v4-flash / deepseek-v4-flash-vision-exp(兼容别名) | 同上 | 同上 | 同上 | 同上 | 同上 |
| deepseek-v4-pro | 平价(涨价前) | 0.025 | 3 | 3 | 6 |
| | 峰时(2026-09-14 前) | 0.30 | 9 | 9 | 27 |
| | 谷时(2026-09-14 前) | 0.15 | 4.5 | 4.5 | 13.5 |
| | 峰时(2026-09-14 起,路由至 V4.1-Flash) | 0.04 | 2 | 2 | 8 |
| | 谷时(2026-09-14 起,路由至 V4.1-Flash) | 0.02 | 1 | 1 | 4 |

deepseek-v4-flash 和 deepseek-v4-flash-vision-exp 是兼容别名,调价后按 V4.1-Flash 费率计;图片按尺寸折成 token 后计入 API 回报的 input 用量,插件不单独做分辨率换算。

自定义价格

编辑 profile 的 cordis.patch.yml(默认 ~/.dsh/profiles/web/cordis.patch.yml),按 id 覆盖 session-cost 的 config。patch 整段替换 config,不会和默认表做字段级合并;prices 也是整表替换,要改价请把用到的模型都写全。未写的配置项仍走插件 schema 默认值。

- id: session-cost
config:
currency: CNY
defaultRoute: deepseek-flash
2026-08-17 00:00 北京时间;更早的用量走 flat
effectiveAt: 1786896000000
peakWindows: [[9, 12], [14, 18]]
timezoneOffsetMinutes: 480
prices:
deepseek-flash:
flat: { cacheRead: 0.02, uncachedInput: 1, cacheWrite: 1, output: 2 }
peak: { cacheRead: 0.10, uncachedInput: 3, cacheWrite: 3, output: 9 }
offPeak: { cacheRead: 0.05, uncachedInput: 1.5, cacheWrite: 1.5, output: 4.5 }
updates:
- effectiveAt: 1789012800000 # 2026-09-10 12:00 北京时间
peak: { cacheRead: 0.04, uncachedInput: 2, cacheWrite: 2, output: 8 }
offPeak: { cacheRead: 0.02, uncachedInput: 1, cacheWrite: 1, output: 4 }
deepseek-v4-flash:
flat: { cacheRead: 0.02, uncachedInput: 1, cacheWrite: 1, output: 2 }
peak: { cacheRead: 0.10, uncachedInput: 3, cacheWrite: 3, output: 9 }
offPeak: { cacheRead: 0.05, uncachedInput: 1.5, cacheWrite: 1.5, output: 4.5 }
updates:
- effectiveAt: 1789012800000
peak: { cacheRead: 0.04, uncachedInput: 2, cacheWrite: 2, output: 8 }
offPeak: { cacheRead: 0.02, uncachedInput: 1, cacheWrite: 1, output: 4 }
deepseek-v4-flash-vision-exp:
flat: { cacheRead: 0.02, uncachedInput: 1, cacheWrite: 1, output: 2 }
peak: { cacheRead: 0.10, uncachedInput: 3, cacheWrite: 3, output: 9 }
offPeak: { cacheRead: 0.05, uncachedInput: 1.5, cacheWrite: 1.5, output: 4.5 }
updates:
- effectiveAt: 1789012800000
peak: { cacheRead: 0.04, uncachedInput: 2, cacheWrite: 2, output: 8 }
offPeak: { cacheRead: 0.02, uncachedInput: 1, cacheWrite: 1, output: 4 }
deepseek-v4-pro:
flat: { cacheRead: 0.025, uncachedInput: 3, cacheWrite: 3, output: 6 }
peak: { cacheRead: 0.30, uncachedInput: 9, cacheWrite: 9, output: 27 }
offPeak: { cacheRead: 0.15, uncachedInput: 4.5, cacheWrite: 4.5, output: 13.5 }
updates:
- effectiveAt: 1789358400000 # 2026-09-14 12:00 北京时间
peak: { cacheRead: 0.04, uncachedInput: 2, cacheWrite: 2, output: 8 }
offPeak: { cacheRead: 0.02, uncachedInput: 1, cacheWrite: 1, output: 4 }

给其他模型加价:在 prices 里用 provider 侧模型 id 再加一项。改完后重启 dsh web。

开发

结构

cost-plugin/
├─ packages/
│  ├─ session/session-cost/    # host 投影
│  ├─ client/ui-turn-cost/     # client 展示(dsh.client 浏览器半)
│  └─ cost-monitor/                # 聚合包:汇总的 cordis.patch.yml
├─ scripts/link-profile.mjs    # 把子包 junction 进 ~/.dsh/profiles/node_modules/@javenlu233
├─ package.json / pnpm-workspace.yaml / .npmrc

构建
bash
pnpm install
pnpm build   # 或 pnpm -r build

产物:packages///lib/{index,invariant}.js + packages/client/ui-turn-cost/lib/client.js。

改代码后:pnpm build(或只 build 改过的包)→ 重启 dsh web → Ctrl+Shift+R。link-profile 只需包路径变了才重跑。

发布流程

按这条链路走,不要跳过 beta 直接发 latest:

1. 本地 link 调通
2. 发 beta 包,用 npm 的 @beta 再验一遍
3. PR 合进 main
4. 发正式包(latest)

发包细节(顺序、OTP、workspace:^)见 PUBLISHING.md。三个包的 version 必须一起改。

1. 本地 link

不改 DSH 源码。Windows 上请在 harness 仓库里用 pnpm dsh ...,不要 npx @deepseek-ai/dsh(bin 可能指到不存在的 lib/bin.js)。
bash
1. 构建
pnpm install && pnpm build

2. 把子包链接进 profile(聚合包的 children 依赖靠这个解析)
node scripts/link-profile.mjs

3. 用本地 link 装聚合包(把  换成仓库根目录的绝对路径)
dsh plugin --profile web remove @javenlu233/dsh-cost-monitor
dsh plugin --profile web add "link:/packages/cost-monitor"

4. 重启 dsh web;打开页面后等几秒再强制刷新
dsh web

验证:dsh --profile web --dump-config 应出现 # == @javenlu233/dsh-cost-monitor 及 session-cost / ui-turn-cost 两行。

2. 发 beta

三个包改成预发布号(例如上次正式版是 0.1.1,这次用 0.1.2-beta.0),构建后带 --tag beta 发布,不会覆盖 latest:
bash
pnpm build

cd packages/session/session-cost && pnpm publish --tag beta --no-git-checks && cd ../../..
cd packages/client/ui-turn-cost && pnpm publish --tag beta --no-git-checks && cd ../../..
cd packages/cost-monitor && pnpm publish --tag beta --no-git-checks && cd ../..

卸掉 link,改装 beta:
bash
dsh plugin --profile web remove @javenlu233/dsh-cost-monitor
dsh plugin --profile web add @javenlu233/dsh-cost-monitor@beta

必须写 @beta 或完整预发布号;beta 验证不使用稳定版的裸包名。重启 dsh web 并强制刷新。

3. PR 合进 main

beta 验证通过后开 PR,合进 main。不要在合入前发正式包。

4. 发正式包

在 main 上把三个包的 version 改成正式号(例如 0.1.4,去掉 -beta.0),构建后不要加 --tag(默认 latest)。安装文档保持裸包名,不需要随每次发版改版本号。
bash
pnpm build

cd packages/session/session-cost && pnpm publish --no-git-checks && cd ../../..
cd packages/client/ui-turn-cost && pnpm publish --no-git-checks && cd ../../..
cd packages/cost-monitor && pnpm publish --no-git-checks && cd ../..
验证已安装 profile 可以直接更新:
bash
dsh plugin --profile web update --latest @javenlu233/dsh-cost-monitor

重启并强制刷新。

已知限制

显示值是估算:峰谷用 message 组装时间而非请求开始时间,换模型只按 request/context 的粒度,可能和 provider 账单不一致。web_search 触发的 flash 总结用量会计入本轮和统计图的「搜索调用」栏;装插件之前的旧会话补不上这一笔。Vision 模型的图片费用依赖 API 回报的 usage(图片已折成 input tokens),插件不按分辨率重算。

dsh-session-cost 依赖 host 的 sessionProjections 投影服务、ui-turn-cost 依赖
composer.dock / assistant-actions 两个 slot。这些 API 来自 DSH 的 @deepseek-ai/dsh-*
官方包;独立构建时它们作为 external 不打包、也不作为 devDependencies 安装(否则会拉取
npm 上尚未发布的传递依赖),改为在 peerDependencies 中声明、由真实 dsh web 宿主提供。
因此在「本地 link + 真实 dsh web」下可跑;需确认 DSH 版本已包含上述 API,且
session-projection 为 stateSchema + wire 契约(约 0.1.1-rc.1 起)。

版本变更见 CHANGELOG.md。

License

MIT,见 LICENSE。

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

💬 加入社群

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

DPharness QQ 群二维码,QQ 扫码进群
QQ 扫码进群
DPharness 飞书群二维码,飞书扫码进群
飞书扫码进群