dsh-all-usage 1.2.1 → 1.2.3

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/CHANGELOG.md CHANGED
@@ -1,5 +1,41 @@
1
1
  # Changelog
2
2
 
3
+ ## v1.2.3(2026-11-08)
4
+ ### 修复
5
+ - **柱状图最左柱压住纵轴刻度** —— 柱子不再越出绘图区,刻度与悬停位置不变;折线视图不受影响。
6
+ - **热力图星期标签与格子错行** —— 标签重新对齐到各自的格子行。
7
+ - **热力图悬停提示不显示** —— 提示框改按屏幕定位,不再被面板裁掉。
8
+ - **浅色主题下图表与日历看不清** —— 数据色改为跟随主题,浅色对比度达标,深色外观不变。
9
+ ### 优化
10
+ - **面板改为浮动圆角卡片** —— 四角圆角、四周留边,窄窗口不再退化成直角。
11
+ - **标题栏独立成圆角卡片** —— 下边框换成柔和阴影,滚动时停在拖拽条下方。
12
+ ### Fixes
13
+ - **The leftmost bar covers the y-axis labels** — bars stay inside the plot; ticks and hover targets are unchanged, and the line view is untouched.
14
+ - **Heatmap weekday labels drift off their rows** — each label lines up with its grid row again.
15
+ - **The heatmap tooltip never shows up** — it is positioned against the screen again instead of being clipped by the panel.
16
+ - **Charts and the calendar are hard to read on a light theme** — data colours follow the theme; light passes contrast and the dark look is unchanged.
17
+ ### Improvements
18
+ - **The panel is a floating rounded card** — rounded on all four corners with a margin, so a narrow window no longer squares it off.
19
+ - **The toolbar is a rounded card of its own** — the hard bottom border becomes a soft shadow, and it parks under the drag strip while scrolling.
20
+
21
+ ## v1.2.2(2026-11-07)
22
+ ### 新功能
23
+ - **趋势图可切换柱状图** —— 图表右上角新增「折线 / 柱状」切换;柱状是把每行按 token 类型叠成一根柱子、由总量封顶,柱子自下向上生长(系统开启「减少动态效果」时不播放),选过的视图下次打开仍保留。
24
+ - **支持 DSH 0.2.2-alpha.3 / 0.2.2-rc.1** —— 新运行时可直接使用。
25
+ ### 修复
26
+ - **切到「今日」时趋势图只剩屏幕中间几个点** —— 之前会退化成单点兜底、要手动刷新才恢复;现在切过去直接显示当日小时曲线。
27
+ ### 优化
28
+ - **面板不再做无谓的重绘** —— 「今日」格子原本有一个永不停止的呼吸光晕,现在改为固定描边;标题栏与图表提示框不再实时模糊背景。滚动、悬停更顺,长时间挂着也更省电。
29
+ - **空闲时不再周期性整页重渲染** —— 后台每 15 秒的轮询在数据没有变化时不再刷新界面。
30
+ ### Features
31
+ - **The trend chart can switch to bars** — a Line / Bars switch sits at the chart's top right; bars stack one column per row by token type with the total on top, grow from the baseline (no growth when the system asks for reduced motion), and the view is remembered next time.
32
+ - **DSH 0.2.2-alpha.3 and 0.2.2-rc.1 are supported** — the new runtimes work out of the box.
33
+ ### Fixes
34
+ - **"Today" no longer collapses to a few dots in the middle** — it used to fall back to a single row and needed a manual refresh; the hourly curve now shows as soon as you switch.
35
+ ### Improvements
36
+ - **The panel stops repainting for nothing** — today's calendar cell no longer carries a never-ending glow (it keeps a static outline), and the header and chart tooltips no longer blur their backdrop. Scrolling and hovering are smoother, and leaving it open costs less.
37
+ - **An idle panel no longer re-renders on a timer** — the 15-second poll skips the dashboard when the payload has not changed.
38
+
3
39
  ## v1.2.1(2026-10-18)
4
40
  ### 新功能
5
41
  - **支持 DSH 0.2.1-rc.1 / rc.2** —— 新运行时可直接使用。
package/README.en.md CHANGED
@@ -7,7 +7,7 @@
7
7
  [![stars](https://img.shields.io/github/stars/ParticleLight/dsh-all-usage?label=stars&logo=github)](https://github.com/ParticleLight/dsh-all-usage/stargazers)
8
8
  [![license](https://img.shields.io/github/license/ParticleLight/dsh-all-usage?label=license&color=green)](LICENSE)
9
9
  [![CI](https://github.com/ParticleLight/dsh-all-usage/actions/workflows/ci.yml/badge.svg)](https://github.com/ParticleLight/dsh-all-usage/actions/workflows/ci.yml)
10
- [![DSH runtime compatibility](https://img.shields.io/badge/DSH%20runtime-9%20verified-4D6BFE)](#compatibility-and-known-limitations)
10
+ [![DSH runtime compatibility](https://img.shields.io/badge/DSH%20runtime-11%20verified-4D6BFE)](#compatibility-and-known-limitations)
11
11
  [![status](https://img.shields.io/badge/status-stable-brightgreen)](https://github.com/ParticleLight/dsh-all-usage/releases)
12
12
 
13
13
  [中文](README.md) · [English](README.en.md)
@@ -38,15 +38,17 @@ The installation command assembles the bundle. Usually, refreshing the browser p
38
38
 
39
39
  ![Dashboard overview](assets/screenshots/en/01-overview.png)
40
40
 
41
- ![Usage heatmap](assets/screenshots/en/02-heatmap.png)
41
+ ![Token usage trend as stacked bars (Line / Bars toggle)](assets/screenshots/en/02-trend-bars.png)
42
42
 
43
- ![Model usage](assets/screenshots/en/03-model-usage.png)
43
+ ![Usage heatmap](assets/screenshots/en/03-heatmap.png)
44
44
 
45
- ![Request logs and audit](assets/screenshots/en/04-request-logs.png)
45
+ ![Model usage](assets/screenshots/en/04-model-usage.png)
46
46
 
47
- ![Cost settings](assets/screenshots/en/05-cost-settings.png)
47
+ ![Request logs and audit](assets/screenshots/en/05-request-logs.png)
48
48
 
49
- The five screenshots above were captured on 2026-10-14 from the v1.2.0 client UI; the host plugin shown is v1.1.18. The live usage and workspace data belong to that capture environment, and the version-mismatch warning in Cost settings is intentionally preserved.
49
+ ![Cost settings](assets/screenshots/en/06-cost-settings.png)
50
+
51
+ The first five screenshots above were captured on 2026-10-14 from the v1.2.0 client UI; the host plugin shown is v1.1.18. The bar trend view was captured on 2026-11-07 from the v1.2.1 client and shows the Line / Bars toggle added in 1.2.2. The live usage and workspace data belong to that capture environment, and the version-mismatch warning in Cost settings is intentionally preserved.
50
52
 
51
53
  ## Technology Stack and Architecture
52
54
 
@@ -75,13 +77,15 @@ This is a standard DSH community plugin package with a `dsh.bundle` manifest and
75
77
  ### Compatibility and Known Limitations
76
78
 
77
79
  - **Runtime**: Node.js `>=22 <25` is required. CI runs the test suite, syntax checks, and package-content checks on Node 22 and Node 24.
78
- - **DSH compatibility**: `package.json` declares DSH runtime `>=0.1.1-rc.1 <0.1.5-0 || >=0.1.5-rc.1 <0.1.6-0 || >=0.1.7-rc.2 <0.1.8-0 || >=0.2.0-rc.2 <0.2.1-0 || 0.2.1-alpha.2 || 0.2.1-rc.1 || 0.2.1-rc.2`; the real Cordis service chain is verified locally on `0.2.1-rc.1` and `0.2.1-rc.2` (strict smoke on Node 24; both promote Cordis to the stable 4.0.5 / loader 1.0.6 / timer 1.1.7 pairing), `0.2.1-alpha.2`, `0.2.0-rc.2`, `0.1.7-rc.2`, `0.1.5-rc.2`, `0.1.5-rc.1`, `0.1.1-rc.2` and `0.1.1-rc.1`. Every declared runtime is in the CI smoke matrix on Node 22 and 24, but the two `0.2.1` lines are reported as SKIPPED — not passed — because upstream has never published the matching `@deepseek-ai/dsh-invariants` version. `0.1.2-rc.1` has also been verified compatible through real-world use, but is not covered by the CI smoke matrix. The declaration is split per tuple rather than written as one interval because node-semver only admits a prerelease version when some comparator shares its exact `major.minor.patch` tuple and itself carries a prerelease tag — `0.2.0-rc.2` is admitted only because the range says `>=0.2.0-rc.2`.
80
+ - **DSH compatibility**: `package.json` declares DSH runtime `>=0.1.1-rc.1 <0.1.5-0 || >=0.1.5-rc.1 <0.1.6-0 || >=0.1.7-rc.2 <0.1.8-0 || >=0.2.0-rc.2 <0.2.1-0 || 0.2.1-alpha.2 || 0.2.1-rc.1 || 0.2.1-rc.2 || 0.2.2-alpha.3 || 0.2.2-rc.1`; the real Cordis service chain is verified locally on `0.2.1-rc.1` and `0.2.1-rc.2` (strict smoke on Node 24; both promote Cordis to the stable 4.0.5 / loader 1.0.6 / timer 1.1.7 pairing), `0.2.1-alpha.2`, `0.2.0-rc.2`, `0.1.7-rc.2`, `0.1.5-rc.2`, `0.1.5-rc.1`, `0.1.1-rc.2` and `0.1.1-rc.1`. Every declared runtime is in the CI smoke matrix on Node 22 and 24, but the two `0.2.1` lines are reported as SKIPPED — not passed — because upstream has never published the matching `@deepseek-ai/dsh-invariants` version. `0.1.2-rc.1` has also been verified compatible through real-world use, but is not covered by the CI smoke matrix. The declaration is split per tuple rather than written as one interval because node-semver only admits a prerelease version when some comparator shares its exact `major.minor.patch` tuple and itself carries a prerelease tag — `0.2.0-rc.2` is admitted only because the range says `>=0.2.0-rc.2`.
79
81
  - **Desktop client (Electron, Windows)**: the plugin is verified running in the DSH desktop client (`@deepseek-ai/dsh-desktop` `0.1.7-rc.2` as measured). The desktop client keeps a 40px caption strip across the top of its window for its own minimise / maximise / close buttons and marks the document with `data-windows-titlebar` and `--dsh-windows-titlebar-height`; the panel draws from **below** that strip, so the client's own close button is never covered. Browsers carry no such marker and reserve nothing. The strip height comes from the host's declaration first, then the Window Controls Overlay rectangle, then the user agent; to tune it, run `localStorage.setItem('dsh-all-usage:topInset', '48')` in DevTools and reload (`0` reserves nothing) — no rebuild required. The desktop client ships its own runtime; the version measured there, `0.1.7-rc.2`, is part of the declared range and of the CI smoke matrix below.
80
82
  - **Web service dependency**: the Host declares `webServer` as a required dependency, so DSH waits for a late-mounted service before applying the plugin; this package targets the DSH Web profile and does not expose routes without WebServer. The HTTP guard also checks the actual socket peer, so a reverse proxy is accepted only when the connection itself is loopback.
81
83
  - **Interface language**: on first entry the panel follows DSH's **Language** setting (`Settings → General → Language`, read through the host's `locale` service); without that service it falls back to the browser language and then to English. Once a language is picked inside the panel, the panel's choice wins and the host setting stops overriding it. The language also decides the timezone — Chinese uses local time, English uses UTC — so switching it refetches the matching snapshot.
82
84
 
83
85
  | DSH runtime | Node.js support | Real Cordis smoke | Conclusion |
84
86
  | --- | --- | --- | --- |
87
+ | `0.2.2-rc.1` | `>=22 <25` | Passed (strict real Cordis smoke verified locally on Node 24; stable Cordis 4.1.0 / loader 1.1.0 / timer 1.2.0) | Declared and verified (this exact rc only; CI reports SKIPPED because upstream never published `dsh-invariants@0.2.2-rc.1`) |
88
+ | `0.2.2-alpha.3` | `>=22 <25` | Passed (strict real Cordis smoke verified locally on Node 24; prerelease Cordis 4.0.6-alpha.2 / loader 1.0.7-alpha.2 / timer 1.1.8-alpha.2) | Declared and verified (this exact alpha.3 only; no other alpha versions implied; CI reports SKIPPED because upstream never published `dsh-invariants@0.2.2-alpha.3`) |
85
89
  | `0.2.1-rc.2` | `>=22 <25` | Passed (strict real Cordis smoke verified locally on Node 24; stable Cordis 4.0.5 / loader 1.0.6 / timer 1.1.7) | Declared and verified (this exact rc only; CI reports SKIPPED because upstream never published `dsh-invariants@0.2.1-rc.2`) |
86
90
  | `0.2.1-rc.1` | `>=22 <25` | Passed (strict real Cordis smoke verified locally on Node 24; stable Cordis 4.0.5 / loader 1.0.6 / timer 1.1.7) | Declared and verified (this exact rc only; no other rc versions implied; CI reports SKIPPED because upstream never published `dsh-invariants@0.2.1-rc.1`) |
87
91
  | `0.2.1-alpha.2` | `>=22 <25` | Passed (strict real Cordis smoke verified locally on Node 24; CI reports SKIPPED because upstream never published `dsh-invariants@0.2.1-alpha.2`) | Declared and verified (this exact alpha.2 only; no other alpha versions implied) |
@@ -250,13 +254,14 @@ npm run check:pack
250
254
 
251
255
  ## Status and Updates
252
256
 
253
- The latest published release is `v1.1.18`; `v1.2.0` remains in development and has not been released. See [CHANGELOG.md](CHANGELOG.md) for the complete development and release history.
257
+ The latest published release is `v1.2.2` ([GitHub Release](https://github.com/ParticleLight/dsh-all-usage/releases/tag/v1.2.2) | npm: `npm i dsh-all-usage@1.2.2`). See [CHANGELOG.md](CHANGELOG.md) for the complete development and release history.
254
258
 
255
- ### Latest published: v1.1.18
259
+ ### Latest published: v1.2.2
256
260
 
257
- - **A new “Last 7 Days” range**: the presets are now Today / **Last 7 Days** / Last 30 Days / Last 90 Days / All Time / Custom; it covers seven calendar days including today and applies to the summary, trend, model tables, request log, filters and CSV export, with the choice remembered in the browser.
258
- - **A switchable heatmap span (30 days / 90 days / 12 months)**: the column count follows the span (5 / 13 / 53 columns); each column is a week and the cells keep a 1:1 aspect ratio, so a shorter span also gets larger cells (18×18px at twelve months, 34×34px at 30/90 days, capped so a few columns cannot stretch into huge tiles). Twelve months stays the default and the span is independent of the time range above.
259
- - **A version indicator next to the title**: it shows the running version, “Up to date” in small text when it matches the newest release on npm, a highlighted “Latest vX.Y.Z” when it is behind, and a click opens the GitHub repository. The host performs the check (one read-only request to the npm registry, cached for six hours, at most one every 30 seconds per process) and degrades to “unknown” rather than guessing.
261
+ - **The trend chart can switch to bars**: a Line / Bars switch sits at the top right; bars stack one column per row by token type with the total on top, grow from the baseline (no growth with reduced motion), and the choice is remembered.
262
+ - **DSH `0.2.2-alpha.3` and `0.2.2-rc.1` support**: both exact versions are verified on the real runtime.
263
+ - **"Today" keeps its hourly curve**: switching to Today shows the day's hourly trend without a manual refresh.
264
+ - **A cheaper panel and idle poll**: the always-on glow and three backdrop blurs are gone, and the idle poll no longer re-renders the dashboard when the payload has not changed.
260
265
 
261
266
  See [CHANGELOG.md](CHANGELOG.md) for the complete version history.
262
267
 
package/README.md CHANGED
@@ -7,7 +7,7 @@
7
7
  [![stars](https://img.shields.io/github/stars/ParticleLight/dsh-all-usage?label=stars&logo=github)](https://github.com/ParticleLight/dsh-all-usage/stargazers)
8
8
  [![license](https://img.shields.io/github/license/ParticleLight/dsh-all-usage?label=license&color=green)](LICENSE)
9
9
  [![CI](https://github.com/ParticleLight/dsh-all-usage/actions/workflows/ci.yml/badge.svg)](https://github.com/ParticleLight/dsh-all-usage/actions/workflows/ci.yml)
10
- [![DSH runtime compatibility](https://img.shields.io/badge/DSH%20runtime-9%20verified-4D6BFE)](#兼容性与已知限制)
10
+ [![DSH runtime compatibility](https://img.shields.io/badge/DSH%20runtime-11%20verified-4D6BFE)](#兼容性与已知限制)
11
11
  [![status](https://img.shields.io/badge/status-stable-brightgreen)](https://github.com/ParticleLight/dsh-all-usage/releases)
12
12
 
13
13
  [中文](README.md) · [English](README.en.md)
@@ -38,15 +38,17 @@ dsh plugin --profile web add github:ParticleLight/dsh-all-usage
38
38
 
39
39
  ![dsh-all-usage 看板总览](assets/screenshots/zh/01-overview.png)
40
40
 
41
- ![dsh-all-usage 使用热力图](assets/screenshots/zh/02-heatmap.png)
41
+ ![dsh-all-usage 柱状趋势视图(折线 / 柱状可切换)](assets/screenshots/zh/02-trend-bars.png)
42
42
 
43
- ![dsh-all-usage 模型用量](assets/screenshots/zh/03-model-usage.png)
43
+ ![dsh-all-usage 使用热力图](assets/screenshots/zh/03-heatmap.png)
44
44
 
45
- ![dsh-all-usage 请求日志与审计](assets/screenshots/zh/04-request-logs.png)
45
+ ![dsh-all-usage 模型用量](assets/screenshots/zh/04-model-usage.png)
46
46
 
47
- ![dsh-all-usage 成本设置](assets/screenshots/zh/05-cost-settings.png)
47
+ ![dsh-all-usage 请求日志与审计](assets/screenshots/zh/05-request-logs.png)
48
48
 
49
- 以上五张截图于 2026-10-14 从 v1.2.0 客户端界面截取,图中宿主插件版本为 v1.1.18;其中的实际用量与工作区数据属于该截图环境;成本设置中的版本不一致警告为有意保留。
49
+ ![dsh-all-usage 成本设置](assets/screenshots/zh/06-cost-settings.png)
50
+
51
+ 以上六张截图中,前五张于 2026-10-14 从 v1.2.0 客户端界面截取,图中宿主插件版本为 v1.1.18;柱状趋势视图截于 2026-11-07(v1.2.1 客户端,展示 1.2.2 新增的折线 / 柱状切换)。图中的实际用量与工作区数据属于该截图环境;成本设置中的版本不一致警告为有意保留。
50
52
 
51
53
  ## 技术栈与架构
52
54
 
@@ -75,13 +77,15 @@ dsh plugin --profile web add github:ParticleLight/dsh-all-usage
75
77
  ### 兼容性与已知限制
76
78
 
77
79
  - **运行环境**:需要 Node.js `>=22 <25`;CI 会在 Node 22 和 Node 24 上运行测试、语法检查和 npm 包内容检查。
78
- - **DSH 兼容**:`package.json` 声明 DSH runtime `>=0.1.1-rc.1 <0.1.5-0 || >=0.1.5-rc.1 <0.1.6-0 || >=0.1.7-rc.2 <0.1.8-0 || >=0.2.0-rc.2 <0.2.1-0 || 0.2.1-alpha.2 || 0.2.1-rc.1 || 0.2.1-rc.2`,已在本机用真实 Cordis 服务链验证 `0.2.1-rc.1` / `0.2.1-rc.2`(Node 24 严格 smoke;这两条把 Cordis 提升为稳定版 4.0.5 / loader 1.0.6 / timer 1.1.7)、`0.2.1-alpha.2` 以及 `0.2.0-rc.2`、`0.1.7-rc.2`、`0.1.5-rc.2`、`0.1.5-rc.1`、`0.1.1-rc.2`、`0.1.1-rc.1`;全部已声明版本都进了 CI smoke 矩阵(Node 22/24 双档),但 `0.2.1` 那两条因上游从未发布对应版本的 `@deepseek-ai/dsh-invariants`,CI 会**如实标记 SKIPPED,不等于通过**;`0.1.2-rc.1` 已通过实际使用验证兼容,但未纳入 CI smoke 矩阵。声明按元组逐条拆开而非写成单一区间,是因为 node-semver 只有在范围里存在与目标版本同 `major.minor.patch` 且自身带预发布标签的比较符时,才会放行该预发布版本 —— 例如必须写成 `>=0.2.0-rc.2` 才能让 `0.2.0-rc.2` 进入范围。
80
+ - **DSH 兼容**:`package.json` 声明 DSH runtime `>=0.1.1-rc.1 <0.1.5-0 || >=0.1.5-rc.1 <0.1.6-0 || >=0.1.7-rc.2 <0.1.8-0 || >=0.2.0-rc.2 <0.2.1-0 || 0.2.1-alpha.2 || 0.2.1-rc.1 || 0.2.1-rc.2 || 0.2.2-alpha.3 || 0.2.2-rc.1`,已在本机用真实 Cordis 服务链验证 `0.2.1-rc.1` / `0.2.1-rc.2`(Node 24 严格 smoke;这两条把 Cordis 提升为稳定版 4.0.5 / loader 1.0.6 / timer 1.1.7)、`0.2.1-alpha.2` 以及 `0.2.0-rc.2`、`0.1.7-rc.2`、`0.1.5-rc.2`、`0.1.5-rc.1`、`0.1.1-rc.2`、`0.1.1-rc.1`;全部已声明版本都进了 CI smoke 矩阵(Node 22/24 双档),但 `0.2.1` 那两条因上游从未发布对应版本的 `@deepseek-ai/dsh-invariants`,CI 会**如实标记 SKIPPED,不等于通过**;`0.1.2-rc.1` 已通过实际使用验证兼容,但未纳入 CI smoke 矩阵。声明按元组逐条拆开而非写成单一区间,是因为 node-semver 只有在范围里存在与目标版本同 `major.minor.patch` 且自身带预发布标签的比较符时,才会放行该预发布版本 —— 例如必须写成 `>=0.2.0-rc.2` 才能让 `0.2.0-rc.2` 进入范围。
79
81
  - **桌面客户端(Electron,Windows)**:本插件在 DSH 桌面客户端上实测运行正常(实测 `@deepseek-ai/dsh-desktop` `0.1.7-rc.2`)。桌面客户端会在窗口顶部为自身的最小化 / 最大化 / 关闭按钮保留一条 40px 顶栏,并在文档上标记 `data-windows-titlebar` 与 `--dsh-windows-titlebar-height`;面板据此从该条**下方**开始绘制,所以桌面端自己的关闭按钮永远不会被面板盖住。浏览器端没有该标记,不留白。顶栏高度优先取宿主声明,其次取 Window Controls Overlay 矩形,最后退回 UA;需要微调时可在 DevTools 执行 `localStorage.setItem('dsh-all-usage:topInset', '48')` 后刷新(`0` 表示不留白),无需重新构建。桌面客户端自带运行时,实测版本 `0.1.7-rc.2` 已纳入声明区间与 CI smoke 矩阵(见下表)。
80
82
  - **Web 服务依赖**:Host 将 `webServer` 声明为必需依赖,确保服务晚挂载时由 DSH 等待后再执行插件;该包面向 DSH Web profile,不提供无 WebServer 的 headless 路由。HTTP 守卫还会检查真实 socket peer,反向代理只有在连接本身来自 loopback 时才会被接受。写接口(价格保存、立即同步、节假日抓取、别名)以**进程令牌**为授权凭据,不强制要求 `Origin`:DSH 桌面端把 UI 跑在自定义协议上、请求由 Electron 主进程转发,转发时会删掉 `Origin`(连同 `Host`/`Cookie`/`Sec-Fetch-*`),强制 Origin 会让桌面端所有写入 403;而 `Origin` 若存在仍必须是 loopback 或桌面端自身 scheme,`Host` 仍必须是 loopback(防 DNS rebinding)。
81
83
  - **界面语言**:首次进入时面板跟随 DSH 的 **Language 设置**(`Settings → General → Language`,经宿主的 `locale` 服务读取);宿主未提供该服务时退回浏览器语言,最后退回英语。在面板里手动选过语言之后以面板的选择为准,宿主设置不再覆盖它。语言同时决定时区口径——中文按本地时区,英文按 UTC——所以切换语言会重新取一份对应时区的快照。
82
84
 
83
85
  | DSH runtime | Node.js 支持 | 真实 Cordis smoke | 结论 |
84
86
  | --- | --- | --- | --- |
87
+ | `0.2.2-rc.1` | `>=22 <25` | 通过(本机 Node 24 严格真实 Cordis smoke;稳定版 Cordis 4.1.0 / loader 1.1.0 / timer 1.2.0) | 已声明、已验证(仅此精确版本;CI 因上游缺 `dsh-invariants@0.2.2-rc.1` 如实标记 SKIPPED) |
88
+ | `0.2.2-alpha.3` | `>=22 <25` | 通过(本机 Node 24 严格真实 Cordis smoke;预发布 Cordis 4.0.6-alpha.2 / loader 1.0.7-alpha.2 / timer 1.1.8-alpha.2) | 已声明、已验证(仅此精确版本,不代表其他 alpha 版本;CI 因上游缺 `dsh-invariants@0.2.2-alpha.3` 如实标记 SKIPPED) |
85
89
  | `0.2.1-rc.2` | `>=22 <25` | 通过(本机 Node 24 严格真实 Cordis smoke;稳定版 Cordis 4.0.5 / loader 1.0.6 / timer 1.1.7) | 已声明、已验证(仅此精确版本;CI 因上游缺 `dsh-invariants@0.2.1-rc.2` 如实标记 SKIPPED) |
86
90
  | `0.2.1-rc.1` | `>=22 <25` | 通过(本机 Node 24 严格真实 Cordis smoke;稳定版 Cordis 4.0.5 / loader 1.0.6 / timer 1.1.7) | 已声明、已验证(仅此精确版本,不代表其他 rc 版本;CI 因上游缺 `dsh-invariants@0.2.1-rc.1` 如实标记 SKIPPED) |
87
91
  | `0.2.1-alpha.2` | `>=22 <25` | 通过(本机 Node 24 严格真实 Cordis smoke;CI 因上游缺 `dsh-invariants@0.2.1-alpha.2` 如实标记 SKIPPED) | 已声明、已验证(仅此精确版本,不代表其他 alpha 版本) |
@@ -249,13 +253,13 @@ npm run check:pack
249
253
 
250
254
  ## 状态与更新
251
255
 
252
- 当前最新发布版本为 `v1.1.18`;`v1.2.0` 仍在开发中,尚未发布。完整开发与版本记录见 [CHANGELOG.md](CHANGELOG.md)。
256
+ 当前最新发布版本为 `v1.2.3`([GitHub Release](https://github.com/ParticleLight/dsh-all-usage/releases/tag/v1.2.3)|npm:`npm i dsh-all-usage@1.2.3`)。完整开发与版本记录见 [CHANGELOG.md](CHANGELOG.md)。
253
257
 
254
- ### 最近发布:v1.1.18
258
+ ### 最近发布:v1.2.3
255
259
 
256
- - **新增「近 7 天」时间范围**:预设行变为 今日 / **近 7 天** / 近 30 天 / 近 90 天 / 全部 / 自定义;口径是含今天的 7 个日历日,摘要、趋势、模型表、请求日志、筛选与 CSV 导出同步生效,选择会记在浏览器里。
257
- - **热力图跨度可切换(30 天 / 90 天 / 12 个月)**:列数随跨度变化(5 / 13 / 53 列),每列一周、格子保持 1:1,所以跨度越短格子越大(实测 12 个月 18×18px、30/90 天 34×34px,并做了上限避免少数几列被拉成巨块);默认仍是 12 个月,与上方时间范围互不影响。
258
- - **标题旁新增版本指示**:显示当前运行版本,与 npm 最新版一致时小字「已是最新」,落后时高亮「最新 vX.Y.Z」,点击打开 GitHub 仓库;检查由宿主发起(只读一次 npm registry,缓存 6 小时,同一进程 30 秒内不重复请求),拿不到结论时降级为「未知」而不是猜。
260
+ - **四处显示问题**:柱状图最左柱不再压住纵轴刻度;热力图星期标签重新对齐格子行;悬停提示不会再被面板裁掉;浅色主题下图表与日历看得清了。
261
+ - **面板改为浮动圆角卡片**:四角 24px 圆角、四周留边,窄窗口不再退化成直角。
262
+ - **标题栏独立成圆角卡片**:下边框换成柔和阴影,滚动时停在拖拽条下方。
259
263
 
260
264
  完整版本记录见 [CHANGELOG.md](CHANGELOG.md)。
261
265