dsh-unitverse 1.1.1 → 1.1.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.en.md CHANGED
@@ -2,6 +2,39 @@
2
2
 
3
3
  This project follows [Semantic Versioning](https://semver.org/). Chinese version: [CHANGELOG.md](CHANGELOG.md).
4
4
 
5
+ ## [1.1.3] - 2026-10-16
6
+
7
+ ### Docs
8
+
9
+ - **Rewrote the installation section as three parallel routes**: route 1 install straight from GitHub / route 2 download from GitHub and install locally / route 3 install from npm (recommended). Each route now states **who it suits, what to watch out for, and how to update**, backed by a side-by-side table and a one-line summary. The previous "Option 1–4" list enumerated commands by source, which hid the differences in **updating and build approval** between routes.
10
+ - Documented what `dsh plugin` really is: a thin **forwarder for pnpm** (`dsh plugin --profile <name> <args…>` ≡ running `pnpm <args…>` inside that profile directory, after which DSH re-aligns `dsh.profile.bundles`), so `add` / `up` / `remove` / `list` are all pnpm commands.
11
+ - Added the update command (`up`), uninstall (`remove`) / inspection (`list`), and the offline tarball path.
12
+ - **Split the screenshots by language**: `README.md` now carries only the Chinese UI screenshot and `README.en.md` only the English one, each pointing at the other README. Both used to embed both images, so an English reader saw a Chinese-UI screenshot inside an English document.
13
+ - `screenshots.json` is **unchanged and still lists both**: the market detail page does not distinguish browser language, so dropping one would leave the other locale without a preview.
14
+
15
+ ### Changed
16
+
17
+ - Did **not** adopt the `package.json` `readme` field (the npm page keeps showing the English README via this repo's existing publish-time swap of `README.md`): empirically the field is written **verbatim** into the registry packument's `readme` (after `dsh-mcp-mini-manager` was published that way, the root `readme` was the 12-character string `README.en.md`), and that field is exactly what the npm page renders — so it replaces the page with a bare filename. For comparison, packages without the field (`dsh-unitverse` 1.1.2, `dsh-panda-calendar`, `dsh-skill-mini-manager`, `dsh-windows-c-cleanup`) all carry the full README text there.
18
+
19
+ ### Release
20
+
21
+ - npm: `dsh-unitverse@1.1.3`
22
+ - GitHub: https://github.com/runcat-tommy/dsh-unitverse
23
+
24
+ ## [1.1.2] - 2026-10-16
25
+
26
+ ### Fixed
27
+
28
+ - **The community market classified the plugin as incompatible with the current DSH**: `package.json` declared the four client packages with `^0.1.0-rc.6` (i.e. `>=0.1.0-rc.6 <0.2.0`), but the DSH release line has moved to **0.2.x** — the Desktop app on this machine ships `0.2.0-rc.2`, including `dsh-client-locale` / `dsh-client-ui-conversation` / `dsh-client-ui-slots` at `0.2.0-rc.2`. By the market's own logic (dshmarket's `discovery-compatibility.js` plus `crossesImplicitCeiling` in `compatibility.js`), a host past the implicit `^0.1.x` ceiling counts as "the declared line is behind us", so the verdict was **incompatible**: once listed, 0.2.x users installing or updating would be told the plugin "declares DSH ^0.1.0-rc.6 while you are running 0.2.0-rc.2" and offered "no version declaring compatibility with the current DSH".
29
+ - Fix: the four client ranges and `@deepseek-ai/dsh-tools` now read **`^0.1.0-rc.6 || ^0.2.0-rc.1`**. Re-running the same derivation returns **compatible** for hosts `0.1.0-rc.6`, `0.1.1-rc.2` and `0.2.0-rc.2`.
30
+ - Also fixed `@deepseek-ai/dsh-tools: "*"`: a bare `*` does not match a prerelease under strict semver (here it resolved to `0.1.0-rc.8`), which the profile health check reported as `peer range @deepseek-ai/dsh-tools@* does not match resolved 0.1.0-rc.8`. Five plugins on this machine share that pattern.
31
+ - The READMEs (both languages) now state the requirement as "0.1.0-rc.6+ or 0.2.x" instead of "0.1.0-rc.6+", matching the new declarations.
32
+
33
+ ### Release
34
+
35
+ - npm: `dsh-unitverse@1.1.2`
36
+ - GitHub: https://github.com/runcat-tommy/dsh-unitverse
37
+
5
38
  ## [1.1.1] - 2026-09-10
6
39
 
7
40
  ### Added
package/CHANGELOG.md CHANGED
@@ -2,6 +2,39 @@
2
2
 
3
3
  本项目遵循[语义化版本](https://semver.org/lang/zh-CN/)。英文版见 [CHANGELOG.en.md](CHANGELOG.en.md)。
4
4
 
5
+ ## [1.1.3] - 2026-10-16
6
+
7
+ ### 文档
8
+
9
+ - **安装章节重写为「三条路」并列**:路① GitHub 直装 / 路② 先从 GitHub 下载到本地再装 / 路③ 从 npm 装(推荐)。每条都给出**适合谁 / 要注意什么 / 怎么更新**,并补上三路对照表与一句话总结;原先的「方式一~四」把安装来源按命令罗列,读者看不出三条路的**更新方式与构建审批差异**。
10
+ - 补上 `dsh plugin` 的真实语义:它是 **pnpm 的转发壳**(`dsh plugin --profile <名> <参数…>` ≡ 在该 profile 目录里跑 `pnpm <参数…>`,随后 DSH 再按装载后的真实状态对齐 `dsh.profile.bundles`),因此 `add` / `up` / `remove` / `list` 都是 pnpm 的命令。
11
+ - 补上更新命令(`up`)与卸载(`remove`)/ 查看(`list`),以及 tarball 离线路径的说明。
12
+ - **两份 README 的截图按语言分开**:`README.md` 只放中文界面截图、`README.en.md` 只放英文界面截图,各自在括号里指路另一份 README。此前两份都同时嵌了中英两张,英文读者会在英文文档里看到与当前语言无关的中文界面截图。
13
+ - `screenshots.json` **不受影响,仍保留两张**:市场详情页不区分浏览器语言,删掉一张会让另一种语言没有预览。
14
+
15
+ ### 变更
16
+
17
+ - 未采用 `package.json` 的 `readme` 字段(npm 页面的英文 README 仍按本仓库既有约定,在发布时临时替换 `README.md`):实测该字段会被**原样**写进 registry 的 packument `readme`(`dsh-mcp-mini-manager` 用此写法发布后,根节点 `readme` 就是字符串 `README.en.md`,长度 12),而 npm 网页渲染的正是这个字段——**会把页面内容变成一行文件名**。对照:未设该字段的包(`dsh-unitverse` 1.1.2、`dsh-panda-calendar`、`dsh-skill-mini-manager`、`dsh-windows-c-cleanup`)packument `readme` 都是完整正文。
18
+
19
+ ### 发布
20
+
21
+ - npm:`dsh-unitverse@1.1.3`
22
+ - GitHub:https://github.com/runcat-tommy/dsh-unitverse
23
+
24
+ ## [1.1.2] - 2026-10-16
25
+
26
+ ### 修复
27
+
28
+ - **社区市场会把本插件判为「不兼容当前 DSH」**:`package.json` 里 4 个 client 包的 peer 范围原本只写 `^0.1.0-rc.6`(即 `>=0.1.0-rc.6 <0.2.0`),而 DSH 主线已推进到 **0.2.x**——本机桌面端实测为 `0.2.0-rc.2`,其 `dsh-client-locale` / `dsh-client-ui-conversation` / `dsh-client-ui-slots` 同为 `0.2.0-rc.2`。按市场自身的判定逻辑(dshmarket `discovery-compatibility.js` 与 `compatibility.js` 的 `crossesImplicitCeiling`),宿主越过 `^0.1.x` 的隐式上限即视为「声明的产品线已被落在身后」,判定为 **incompatible**:上架后 0.2.x 用户安装/更新时会看到「声明需要 DSH ^0.1.0-rc.6,而你现在运行的是 0.2.0-rc.2」,并得到「没有找到声明兼容当前 DSH 的版本」。
29
+ - 修复:4 个 client 包与 `@deepseek-ai/dsh-tools` 的范围改为 **`^0.1.0-rc.6 || ^0.2.0-rc.1`**。用同一判定函数实测:`0.1.0-rc.6` / `0.1.1-rc.2` / `0.2.0-rc.2` 三种宿主全部判定为 **compatible**。
30
+ - 顺带修掉 `@deepseek-ai/dsh-tools: "*"`:裸 `*` 在严格 semver 下**不匹配预发布版**(本机解析到 `0.1.0-rc.8`),profile 体检会报 `peer range @deepseek-ai/dsh-tools@* does not match resolved 0.1.0-rc.8` 警告——本机共 5 个插件都有此写法。
31
+ - README(中英)中「需 0.1.0-rc.6+ 的 Web GUI」的表述更新为「0.1.0-rc.6+ 或 0.2.x」,与新的声明范围一致。
32
+
33
+ ### 发布
34
+
35
+ - npm:`dsh-unitverse@1.1.2`
36
+ - GitHub:https://github.com/runcat-tommy/dsh-unitverse
37
+
5
38
  ## [1.1.1] - 2026-09-10
6
39
 
7
40
  ### 新增
package/README.en.md CHANGED
@@ -17,9 +17,8 @@ English UI — one independent module per category, listing only that category's
17
17
 
18
18
  ![Unit Converter view (English UI)](assets/preview-en.jpg)
19
19
 
20
- Chinese UI — all copy, category names and unit names in Chinese:
21
-
22
- ![单位换算视图(中文界面)](assets/preview-zh.jpg)
20
+ > The Chinese UI screenshot lives in [README.md](README.md) — each README carries
21
+ > only its own language, so you never see a screenshot for the other locale.
23
22
 
24
23
  ## Features
25
24
 
@@ -33,7 +32,7 @@ Chinese UI — all copy, category names and unit names in Chinese:
33
32
  in the session view bar; the panel is split into ten independent category
34
33
  modules (units are never mixed), and all copy — **unit names included** —
35
34
  follows the DSH zh/en UI language (since v0.1.0, requires the DSH Web GUI,
36
- 0.1.0-rc.6+)
35
+ 0.1.0-rc.6+ or 0.2.x)
37
36
 
38
37
  ## Supported categories and units
39
38
 
@@ -55,27 +54,77 @@ Chinese name** as aliases — e.g. `ft`, `foot`, `feet` and `英尺` are the sam
55
54
 
56
55
  ## Installation
57
56
 
58
- Install it as a DSH bundle — published on npm as `dsh-unitverse`; a local checkout, a tarball or GitHub work too:
57
+ `dsh-unitverse` is published on npm, and can also be installed straight from
58
+ GitHub or by downloading it to a local directory first. **Pick any one of the
59
+ three routes below** — replace `<profile-name>` with your profile (e.g. `web`).
59
60
 
60
- ```bash
61
- # From npm (recommended)
62
- dsh plugin --profile <profile-name> add dsh-unitverse
61
+ > **What `dsh plugin` is**: a thin **forwarder for pnpm** —
62
+ > `dsh plugin --profile <profile-name> <args…>` is equivalent to running
63
+ > `pnpm <args…>` inside that profile's directory, after which DSH re-aligns
64
+ > `dsh.profile.bundles` with what was actually loaded. So the `add` / `up`
65
+ > (update) / `remove` / `list` used below are all pnpm commands.
63
66
 
64
- # From a local checkout
65
- dsh plugin --profile <profile-name> add ./dsh-unitverse
67
+ ### Route 1: install straight from GitHub
66
68
 
67
- # Or from GitHub (build artifacts are committed, so no allowBuilds needed)
69
+ ```bash
68
70
  dsh plugin --profile <profile-name> add github:runcat-tommy/dsh-unitverse
69
71
  ```
70
72
 
71
- `package.json` declares `dsh.bundle`, so `dsh plugin add` registers the plugin
72
- row from `cordis.patch.yml` automatically.
73
+ - **Who it suits**: following the repository source without cloning it first.
74
+ - **Watch out**: needs `git` locally; the build artifacts in `lib/` are committed,
75
+ so this route needs **no** `--allow-build` approval.
76
+ - **Updating**: rerun the same command.
77
+
78
+ ### Route 2: download from GitHub, then install locally
79
+
80
+ ```bash
81
+ git clone https://github.com/runcat-tommy/dsh-unitverse
82
+ dsh plugin --profile <profile-name> add ./dsh-unitverse
83
+ ```
84
+
85
+ - **Who it suits**: testing local edits immediately, or offline / air-gapped machines.
86
+ - **Watch out**: offline you can also unzip the Download ZIP, or run `npm pack` and
87
+ `add ./dsh-unitverse-<version>.tgz`. Installed as a `link`, the profile follows
88
+ your checkout.
89
+ - **Updating**: `git pull` → `npm run build` → restart DSH.
90
+
91
+ ### Route 3: install from npm (recommended)
92
+
93
+ ```bash
94
+ dsh plugin --profile <profile-name> add dsh-unitverse
95
+ ```
73
96
 
74
- > The package also ships a browser half: the `dsh.client` declaration plus
75
- > `lib/client.js` behind the `exports["./client"]` entry. Installed into a
76
- > profile that runs the Web GUI, a "Unit Converter" tab appears in the session
77
- > view bar (see **Web converter view** below). In CLI-only profiles the client
78
- > part is simply never loaded and the tool keeps working.
97
+ - **Who it suits**: almost everyone — the least fuss, clear version semantics, any profile.
98
+ - **Watch out**: the npm package already contains the built artifacts and declares
99
+ **no `prepare` / `postinstall` lifecycle scripts**, so it triggers no build approval.
100
+ - **Updating**: `dsh plugin --profile <profile-name> up dsh-unitverse`.
101
+
102
+ ### The three routes side by side
103
+
104
+ | Route | Command | Needs | Updating | Build approval |
105
+ |---|---|---|---|---|
106
+ | 1 GitHub direct | `… add github:runcat-tommy/dsh-unitverse` | `git` locally | rerun the same command | none (artifacts committed) |
107
+ | 2 Download locally | `… add ./dsh-unitverse` (or `.tgz`) | nothing | `git pull` + `npm run build` + restart | none |
108
+ | 3 npm (recommended) | `… add dsh-unitverse` | nothing | `… up dsh-unitverse` | none |
109
+
110
+ **In one line**: use route 3 (npm) for the least fuss, route 1 to follow the source,
111
+ route 2 to hack on the code or work offline — **all three need a `dsh web` restart
112
+ before they take effect**.
113
+
114
+ ### After installing
115
+
116
+ - **No manual config edits**: `package.json` declares `dsh.bundle`, so `dsh plugin add`
117
+ registers the plugin in the profile's bundle list and activates the plugin row
118
+ defined in `cordis.patch.yml`.
119
+ - **Restart DSH** for it to take effect: once the GUI process (`dsh web` etc.)
120
+ restarts, the model can call the `convert` tool.
121
+ - **Web UI**: the package also ships a browser half — the `dsh.client` declaration
122
+ plus `lib/client.js` behind the `exports["./client"]` entry. In a profile that runs
123
+ the Web GUI, a "Unit Converter" tab appears in the session view tab bar (see
124
+ **Web converter view** below); in CLI-only profiles the client part is simply never
125
+ loaded and the tool keeps working.
126
+ - **Inspect / uninstall**: `dsh plugin --profile <profile-name> list` lists what is
127
+ installed; `dsh plugin --profile <profile-name> remove dsh-unitverse` uninstalls it.
79
128
 
80
129
  ## Web converter view (v0.1.0+)
81
130
 
package/README.md CHANGED
@@ -17,9 +17,8 @@ English UI — one independent module per category, listing only that category's
17
17
 
18
18
  ![Unit Converter view (English UI)](assets/preview-en.jpg)
19
19
 
20
- Chinese UI — all copy, category names and unit names in Chinese:
21
-
22
- ![单位换算视图(中文界面)](assets/preview-zh.jpg)
20
+ > The Chinese UI screenshot lives in [README.md](README.md) — each README carries
21
+ > only its own language, so you never see a screenshot for the other locale.
23
22
 
24
23
  ## Features
25
24
 
@@ -33,7 +32,7 @@ Chinese UI — all copy, category names and unit names in Chinese:
33
32
  in the session view bar; the panel is split into ten independent category
34
33
  modules (units are never mixed), and all copy — **unit names included** —
35
34
  follows the DSH zh/en UI language (since v0.1.0, requires the DSH Web GUI,
36
- 0.1.0-rc.6+)
35
+ 0.1.0-rc.6+ or 0.2.x)
37
36
 
38
37
  ## Supported categories and units
39
38
 
@@ -55,27 +54,77 @@ Chinese name** as aliases — e.g. `ft`, `foot`, `feet` and `英尺` are the sam
55
54
 
56
55
  ## Installation
57
56
 
58
- Install it as a DSH bundle — published on npm as `dsh-unitverse`; a local checkout, a tarball or GitHub work too:
57
+ `dsh-unitverse` is published on npm, and can also be installed straight from
58
+ GitHub or by downloading it to a local directory first. **Pick any one of the
59
+ three routes below** — replace `<profile-name>` with your profile (e.g. `web`).
59
60
 
60
- ```bash
61
- # From npm (recommended)
62
- dsh plugin --profile <profile-name> add dsh-unitverse
61
+ > **What `dsh plugin` is**: a thin **forwarder for pnpm** —
62
+ > `dsh plugin --profile <profile-name> <args…>` is equivalent to running
63
+ > `pnpm <args…>` inside that profile's directory, after which DSH re-aligns
64
+ > `dsh.profile.bundles` with what was actually loaded. So the `add` / `up`
65
+ > (update) / `remove` / `list` used below are all pnpm commands.
63
66
 
64
- # From a local checkout
65
- dsh plugin --profile <profile-name> add ./dsh-unitverse
67
+ ### Route 1: install straight from GitHub
66
68
 
67
- # Or from GitHub (build artifacts are committed, so no allowBuilds needed)
69
+ ```bash
68
70
  dsh plugin --profile <profile-name> add github:runcat-tommy/dsh-unitverse
69
71
  ```
70
72
 
71
- `package.json` declares `dsh.bundle`, so `dsh plugin add` registers the plugin
72
- row from `cordis.patch.yml` automatically.
73
+ - **Who it suits**: following the repository source without cloning it first.
74
+ - **Watch out**: needs `git` locally; the build artifacts in `lib/` are committed,
75
+ so this route needs **no** `--allow-build` approval.
76
+ - **Updating**: rerun the same command.
77
+
78
+ ### Route 2: download from GitHub, then install locally
79
+
80
+ ```bash
81
+ git clone https://github.com/runcat-tommy/dsh-unitverse
82
+ dsh plugin --profile <profile-name> add ./dsh-unitverse
83
+ ```
84
+
85
+ - **Who it suits**: testing local edits immediately, or offline / air-gapped machines.
86
+ - **Watch out**: offline you can also unzip the Download ZIP, or run `npm pack` and
87
+ `add ./dsh-unitverse-<version>.tgz`. Installed as a `link`, the profile follows
88
+ your checkout.
89
+ - **Updating**: `git pull` → `npm run build` → restart DSH.
90
+
91
+ ### Route 3: install from npm (recommended)
92
+
93
+ ```bash
94
+ dsh plugin --profile <profile-name> add dsh-unitverse
95
+ ```
73
96
 
74
- > The package also ships a browser half: the `dsh.client` declaration plus
75
- > `lib/client.js` behind the `exports["./client"]` entry. Installed into a
76
- > profile that runs the Web GUI, a "Unit Converter" tab appears in the session
77
- > view bar (see **Web converter view** below). In CLI-only profiles the client
78
- > part is simply never loaded and the tool keeps working.
97
+ - **Who it suits**: almost everyone — the least fuss, clear version semantics, any profile.
98
+ - **Watch out**: the npm package already contains the built artifacts and declares
99
+ **no `prepare` / `postinstall` lifecycle scripts**, so it triggers no build approval.
100
+ - **Updating**: `dsh plugin --profile <profile-name> up dsh-unitverse`.
101
+
102
+ ### The three routes side by side
103
+
104
+ | Route | Command | Needs | Updating | Build approval |
105
+ |---|---|---|---|---|
106
+ | 1 GitHub direct | `… add github:runcat-tommy/dsh-unitverse` | `git` locally | rerun the same command | none (artifacts committed) |
107
+ | 2 Download locally | `… add ./dsh-unitverse` (or `.tgz`) | nothing | `git pull` + `npm run build` + restart | none |
108
+ | 3 npm (recommended) | `… add dsh-unitverse` | nothing | `… up dsh-unitverse` | none |
109
+
110
+ **In one line**: use route 3 (npm) for the least fuss, route 1 to follow the source,
111
+ route 2 to hack on the code or work offline — **all three need a `dsh web` restart
112
+ before they take effect**.
113
+
114
+ ### After installing
115
+
116
+ - **No manual config edits**: `package.json` declares `dsh.bundle`, so `dsh plugin add`
117
+ registers the plugin in the profile's bundle list and activates the plugin row
118
+ defined in `cordis.patch.yml`.
119
+ - **Restart DSH** for it to take effect: once the GUI process (`dsh web` etc.)
120
+ restarts, the model can call the `convert` tool.
121
+ - **Web UI**: the package also ships a browser half — the `dsh.client` declaration
122
+ plus `lib/client.js` behind the `exports["./client"]` entry. In a profile that runs
123
+ the Web GUI, a "Unit Converter" tab appears in the session view tab bar (see
124
+ **Web converter view** below); in CLI-only profiles the client part is simply never
125
+ loaded and the tool keeps working.
126
+ - **Inspect / uninstall**: `dsh plugin --profile <profile-name> list` lists what is
127
+ installed; `dsh plugin --profile <profile-name> remove dsh-unitverse` uninstalls it.
79
128
 
80
129
  ## Web converter view (v0.1.0+)
81
130
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dsh-unitverse",
3
- "version": "1.1.1",
3
+ "version": "1.1.3",
4
4
  "description": "DSH plugin: universal unit conversion across length, area, volume, time, angle, speed, temperature, pressure, energy and power, with Chinese/English aliases. 单位换算 DSH 插件(长度/面积/体积/时间/角度/速度/温度/压力/热量/功率,支持中英文单位名)。",
5
5
  "keywords": [
6
6
  "dsh",
@@ -78,11 +78,11 @@
78
78
  },
79
79
  "peerDependencies": {
80
80
  "@deepseek-ai/cordis": "*",
81
- "@deepseek-ai/dsh-client-locale": "^0.1.0-rc.6",
82
- "@deepseek-ai/dsh-client-runtime": "^0.1.0-rc.6",
83
- "@deepseek-ai/dsh-client-ui-conversation": "^0.1.0-rc.6",
84
- "@deepseek-ai/dsh-client-ui-slots": "^0.1.0-rc.6",
85
- "@deepseek-ai/dsh-tools": "*",
81
+ "@deepseek-ai/dsh-client-locale": "^0.1.0-rc.6 || ^0.2.0-rc.1",
82
+ "@deepseek-ai/dsh-client-runtime": "^0.1.0-rc.6 || ^0.2.0-rc.1",
83
+ "@deepseek-ai/dsh-client-ui-conversation": "^0.1.0-rc.6 || ^0.2.0-rc.1",
84
+ "@deepseek-ai/dsh-client-ui-slots": "^0.1.0-rc.6 || ^0.2.0-rc.1",
85
+ "@deepseek-ai/dsh-tools": "^0.1.0-rc.6 || ^0.2.0-rc.1",
86
86
  "react": "^18.2.0",
87
87
  "react-dom": "^18.2.0"
88
88
  },