Repository navigation
Releases
dsh-cost-breakdown 0.1.0
dsh-cost-breakdown 0.1.0
第二个公开版本。主题是按平台各自计价:一个会话同时用到几个平台时,每个平台按
它自己的账单单位单独成卡——DeepSeek 用人民币、第三方用美元、积分平台用积分,
绝不换算成一个总额。同时把官方峰谷那套界面收紧到「这个会话真的用过官方模型」时才出现。
安装 / 升级
dsh plugin --profile desktop add github:liaimei/dsh-cost-breakdown装完重启 DSH(宿主半区不热生效),输入框下方会出现常驻读数。仓库自带编译产物,
安装时不需要构建。
从 0.0.1 起的主要变化
每个平台一张卡,各自计价
- 费用汇总按平台拆卡(左侧统计页、右侧栏「本会话汇总」、输入框下方展开卡三处同一套口径),
每张卡带自己的账单币种与剩余额度,绝不相加——把人民币、美元与积分加成一个数字没有意义。 - 卡内直接列逐模型明细(模型 → 消费 · 调用次数),与环图同源;独立的第二张明细表已删除,
它只是把卡上已有的数字再抄一遍。 - 定不出价的模型显式标注「未配置费率」,绝不显示 0:那会声称这些调用不花钱。
- 剩余额度带单位:积分平台的余额从「剩余 5550」改为「剩余 5550 积分」——
金额有¥/$自解释,积分没有符号,裸数字读起来像钱。 - 两版 workbuddy(CN 与国际版)各自读自己那一版的目录与积分池,不互相顶替。
官方计价的界面只在该出现时出现
峰谷拆分、人民币价目表与「按官方价目表估算」的说明都只描述 DeepSeek 自己的计价。
它们现在以「这个会话用过官方路由」为前提:纯积分会话不再出现费用卡、峰谷徽标、
人民币价目表与那句免责说明——那些会凭空造出一笔不存在的账单。
状态栏读数
- 读数按当前在用的那个平台报价,不把多个平台的单位加在一起。
- 峰谷只对走官方计价的平台显示;徽标带距离下一次翻转的实时倒计时,
悬停与展开卡里写全峰时段(工作日09:00–12:00、14:00–18:00);周末与节假日全天谷时,
此时直接说明原因而不是报一个误导性的倒计时。 - 空间不足时退化为时钟图标 + 紧凑读数,判据是「留给本行的空间」对比量宽探针,
不是写死的断点,也不是这一行自身的渲染宽度(那会自激)。 - 展开卡复用统计页那两张卡(Token 统计 / 费用统计),同一份数据、同一种排版;
卡片 portal 到 body 并实测触发按钮位置,避开输入框自身的裁剪;官方面板出现在同一行时主动让位。 - 页面标题栏那颗重复的账户余额药丸已移除:余额由费用卡自己的余额行与各平台卡的剩余额度承担。
每轮消费读数
模型回复后面新增本轮消费读数(金额或积分,按该轮的计价路径决定),与每轮 token 读数同行。
兼容与运行要求
- DSH:desktop / web profile;客户端半区依赖
sidebarRightTabs与
conversation.composer.dock槽位,缺少右侧栏时仍渲染输入框下方的读数 - Node:
^22.19.0 || >=24.0.0 - 平台:macOS / Windows / Linux(纯 JS,无原生依赖)
- 运行时依赖:仅
zod
权限
只读会话日志;余额优先走内置 deepseekAccount(不接触令牌);外部网络仅
api.deepseek.com 与 models.dev;所有余额/积分读取失败时整行不渲染,绝不用 0 蒙混。
本地存储只记住上次的余额用于首帧抢先显示;无遥测、无写操作。
说明
- 仓库 fork 自 Apache-2.0 的
dsh-context,归属与改动见NOTICE/FORK.md docs/assets/下的截图是重构前旧界面的,仅作历史留存,与当前界面不一致- 本版本不含生命周期脚本(
prepare/postinstall):lib/已入库,
构建请走显式的pnpm run build,因此github:安装不会被 pnpm 的
allowBuilds拦截
验证
141 个 spec 文件 / 2269 个测试通过,typecheck 与 lint 干净,两半均从源码重建;
tests/compat/bundle.spec.ts 直接加载构建产物验证交接协议。
(仓库的覆盖率门槛仍是逐文件 100%,当前有若干既有文件未达标,不在本版本范围内。)
dsh-cost-breakdown 0.0.1
dsh-cost-breakdown 0.0.1
首个公开版本:把 DSH 会话的费用账单常驻到输入框下方与右侧栏——本会话花了多少、
账户余额还剩多少、此刻按峰价还是谷价计费,以及这笔钱由哪几部分构成。
安装
dsh plugin --profile desktop add github:liaimei/dsh-cost-breakdown装完重启 DSH(宿主半区不热生效),输入框下方会出现常驻读数。
仓库自带编译产物,安装时不需要构建。
主要能力
费用与余额
- 输入框下方常驻读数:本会话费用、账户余额、峰/谷徽标 + 距离切换的实时倒计时
- 费用卡:按 token 分桶(缓存命中 / 未命中 / 缓存写入 / 输出)与按峰谷时段两套拆分,
外加官方价目表与账户余额 - 弹窗里嵌的就是汇总统计页那两张卡——同一份数据、同一种排版,两处不会各说各话
官方人民币峰谷计价
- 内置官方价目表,含峰谷时段(工作日 09:00–12:00、14:00–18:00)与法定节假日
- 按模型而非 provider 判定:第三方路由上的 DeepSeek 模型同样拆峰谷、峰时翻倍
- 界面显示峰谷时间段,并给出距离切换的倒计时;窄状态栏下自动收成「时钟图标 + 紧凑读数」
算对,而不是算多
- 衍生会话去重 — fork/摘要重建的会话日志开头是祖先事件的拷贝,直接相加会把同一笔钱
算两次。本插件只统计每个会话自己拥有的事件,跳过量以inheritedEventsSkipped报出。 - token 三桶计价 — DSH 的
inputTokens只是缓存未命中输入。若把它当成整个 prompt,
会把已缓存部分按未命中价计费,费用高估约一个数量级。本插件按三桶分别套价。 - 节假日安全回退 — 配置给不出合法日期时退回内置节假日表,而不是当成「没有节假日」;
后者会让每个节假日按高峰价计费(静默翻倍)。
第三方平台计价
- 用户可声明
<provider>:<model>费率表,插在官方价目表之下、models.dev 注册表之上 - 为什么需要用户声明:注册表里同一个模型常由几十家厂商提供且价格相差十几倍
(glm-5.3有 31 家),而第三方平台自身往往不在注册表里(workbuddy就是如此) - 不可定价就显示破折号,绝不猜测;平台的相对
credits倍率不会被当成单价 - 规则见 docs/third-party-pricing.md
兼容与运行要求
- DSH:desktop / web profile;客户端半区依赖
sidebarRightTabs与
conversation.composer.dock槽位,缺少右侧栏时仍渲染输入框下方的读数 - Node:
^22.19.0 || >=24.0.0 - 平台:macOS / Windows / Linux(纯 JS,无原生依赖)
- 零运行时依赖(仅
zod)
权限
只读会话日志;余额优先走内置 deepseekAccount(不接触令牌);外部网络仅
api.deepseek.com 与 models.dev;无本地存储、无遥测、无写操作。
说明
- 仓库 fork 自 Apache-2.0 的
dsh-context,归属与改动见NOTICE/FORK.md docs/assets/下的截图是重构前旧界面的,仅作历史留存,与当前界面不一致- 本版本不含生命周期脚本(
prepare/postinstall):lib/已入库,
构建请走显式的pnpm run build,因此github:安装不会被 pnpm 的
allowBuilds拦截