DeepSeek Harness 插件

Han-1413141/dsh-cost-meter

Star 数 ★ 9 分类 UI 增强 收录于 2026-08-14

会话与当日 API 费用统计、预算图框(已用%)、官方余额、历史看板,支持峰谷计价与官方价格一键同步。

安装

# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)

dsh plugin --profile web add github:Han-1413141/dsh-cost-meter

GitHub 来源的插件在安装时会在你的机器上执行构建脚本。请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。

README

DeepSeek Harness 会话费用统计插件(界面中英双语)

本会话费用 · 当日费用 · 预算与已用百分比 · 官方账户余额 · 历史记录 · 峰谷计价 · 官方价格一键同步

version license dsh awesome · DSH plugin

English | 中文


宣传图

功能总览

功能 位置 说明
本会话费用 输入区下方 / 会话标题栏 实时累计费用 + 输入/缓存/输出 token,位置可配
官方余额 侧边栏顶部 / 设置页(可配) 总余额 / 赠送 / 充值,自动刷新 + 手动刷新
当日费用 侧边栏底部(设置按钮上方) 「今日 ¥x」,悬停见调用次数与 token 明细
预算图框 侧边栏底部(余额行与设置按钮之间) 圆角方形图框:预算、已用%、进度条、今日费用与占预算%、已用/额度,≥80% 预警、≥100% 超支
汇总卡片 设置页 今日 / 本月 / 累计费用与调用次数
今日会话明细 设置页 每个会话的调用次数、输入/缓存/输出 token 与费用
历史记录 设置页 按天汇总,保留天数可配(默认 180 天)
预算设置 设置页顶部 额度、周期(今日/本月/累计/自定义日期区间)、已用%
价格表 设置页 每模型 基础/谷时/峰时 三档价格,增删改自由
峰谷计价 设置页 DeepSeek 官方峰谷方案,带生效时间门控与当前档位状态
官方价格同步 设置页 抓取解析官方定价页,一键应用
界面语言 设置页 → 显示设置 简体中文 / English / 跟随浏览器(自动);切换即时生效并自动保存
AI 价格同步 提示词 交给任意 AI 自主同步多模型、分时价格

双语界面

插件界面(会话徽章、侧边栏余额与预算图框、设置页全部文案)支持简体中文English:

  • 语言可选 简体中文 / English / 跟随浏览器(自动);
  • 默认「跟随浏览器」:自动探测浏览器语言(zh* → 中文,其余 → 英文),并把探测结果写回配置,服务端消息(余额查询、价格同步等)与界面语言保持一致;
  • 设置 → 费用 → 显示设置 → 界面语言 中切换,切换后整个插件界面即时生效并自动保存;设置页左侧的分节标签也随之切换(费用 / Cost);
  • 服务端返回的提示(余额刷新、官方价格同步、配置校验错误等)同样按当前语言输出。

图文演示

截图均取自真实 DeepSeek Harness 实例,默认以中文界面展示;插件界面本身中英双语,可在设置中切换为 English。

主页面

侧边栏底部(自上而下:官方余额 → 预算图框 → 设置按钮;关闭预算时余额仍显示在设置按钮上方):

侧边栏底部

  • 余额行显示官方开放平台总余额,悬停可见赠送/充值拆分;
  • 启用预算后,圆角方形图框显示「预算 · 已用% · 进度条 · 今日费用与占预算% · 已用/额度」;窄栏(rail)模式收窄为百分比方块;

预算图框

  • 未启用预算时,该位置显示「今日 ¥x」徽章。

本会话费用(两个位置,可在设置中切换):

输入区下方 会话标题栏
会话 dock 会话标题栏

上图:本会话 ¥5.5939 · 输入 321K · 缓存 119M · 输出 235K;右图:标题栏徽章「费用 ¥6.1606」(真实会话截图)

会话页

设置 → 费用

概览(预算 → 余额 → 汇总卡片 → 今日会话 → 历史记录 → 显示设置 → 价格表 → 数据与同步):

设置页

预算面板(顶部,含自定义日期区间):

预算

余额面板(总余额/赠送/充值 + 手动刷新):

余额

汇总卡片:

卡片

今日会话 / 历史记录(输入、缓存、输出 token 分列):

今日会话 历史记录

价格表(基础/谷时/峰时三档,美元 / 1M tokens):

价格表

数据与同步(配置即时自动保存 + 官方价格同步 + 清除历史):

同步

安装

需求:Node.js ≥ 20 + DeepSeek Harness(带 dsh plugin 命令的版本,npm install -g @deepseek-ai/dsh)。

一键安装(推荐)

PowerShell 一键脚本(复制整行粘贴回车;自动补齐 pnpm、自动探测 git,无需克隆仓库):

irm https://raw.githubusercontent.com/Han-1413141/dsh-cost-meter/master/install.ps1 | iex

或直接命令行(机器上需已有 pnpm 与 git):

dsh plugin --profile web add github:Han-1413141/dsh-cost-meter

没有 git 时可用 GitHub 打包直链(更新时先 remove 再 add):

dsh plugin --profile web add https://github.com/Han-1413141/dsh-cost-meter/archive/refs/heads/master.tar.gz

安装后重启 dsh web(插件行、Typert 清单与客户端 bundle 均在启动时扫描):

dsh web

更新 / 卸载

dsh plugin --profile web update dsh-cost-meter  # 更新到最新提交(git 方式;或重跑一键脚本)
dsh plugin --profile web remove dsh-cost-meter  # 卸载

开发者本地调试

git clone https://github.com/Han-1413141/dsh-cost-meter.git
cd <克隆目录的父目录>
dsh plugin --profile web add link:./dsh-cost-meter  # 符号链接,改 lib/client.js 后刷新页面即生效

计费规则

计费规则与峰谷计价

  • 价格单位与官方文档一致:美元 / 1M tokens;
  • 成本 = 未命中输入 × cache-miss + 输出 × output + (缓存读 + 缓存写) × cache-hit(缓存写沿用官方历史规则按命中价计费);
  • 峰谷计价按时点门控:peakEffectiveAt(默认 2026-08-16 16:00 UTC)之前一律按基础价格;之后峰时段(01:00–04:00、06:00–10:00 UTC)按峰时价、其余按谷时价;设置页实时显示当前档位(未生效/峰时段/谷时段);
  • 账本金额恒以美元存储,币种/汇率仅影响显示(默认 1 USD = 7.2 CNY,可改);
  • 会话徽章按当前档位估算,当日/月度/累计与预算为按调用实际时刻精确计费;
  • 计费来源为每次模型调用的 usage 块(含子代理、压缩、标题等辅助调用),与账单口径一致;
  • 预算与超支提示仅提醒,不阻止调用

数据存储

  • 账本:$DSH_HOME/storages/cost-meter/ledger.json(原子写入 + 2 秒防抖;按 historyDays 保留,每日最多 200 个会话明细);
  • 所有设置修改即时自动保存(600ms 防抖),无需手动保存;
  • 删除账本文件即可清零,或使用设置页「清除全部历史」。

架构

架构与数据流

dsh-cost-meter
├── cordis.patch.yml        # bundle 补丁:向 web profile 插入 cost-meter 行
├── install.ps1             # 一键安装/更新脚本(irm … | iex)
├── .github/workflows/      # CI:install-smoke 一键安装冒烟验证
├── package.json            # dsh.bundle 补丁声明 + dsh.client 浏览器声明
└── lib/
    ├── index.js            # 宿主插件:llm/stream 计费包裹、costUsage 会话投影、
    │                       #   costMeter 服务(手写 typertRemote 绑定)、余额查询
    ├── pricing.js          # 官方价格表、官方页面 HTML 解析、峰谷计费数学
    ├── store.js            # 账本持久化与配置管理($DSH_HOME/storages/cost-meter)
    ├── typert.host.js      # ./typert 导出:Typert 清单(typert-loader 自动注册)
    └── client.js           # ./client 导出:浏览器单文件 bundle(徽章/图框/设置页)

数据通道:

  • 本会话费用:宿主注册 costUsage 会话投影(纯 token 桶 + 按模型拆分),浏览器经 useProjection('costUsage') 读取并按当前价格表计价;
  • 全局账本 / 预算 / 余额 / 配置:costMeter/getState | updateConfig | fetchPrices | refreshBalance | resetHistory,经 Typert 网关 RPC(remote.costMeter.*);
  • 余额:调用官方 GET {baseURL}/user/balance,复用模型请求的同一把 API Key(凭证服务/环境变量),进程内缓存按 refreshMinutes 过期。

插件不导入 cordis/dsh 的 Service/Context 运行时类(仅 Node 内建模块、zod、dsh-home-paths、dsh-credentials 的纯函数),与宿主共享同一运行时实例,无重复依赖风险。

官方价格同步原理

fetchPrices 抓取官方定价页(Docusaurus 服务端预渲染),解析:

  1. 基础价格表(转置布局:首行 MODEL + 模型 id,价格行标签后紧跟价格);
  2. 峰谷价格表(每模型两行:OFF-PEAK / PEAK);
  3. 生效时间(take effect at …)与峰时段窗口(Peak hours are …)。

解析结果写入价格表并持久化;页面结构变化时同步报错并保留原价格,可手动编辑兜底。

AI 价格同步

docs/AI-PRICE-SYNC-PROMPT.md(中文)与 docs/AI-PRICE-SYNC-PROMPT.en.md(English) 提供可直接复制给任意 AI 的提示词: AI 自主读取官方定价 → 输出多模型、分时(基础/谷时/峰时 + 生效时间)价格 JSON → 人工核对后应用(设置页 / RPC / 文件三选一)。适合官方价格变动时自主同步。

开发与验证

corepack pnpm install                                   # 依赖
node --check lib/index.js && node --check lib/pricing.js \
  && node --check lib/store.js && node --check lib/typert.host.js \
  && node --check lib/client.js                         # 语法检查
node test/verify.mjs                                    # 纯模块验证(解析/计费/账本/配置)
node test/mock-balance.mjs                              # (可选)本地余额接口模拟:3101
dsh --profile web --dump-config                         # 组合树校验
dsh --profile web --port 3099                           # 真机启动(观察启动日志与 UI)

已知限制

  • 官方页面解析依赖当前页面结构;改版后「从官方文档同步价格」会报错,可手动编辑价格表兜底;
  • 会话徽章按当前价格档位估算,精确费用以账本为准;
  • 价格同步会覆盖官方页面列出的同名模型价格,自定义模型条目不受影响;
  • 余额查询需要可访问 api.deepseek.com 的网络与有效 API Key;
  • 安装/更新插件后需重启 dsh web 生效。

License

MIT © 2026 dsh-cost-meter contributors

内容来自项目 README(GitHub)↗

链接

同类插件

查看整个分类 →