All plugins

DSH / BUNDLE / CLIENT-UI

dsh-cost-lite

v1.0.0Lanzgale / dsh-cost-lite05c0643c73

InstallableBundlesUI & client pluginsCommunity · Topic auto-analysisWeb UI

Overview

dsh-cost-lite

dsh-cost-meter 精简 fork(存档):官方余额、当日费用、会话费用历史/排行、官方价格同步与峰谷时段显示。Lite fork of dsh-cost-meter: balance, daily/session cost, history, price sync, peak/off-peak display.

README / EN

Package documentation

dsh-cost-lite

DeepSeek Harness 会话费用统计插件——dsh-cost-meter 的精简 fork

原版功能繁多(预算、Go 额度、7 家 Coding Plan、自定义 Provider 余额、11 个设置面板、双语大文案),本 fork 只保留轻度用户真正用到的部分,并做了合并精简。

功能

左下角合并卡片(整卡为点击入口,点击打开「费用统计」浮层)

内容
行 0 当日余额条:当日起始余额(零点基准或充值后重置)的消耗进度
行 1 余额 + 今日费用
行 2 今日当前会话 费用 + 手动刷新按钮
行 3 峰谷时间条(北京时间真实窗口,当前时刻白色短线标记)

当日余额条分段(左→右):充值余额(浅灰)→ 赠送余额(DS 蓝) → 今日已消费(深灰,右端)。 官方扣费顺序为先扣赠送、后扣充值,因此深灰消耗段向左增长时先"吃掉"蓝色赠送段,再吃充值段。 基准来自账本的 balanceRef(每天零点后首次拉官方余额时打基准;当日充值/赠送变动会重置基准)。

刷新按钮:点一下立即拉官方余额 + 本会话费用,不必等轮询(数据自动更新节奏见下)。

「费用统计」浮层(单页,无标签)

  • 汇总卡片:今日费用 / 月度费用(最近 30 天滚动)/ 累计费用(账本建立以来);卡片数据项(输入/缓存/输出/调用)逐行居中显示,悬浮说明为计费时间口径(今日以北京时间 UTC+8 为准、月度以最近 30 天计算、累计自账本建立以来计算)
  • Token 用量统计(最近 26 周热图)
  • 按日期统计(折叠面板,日期行可展开当日会话明细)
  • 按会话统计(全部历史,排序/条数可切换)
  • 底部操作区(居中):同步官方价格 + 重置本地统计

卡片数据何时更新

没有推送通道,全是轮询:

  • 余额/今日:每 60s(页面可见时)拉一次;页面重新可见立即刷新;断线重连刷新
  • 今日当前会话:每 30s 轮询账本当日记录
  • 官方余额本体:按 balance.refreshMinutes(默认 5 分钟)访问官方接口
  • 点卡片上的刷新按钮可立即全部刷新

同步官方价格(重要)

本地价格表不会自动与官方同步。官方调价后请尽早点击浮窗底部的「同步官方价格」,否则:

  • 本地继续按旧价记账,账本与官方账单产生偏差(官方涨价 → 本地记少;降价 → 记多)
  • 偏差超过 max($0.3, 15% × 较大值) 时,浮窗顶部出现黄色 ⚠ 对账警示
  • 同步只影响之后的记账,历史账目不追溯修改,当天早先的调用仍按旧价保留

交叉对账

  • 默认开启,无需配置(浮层内已移除开关)
  • 机制:每次拉官方余额(默认每 5 分钟)时,对比官方余额当日变动(零点基准 → 现在)与本地账本今日官方渠道费用
  • 偏差超阈 → 浮窗顶部黄色 ⚠ 警示行;每天零点基准自动重置,警示随新一天口径归零(账本历史数字不会回改)
  • 只对 DeepSeek 官方渠道对账;第三方模型不动官方余额,不参与

数据口径

  • 所有统计(今日/本月/累计/按日期/按会话)只来自本地账本 $DSH_HOME/storages/cost-meter/ledger.json——每笔调用在发生时由插件拦截 llm/stream 按"当时本地价格表"记账
  • 官方侧只使用两种数据:余额接口(/user/balance,返回 总/赠送/充值 余额,无消费历史)与官方定价页(同步价格用)
  • 因此「累计费用」= 账本建立(且本插件生效)以来经本地记账的累计;官方没有消费历史接口可对照,唯一对照物是余额变动

配置

设置面板已裁剪,配置直接编辑 ledger.jsonconfig(改完重启 DSH 生效):

说明 默认
balance.display 余额显示位置:both / sidebar / settings / off both
hideOfficialBalance 隐藏官方余额(卡片行 1 与浮层整体不渲染) false
hideTodayCost 隐藏今日费用 false
sidebar 左下角卡片开关 true
balance.refreshMinutes 官方余额刷新间隔(分钟) 5
decimals 金额小数位数(0–10),固定显示、不去尾零 4
symbol / exchangeRate 金额符号 / 展示汇率(USD → 符号) ¥ / 7.2
locale auto(跟随浏览器语言)/ zh / en auto
peakEnabled / peakStyle 峰谷时段显示 / 样式(compact 简洁 / classic 经典) true / compact
position 会话费用徽章位置:dock / header / off dock
balance.reconcile 交叉对账(建议保持开启) true

裁剪说明(相对 dsh-cost-meter v1.5.44)

状态
设置面板「费用」分节 移除 → 左下角卡片点击打开自绘浮层
浮层三页(概览/用量/价格)标签 合并为单页「费用统计」(价格页自定义编辑移除,同步按钮保留在底部操作区)
官方余额面板(总/赠/充明细 + 刷新) 移除(总余额见卡片行 1;对账保持默认开启,警示移到浮层顶部)
预算 / Go 额度 / Coding Plan / 自定义余额 移除
设置页「额度」「显示」分节 移除
安装前历史导入 移除(历史回填/清洗逻辑一并移除)
会话费用徽章(输入区/标题栏) 保留(position 配置)
价格表 + 官方同步 保留(仅底部同步按钮,无编辑页)
中英双语 保留

host 侧 backfill.js / coding-plans.js / custom-balance.js 已删除,costMeter 服务只保留 getState / updateConfig / fetchPrices / refreshBalance / resetHistory / getDaySessions / getTopSessions

安装

dsh plugin --profile web add ~/file/dsh/plugin/dsh-cost-lite

替换原 dsh-cost-meter(两者都记账会重复计费):

dsh plugin --profile web remove dsh-cost-meter

然后重启 DSH。客户端改动按 Ctrl+Shift+R 刷新页面。

数据

账本仍写 $DSH_HOME/storages/cost-meter/ledger.json(与原版共用,历史记录无缝保留)。 卸载插件不会删除账本。重置本地统计 会清空账本所有按天/按会话统计(不影响官方余额)。

许可

MIT。上游 dsh-cost-meter © 2026 dsh-cost-meter contributors。