From 3af8793434d23939a2a950303e208e088ea401a2 Mon Sep 17 00:00:00 2001 From: Menghuan1918 Date: Wed, 23 Sep 2026 23:38:11 +0800 Subject: [PATCH] docs(readme): spell out which plugin version each DSH version needs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Adds an explicit DSH-to-plugin table to the Installation section of both READMEs, because "which version do I install" now has more than one right answer: 0.21.0-rc.1 targets DSH 0.1.7-rc.1 and later, 0.19.1 is the cut for 0.1.6-alpha.2 and earlier, and the two 0.1.7 alphas have NO published plugin at all (0.21.0-alpha.1 never reached npm), so those hosts must move DSH to rc.1 first. The peer column is included on purpose: it is a range, not an exact pin — `^0.1.7-rc.1` already admits a later rc.2 or the stable 0.1.7, so upstream shipping one does not require a new plugin version. Pinning the peer to an exact 0.1.7-rc.1 would instead be actively harmful: DSH 0.1.7-rc.1's own boot preflight silently disables any plugin row whose `@deepseek-ai/dsh*` peers do not satisfy the running host. --- README.md | 13 ++++++++++++- README_EN.md | 13 ++++++++++++- 2 files changed, 24 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 9a52a69..5987aad 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ > [!IMPORTANT] > **已适配 DSH 原生侧边栏 API**(v0.19.0 起):右列就是 DSH 自己的右侧栏——插件的每个 tab 类型与 tab 体通过 `ctx.sidebarRightTabs` / `ctx.sidebarRight` 注册与打开,聊天里的文件打开统一走 `ctx.sidebarRight.openResource('dsh-resource://file/…')`,插件**不再自绘右侧面板**(旧的浮窗能力同步移除)。自绘的底部工作台与开放给其他插件的 `ctx.betterSidebar` 服务保持不变,接入方式见[插件接入指南](docs/external-plugin-guide.md)。 > -> **v0.21.0-rc.1 起宿主支持下限是 DSH `0.1.7-rc.1`**(peer 下限 `^0.1.7-rc.1`;npm dist-tag `alpha`,`latest` 仍是 **v0.19.1**)。DSH 0.1.7 自带完整的文档预览(表格 / PDF / 图片 / Office),因此插件**把只读预览整体让给内置**(只保留 Markdown / HTML / 可编辑的代码编辑器)、**把外链接管收敛为「只认领声明了 `urlTarget` 的链接」**(按协议分流的三个外链接管设置项已删除),并**重写了设置接入面**(偏好迁到 profile 里本插件的挂载行,旧的 `settings.yaml` 段在首次启动时自动回迁);文件树同时获得**实时刷新**。**0.1.6-alpha.2 及更早的用户请停留在 v0.19.1**——注意 **0.20.0 这一版从未发布到 npm**,这些变更全部落在 v0.21.0-rc.1。 +> **v0.21.0-rc.1 起宿主支持下限是 DSH `0.1.7-rc.1`**(peer 下限 `^0.1.7-rc.1`;npm dist-tag `alpha`,`latest` 仍是 **v0.19.1**)。DSH 0.1.7 自带完整的文档预览(表格 / PDF / 图片 / Office),因此插件**把只读预览整体让给内置**(只保留 Markdown / HTML / 可编辑的代码编辑器)、**把外链接管收敛为「只认领声明了 `urlTarget` 的链接」**(按协议分流的三个外链接管设置项已删除),并**重写了设置接入面**(偏好迁到 profile 里本插件的挂载行,旧的 `settings.yaml` 段在首次启动时自动回迁);文件树同时获得**实时刷新**。**0.1.6-alpha.2 及更早的用户请停留在 v0.19.1**——注意 **0.20.0 这一版从未发布到 npm**,这些变更全部落在 v0.21.0-rc.1。**按 DSH 版本选插件版本的对照表见[安装](#-安装)。**
@@ -69,6 +69,17 @@ > 📌 **通道与支持线**:`v0.21.0-rc.1` 是 **alpha 通道**(npm dist-tag `alpha`),适配 DSH **0.1.7-rc.1+**(peer 下限 `^0.1.7-rc.1`,CI 钉 `@deepseek-ai/dsh@0.1.7-rc.1`)。**装 DSH 请写精确版本号**:0.1.7-rc.1 在 npm 上走 `next` 通道,`alpha` 此刻指的是 0.1.7-alpha.2——`npm i -g @deepseek-ai/dsh@0.1.7-rc.1`。**npm `latest` 仍是 `v0.19.1`**——注意 `v0.20.0` 这一版**从未发布到 npm**,本仓库从 0.19.1 直接跳到这条 0.21 开发线。**下限必须动**:semver 的预发布规则让 `^0.1.6-alpha.2` 在数学上永远匹配不到任何 `0.1.7` 预发布版。**DSH 0.1.6-alpha.2 及更早(含 npm `latest` 的 0.1.5-rc.3)的用户请固定安装 `dsh-better-sidebar@0.19.1`**——0.1.7 的破坏面足够大(`dsh-settings` 整体重写、`ui-primitives` 图标具名导出整族改名、会话格式 v3→v4),本版不写运行时兼容层;DSH 0.1.5-alpha.2 及更早同样请用旧版(`0.19.0-alpha.1` / `0.18.x` / `0.17.1`)。 +> 🧭 **按你的 DSH 版本选插件版本**(**`0.21.0-rc.1` 起的支持线是 DSH `0.1.7-rc.1` 及之后的 0.1.7 线**;0.1.7 的两个 alpha 与 0.1.6 及更早都不在这条线内): +> +> | 你的 DSH 版本 | 该装的 dsh-better-sidebar | peer 声明 | +> | --- | --- | --- | +> | **0.1.7-rc.1+**(含之后的 0.1.7 正式版) | **`dsh-better-sidebar@alpha`** → **`0.21.0-rc.1`**(当前版本) | `^0.1.7-rc.1` | +> | 0.1.7-alpha.1 / 0.1.7-alpha.2 | **没有可装版本**——先把 DSH 升到 rc.1(`npm i -g @deepseek-ai/dsh@0.1.7-rc.1`)再来装本版 | — | +> | 0.1.6-alpha.2 及更早、`0.1.5-rc.*`(含 npm `latest` 的 0.1.5-rc.3) | `dsh-better-sidebar@latest` → **`0.19.1`** | `^0.1.5-rc.1` | +> | `0.1.5-alpha.2` 及更早的 `0.1.x` 预发布 | **`0.19.0-alpha.1`** / **`0.18.1`** / **`0.17.1`**——取 peer 元组对得上的那一版 | `^0.1.5-alpha.2` / `^0.1.2-rc.1` / `^0.1.0-rc.8` | +> +> peer 写的是**范围**而不是精确钉版:`^0.1.7-rc.1` 天然容纳 0.1.7 的 rc 与正式全线,所以上游继续发 rc.2 或正式版时**不需要换插件版本**。反过来**不要**在 0.1.7 的 alpha 上装 0.19.1——0.1.7 重写了设置服务、改了图标具名导出与会话格式三处硬契约,装上只会坏。 + ```sh dsh plugin --profile web add dsh-better-sidebar@alpha ``` diff --git a/README_EN.md b/README_EN.md index 4fed62d..9fc8f03 100644 --- a/README_EN.md +++ b/README_EN.md @@ -3,7 +3,7 @@ > [!IMPORTANT] > **Built on DSH's native sidebar API** (since v0.19.0): the right column *is* DSH's own sidebar — every plugin tab type and tab body registers and opens through `ctx.sidebarRightTabs` / `ctx.sidebarRight`, every file open from the chat goes through `ctx.sidebarRight.openResource('dsh-resource://file/…')`, and the plugin **no longer draws a right panel of its own** (the old free-window capability is gone with it). The self-drawn bottom workbench and the `ctx.betterSidebar` service other plugins register against are unchanged — see the [plugin integration guide](docs/external-plugin-guide.md). > -> **Since v0.21.0-rc.1 the host support floor is DSH `0.1.7-rc.1`** (peer floor `^0.1.7-rc.1`; npm dist-tag `alpha`, while `latest` is still **v0.19.1**). DSH 0.1.7 ships a complete document preview of its own (spreadsheets / PDF / images / Office), so the plugin **hands every read-only preview back to the built-in** (keeping only Markdown / HTML / the editable code editor), **narrows the external-link takeover to links a tab type explicitly claims through `urlTarget`** (the three protocol-routing settings are gone), and **rewrites how it reaches settings** (preferences now live on this plugin's mount row in the profile, with the old `settings.yaml` section imported once on first boot); the file tree also gains **live refresh**. **Hosts on 0.1.6-alpha.2 or earlier should stay on v0.19.1** — note that **v0.20.0 was never published to npm**; every one of these changes shipped in v0.21.0-rc.1. +> **Since v0.21.0-rc.1 the host support floor is DSH `0.1.7-rc.1`** (peer floor `^0.1.7-rc.1`; npm dist-tag `alpha`, while `latest` is still **v0.19.1**). DSH 0.1.7 ships a complete document preview of its own (spreadsheets / PDF / images / Office), so the plugin **hands every read-only preview back to the built-in** (keeping only Markdown / HTML / the editable code editor), **narrows the external-link takeover to links a tab type explicitly claims through `urlTarget`** (the three protocol-routing settings are gone), and **rewrites how it reaches settings** (preferences now live on this plugin's mount row in the profile, with the old `settings.yaml` section imported once on first boot); the file tree also gains **live refresh**. **Hosts on 0.1.6-alpha.2 or earlier should stay on v0.19.1** — note that **v0.20.0 was never published to npm**; every one of these changes shipped in v0.21.0-rc.1. **The DSH-to-plugin version table is in [Installation](#-installation).**
@@ -69,6 +69,17 @@ > 📌 **Channel and support line**: `v0.21.0-rc.1` ships on the **alpha channel** (npm dist-tag `alpha`) and targets DSH **0.1.7-rc.1+** (peer floor `^0.1.7-rc.1`, CI pins `@deepseek-ai/dsh@0.1.7-rc.1`). **Pin the DSH version exactly**: 0.1.7-rc.1 rides npm's `next` dist-tag while `alpha` currently points at 0.1.7-alpha.2 — `npm i -g @deepseek-ai/dsh@0.1.7-rc.1`. **npm `latest` is still `v0.19.1`** — note that `v0.20.0` was **never published to npm**; this repository jumped straight from 0.19.1 to this 0.21 line. **The floor had to move**: semver's prerelease rule means `^0.1.6-alpha.2` can never match any `0.1.7` prerelease. **Hosts on DSH 0.1.6-alpha.2 or earlier (including the 0.1.5-rc.3 that is npm's `latest`) should pin `dsh-better-sidebar@0.19.1`** — 0.1.7's breakage is large enough (the `dsh-settings` rewrite, the wholesale rename of `ui-primitives` icon exports, session format v3→v4) that this version writes no runtime compatibility layer; DSH 0.1.5-alpha.2 and earlier should likewise stay on their old versions (`0.19.0-alpha.1` / `0.18.x` / `0.17.1`). +> 🧭 **Pick the plugin version that matches your DSH** (**from `0.21.0-rc.1` the support line is DSH `0.1.7-rc.1` and any later 0.1.7 release**; the two 0.1.7 alphas and 0.1.6-and-earlier are outside it): +> +> | Your DSH | dsh-better-sidebar to install | Peer declared | +> | --- | --- | --- | +> | **0.1.7-rc.1+** (including a later 0.1.7 stable) | **`dsh-better-sidebar@alpha`** → **`0.21.0-rc.1`** (this version) | `^0.1.7-rc.1` | +> | 0.1.7-alpha.1 / 0.1.7-alpha.2 | **nothing to install** — move DSH to rc.1 first (`npm i -g @deepseek-ai/dsh@0.1.7-rc.1`) | — | +> | 0.1.6-alpha.2 and earlier, `0.1.5-rc.*` (including the 0.1.5-rc.3 that is npm's `latest`) | `dsh-better-sidebar@latest` → **`0.19.1`** | `^0.1.5-rc.1` | +> | `0.1.5-alpha.2` and earlier `0.1.x` prereleases | **`0.19.0-alpha.1`** / **`0.18.1`** / **`0.17.1`** — whichever matches that host tuple | `^0.1.5-alpha.2` / `^0.1.2-rc.1` / `^0.1.0-rc.8` | +> +> The peer is a **range**, not an exact pin: `^0.1.7-rc.1` already admits every 0.1.7 rc and the stable release, so a later rc.2 or a stable 0.1.7 does **not** require a new plugin version. Conversely, do **not** install 0.19.1 on a 0.1.7 alpha — 0.1.7 rewrote the settings service and moved the icon exports and the session format, so it would simply break. + ```sh dsh plugin --profile web add dsh-better-sidebar@alpha ```