Skip to content

Releases

dsh-cost-breakdown 0.1.0

Choose a tag to compare

@liaimei liaimei released this 14 Oct 02:30

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

Choose a tag to compare

@liaimei liaimei released this 12 Oct 01:12

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 模型同样拆峰谷、峰时翻倍
  • 界面显示峰谷时间段,并给出距离切换的倒计时;窄状态栏下自动收成「时钟图标 + 紧凑读数」

算对,而不是算多

  1. 衍生会话去重 — fork/摘要重建的会话日志开头是祖先事件的拷贝,直接相加会把同一笔钱
    算两次。本插件只统计每个会话自己拥有的事件,跳过量以 inheritedEventsSkipped 报出。
  2. token 三桶计价 — DSH 的 inputTokens 只是缓存未命中输入。若把它当成整个 prompt,
    会把已缓存部分按未命中价计费,费用高估约一个数量级。本插件按三桶分别套价。
  3. 节假日安全回退 — 配置给不出合法日期时退回内置节假日表,而不是当成「没有节假日」;
    后者会让每个节假日按高峰价计费(静默翻倍)。

第三方平台计价

  • 用户可声明 <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 拦截