@mzzsfy/dsh-usage-dash 0.1.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -6,20 +6,22 @@
6
6
 
7
7
  设置页「使用统计」区块:
8
8
 
9
- - 三粒度视图:按天(最近 7/14/30/90 天/自定义日期段)、按小时(最近 24/48/72 小时)、按分钟(最近 60/180/360 分钟,10 分钟桶粒度),后两者为滚动窗口
10
- - 汇总卡六张:Tokens 用量(服务商总口径)、会话数量、请求数量、最常用模型、平均缓存命中率、活跃天数(恒按天口径,不随视图切换);配置定价规则后 Tokens 卡追加估算费用副行
11
- - 活动热力图:GitHub 风格周列×星期行,26 周窗口,五档色阶,悬停明细
12
- - 缓存命中率曲线:日粒度命中率 + 右侧副轴,悬停显示当日命中率与 token 明细(配置定价规则后附当日估算费用行,受「费用显示」开关)
13
- - 模型 donut 与列表:按 token 前 5 模型占比环形图(中心为总量),列表含命中率与占比,悬停联动
14
- - 三粒度堆叠柱状趋势图(数据量大时裁最旧并提示)
15
- - 回扫状态行默认隐藏:首次启用自动回扫历史会话,运行中显示进度,出现跳过会话/写入失败/采集错误时提示;「重建」按钮在面板工具栏,二次确认(3 )后清库重扫
9
+ - 三粒度视图:天(7/30/90 天/自定义日期段)、小时(24 小时/3 天/7 天/15 天)、分钟(3 小时/24 小时/3 天/7 天,10 分钟桶粒度),后两者为滚动窗口;各视图时间范围统一 4 挡,时/分选择上限与数据保留期一致
10
+ - 汇总卡六张:Tokens 用量(服务商总口径)、会话数量、请求数量、最常用模型、平均缓存命中率、活跃天数(恒按天口径,不随视图切换);配置定价规则后 Tokens 卡头部行右侧显示估算费用
11
+ - 活动热力图:GitHub 风格周列×星期行,26 周窗口,五档色阶,悬停明细;仅按天视图展示
12
+ - 缓存命中率曲线:日粒度命中率 + 右侧副轴,并叠加平均生成速度曲线(单独颜色,读数走悬停;仅含有时长数据的槽,整图无时长数据不绘制),悬停显示当前时段命中率、平均生成速度与 token 明细(配置定价规则后附当前时段估算费用行,受「费用显示」开关;三粒度趋势图通用)
13
+ - 模型 donut 与列表:按 token 前 5 模型占比环形图(中心为总量),列表含命中率与占比,并为每模型显示平均生成速度(tok/s,无时长数据不显示),悬停联动
14
+ - 三粒度堆叠柱状趋势图(数据量大时裁最旧并提示);图例可点击切换显隐:点击单选(仅显示该项,左轴刻度按可见项归一)/再点恢复全部,Ctrl+点击多选,隐藏最后一项无效
15
+ - 回扫状态行默认隐藏:首次启用自动回扫历史会话,运行中显示进度(常显);右上角为折叠箭头与刷新图标,折叠层内展开扫描异常日志块(逐条:时间/类型/明细,计数即明细条数,上限 200 条超限丢最旧,重建时清空)与「重建」入口(二次确认 3 秒后清库重扫),采集错误常显;工具栏分主区与右侧操作区,窄宽度时挡位组在主区内换行
16
16
  - 会话底栏接管:替换官方信息行为增强版,偏好卡三个开关默认全开——精确缓存命中率(两位小数)、会话 Token 明细(总/命中缓存/未命中缓存/输出)、费用显示(底栏费用项与趋势 tooltip 费用行);三开关全关时与官方逐字节一致
17
17
  - 会话尾部单轮行:每轮对话结束后动作行上方显示该轮 token 摘要与估算费用(最新一轮常显,历史轮悬停显现,触屏恒显;有产出文件的轮次自动让位产物行)
18
18
  - 定价规则编辑器:设置面板内编辑模型与四桶单价,货币为全局切换(「定价规则」标题右侧,仅 ¥/$ 两档,整表统一,不逐模型设置),显式「保存」整表写入
19
19
  - 双语:跟随宿主语言设置(设置 → 通用 → 语言)即时切换 en/zh
20
20
  - 数据 API 守卫:POST 同源校验 + JSON content-type(与 dsh-usage-panel 同构),局域网远程访问可用
21
21
 
22
- 口径:token 总量 = 未缓存输入 + 输出 + 缓存读 + 缓存写;命中率 = 缓存读 / (缓存读 + 未缓存输入 + 缓存写);桶按 host 本地时区。保留策略:天桶永久,小时桶固定 15 天,分钟桶默认 2 天且上限 48h(设置项 `minuteRetentionDays`,0 = 禁用分钟桶)。
22
+ 口径:token 总量 = 未缓存输入 + 输出 + 缓存读 + 缓存写;命中率 = 缓存读 / (缓存读 + 未缓存输入 + 缓存写);桶按 host 本地时区。平均生成速度 = 输出 token ÷ 模型时长,时长为 `step/start` 到该步首个 usage 汇报(与官方 session-stats 投影 llmMs 口径同构,`llm/retry-started` 重置起点,时长只含最终尝试);仅带时长的行参与速度分子分母,升级前存量数据与未观测到起点的样本不显示速度。保留策略:天桶永久,小时桶固定 15 天,分钟桶默认 7 天且上限 7 天(设置项 `minuteRetentionDays`,0 = 禁用分钟桶)。
23
+
24
+ 写入模型:样本先同步合并进内存 pending,按 2 秒周期批量落盘(单布局存储域每次持久化写都全量重发布 unit 文档,合并把每样本 3 次写降为每脏行 1 次,回扫万级样本写放大降约 99%);查询前自动 flush 保证读己之写;flush 失败的行留 pending 下轮重试并经异常日志可观测,崩溃丢失窗口 = flush 周期,统计可由会话重扫重建。
23
25
 
24
26
  ## 定价与费用估算
25
27
 
@@ -27,10 +29,10 @@
27
29
 
28
30
  规则形态:`{ model, currency, price: { input, output, cacheRead, cacheWrite }, conditions }`,单价单位固定「每百万 token」。货币为编辑器级全局设置:「定价规则」标题右侧切换,仅 ¥/$ 两档(无「空」档),打开编辑器即按首个非空货币归一显示(无非空回落 ¥),切换或保存后整表统一;wire 形态不变(仍为逐规则字段),存量空货币规则经编辑器保存后归一。费用显示为全局价格定位:汇总卡/趋势悬浮/模型列表/底栏费用项/单轮费用行的货币符号统一取规则表首个非空货币(数值仍按命中规则单价计算),切换并保存后全部显示点随之变更。
29
31
 
30
- - 模型匹配:`model` 精确相等的规则按数组序取首个命中;无命中回落 `*` 通配规则;仍无命中不计费用并计 unpriced
31
- - 条件类型(数组内 AND,空数组恒生效):
32
+ - 模型匹配:`model` 为两段式 `vendor/model`(首个 `/` 分段,模型段允许含 `/`),两段各自可 `*` 通配;匹配链为 全名精确 > 模型名精确(`*/model`,跨供应商同模型名同价)> 供应商精确(`vendor/*`,同供应商多模型同价)> `*/*` 全通,档位相同按数组序取首个命中,高档条件不满足逐层落低档;全链无命中不计费用并计 unpriced。提交(编辑器保存与 pricing POST)强制两段式,单段旧形态(`*` 或裸名)不再合法
33
+ - 条件类型(数组内 AND,空数组恒生效),编辑器支持添加/编辑/删除:每规则卡下方「+时段/+星期/+号段/+日期段」按钮即添加对应类型默认条件(时段默认全天、周几默认空、号段默认 1~31、日期段默认当天),类型下拉切换即重置为该类型默认值;编辑器端校验拒绝非法时刻(需 HH:MM)、周几(需 0-6)、月号(需 1-31)、非规范日期与倒序日期段,不合法不可保存
32
34
  - `dailyWindow`:`{ from: 'HH:MM', to: 'HH:MM' }` 每日时段,from<to 含头不含尾,from>to 跨午夜,from===to 全天生效
33
- - `weekdays`:`{ days: [0-6] }` 星期几,0=周日,空数组不成立
35
+ - `weekdays`:`{ days: [0-6] }` 星期几,0=周日,空数组不成立;编辑器为日~六七枚 pill 多选
34
36
  - `monthDays`:`{ from, to }` 月内号段双闭整数,from>to 跨月环绕(账单周期),2 月无 31 号自然不触发
35
37
  - `dateRange`:`{ from: 'YYYY-MM-DD', to: 'YYYY-MM-DD' }` 字典序双闭,倒序视为配置错误不成立
36
38
  - 费用精度:**小时级**——聚合按小时桶起点时刻匹配价格,分钟槽费用由其所属小时桶价格导出;改价即时生效,历史费用下次查询按新规则重算(不回溯账单)
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@mzzsfy/dsh-usage-dash",
3
3
  "description": "用量统计面板:天/小时/分钟三粒度 token 与请求统计,26 周活跃热力图,会话底栏信息接管与回合级用量注入,多条件分时段定价规则与费用估算;复刻自 github.com/HaoyueQin/dsh-usage-statistics-panel,感谢原作者 HaoyueQin",
4
- "version": "0.1.0",
4
+ "version": "0.3.0",
5
5
  "type": "module",
6
6
  "main": "src/index.js",
7
7
  "exports": {