会话与当日 API 费用统计、预算图框(已用%)、官方余额、历史看板,支持峰谷计价与官方价格一键同步。
安装
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:Han-1413141/dsh-cost-meter
GitHub 来源的插件在安装时会在你的机器上执行构建脚本。请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。
README
DeepSeek Harness 会话费用统计插件(界面中英双语)
本会话费用 · 当日费用 · 预算与已用百分比 · 官方账户余额 · 历史记录 · 峰谷计价 · 官方价格一键同步
English | 中文

功能总览
| 功能 | 位置 | 说明 |
|---|---|---|
| 本会话费用 | 输入区下方 / 会话标题栏 | 实时累计费用 + 输入/缓存/输出 token,位置可配 |
| 官方余额 | 侧边栏顶部 / 设置页(可配) | 总余额 / 赠送 / 充值,自动刷新 + 手动刷新 |
| 当日费用 | 侧边栏底部(设置按钮上方) | 「今日 ¥x」,悬停见调用次数与 token 明细 |
| 预算图框 | 侧边栏底部(余额行与设置按钮之间) | 圆角方形图框:预算、已用%、进度条、今日费用与占预算%、已用/额度,≥80% 预警、≥100% 超支 |
| 汇总卡片 | 设置页 | 今日 / 本月 / 累计费用与调用次数 |
| 今日会话明细 | 设置页 | 每个会话的调用次数、输入/缓存/输出 token 与费用 |
| 历史记录 | 设置页 | 按天汇总,保留天数可配(默认 180 天) |
| 预算设置 | 设置页顶部 | 额度、周期(今日/本月/累计/自定义日期区间)、已用% |
| 价格表 | 设置页 | 每模型 基础/谷时/峰时 三档价格,增删改自由 |
| 峰谷计价 | 设置页 | DeepSeek 官方峰谷方案,带生效时间门控与当前档位状态 |
| 官方价格同步 | 设置页 | 抓取解析官方定价页,一键应用 |
| 界面语言 | 设置页 → 显示设置 | 简体中文 / English / 跟随浏览器(自动);切换即时生效并自动保存 |
| AI 价格同步 | 提示词 | 交给任意 AI 自主同步多模型、分时价格 |
双语界面
插件界面(会话徽章、侧边栏余额与预算图框、设置页全部文案)支持简体中文与English:
- 语言可选 简体中文 / English / 跟随浏览器(自动);
- 默认「跟随浏览器」:自动探测浏览器语言(
zh*→ 中文,其余 → 英文),并把探测结果写回配置,服务端消息(余额查询、价格同步等)与界面语言保持一致; - 在 设置 → 费用 → 显示设置 → 界面语言 中切换,切换后整个插件界面即时生效并自动保存;设置页左侧的分节标签也随之切换(费用 / Cost);
- 服务端返回的提示(余额刷新、官方价格同步、配置校验错误等)同样按当前语言输出。
图文演示
截图均取自真实 DeepSeek Harness 实例,默认以中文界面展示;插件界面本身中英双语,可在设置中切换为 English。
主页面
侧边栏底部(自上而下:官方余额 → 预算图框 → 设置按钮;关闭预算时余额仍显示在设置按钮上方):

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

- 未启用预算时,该位置显示「今日 ¥x」徽章。
本会话费用(两个位置,可在设置中切换):
| 输入区下方 | 会话标题栏 |
|---|---|
![]() |
![]() |
上图:本会话 ¥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 服务端预渲染),解析:
- 基础价格表(转置布局:首行 MODEL + 模型 id,价格行标签后紧跟价格);
- 峰谷价格表(每模型两行:OFF-PEAK / PEAK);
- 生效时间(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
链接
同类插件
zhu1090093659/dsh-web-ui★ 1766
DSH Web UI 插件与皮肤合集:任务看板、git 图、右侧面板、远程移动端 UI、桌宠、实时 token 统计与皮肤中心。
ccch1mneyyy/dsh-TUI★ 829
Claude Code 风格全屏终端 UI:像素鲸鱼顶栏、实时工作状态行、思考流式展开。
omdsh-dev/DSH-better-sidebar★ 705
侧边栏完整工作台:内置文件渲染编辑、终端、Git 与子代理,支持三方插件注册新 Tab。
huiliyi37/dsh-tianshu-tui★ 131
DeepSeek Harness 的终端 UI(TUI)。
omdsh-dev/dsh-at-file★ 117
Codex 风格的 `@file` 文件引用,输入框里直接搜索并引用工作区文件。
Nagi-ovo/dsh-visualize★ 79
对话内生成式 UI:模型把交互式 HTML 卡片直接画进会话流,带流式预览与沙箱渲染。

