全部插件

DSH / BUNDLE / CLIENT-UI

dsh-turn-cost

v1.0.0CHIP-PHILO-GH / dsh-turn-costa70ccbb2e2

可安装组合包UI 与客户端插件社区 · Topic 自动分析Web UI

概览

dsh-turn-cost

在输入框下方与本轮对话尾部显示「本轮 / 本对话」消耗的人民币金额(只读 DSH 既有槽位与用量事件,不修改 DSH 任何源码与样式)

README / ZH

插件文档

目录摘要

在输入框下方与本轮对话尾部显示「本轮 / 本对话」消耗的人民币金额(只读 DSH 既有槽位与用量事件,不修改 DSH 任何源码与样式)

dsh.pub 核对固定版本的组合包契约、运行时事实与分发语义;完整 README 请查看源仓库。

在 GitHub 阅读完整 README

LIMITATIONS

已知限制

**它给的是估算,不是账单。** 以下是代码层面能确定的口径与边界: 1. **只统计 usage 的四个 token 桶**。会话事件流里 usage 之外的任何计费项都不计入。 2. **价格依赖账本**。账本读不到时按内置兜底表(DeepSeek 官方 deepseek-flash 档 + 汇率 7.2)算。 你的模型或渠道不在账本里、或账本价格与你的实际合同价不同时,**显示值会与实际扣费不一致**。 3. **缓存写入按命中价计**。这是与 `dsh-cost-meter` 对齐的口径;渠道对缓存写入另有定价时,这里不会体现。 4. **峰谷档按 UTC 小时判断**,且 `peakEffectiveAt` 之前的调用一律按基础价; `peakEnabled` 不是布尔 `true`(例如配置里写成字符串)时峰谷规则完全不生效; `peakEffectiveAt` 无效或缺失时,窗口外的调用不会走 `offPeak` 档,而是按基础价。 5. **配置只读一次**(插件加载时),改账本要重启 `dsh web`。 6. **金额是四舍五入后的显示值**:按 `decimals` 位 `toFixed` 后去掉末尾的 0; 金额小于 `10^-decimals` 时自动多给两位小数(最多 12 位),所以极小金额不会显示成 `¥0`。 7. **「本轮」= 轮次号最大的一轮**,不是「正在跑的那一轮」。 8. **只有一轮时,两段文案会重复显示同一个金额**:输入框下方的文案本意是「只有一轮时不重复两遍」, 但那条合并条件比较的是对象引用,而 `turns` 里的条目和 `totals` 不是同一个对象, 所以一轮时仍会显示「本轮 ¥x · 本对话 ¥x」。这一条是从代码读出来的,没有在浏览器里逐帧实测。 9. **输入框下方的药丸靠 DOM 落位**:它选的是带 `[data-composer-stats]` 标记属性的那个容器。 宿主哪天改掉这个标记,药丸就不再出现(**回合尾部的徽章走的是插件槽位,不受影响**)。 插件对 DOM 变化挂了 `MutationObserver`:那一行被会话切换重建、或宿主往末尾追加自己的节点时, 会自动把自己插回并挪到最后一个位置,同时认领已存在的同类节点以避免同一行出现两个。 10. **宿主端没起来就什么都不显示**:客户端取不到 `turnCost` 投影时静默不渲染(不报错、不占位)。