From b17be07bd9adb090d79299e336c67eb1e33f84b0 Mon Sep 17 00:00:00 2001 From: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com> Date: Wed, 21 Oct 2026 14:17:53 +0800 Subject: [PATCH] chore(dsh): prepare 0.3.1 compatibility release Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com> --- .../add-dsh-native-plugin/release-guide.md | 12 ++++++------ .../add-dsh-native-plugin/release-notes.md | 15 +++++++++++---- openspec/changes/add-dsh-native-plugin/tasks.md | 7 +++++++ plugins/dsh/README.en.md | 12 ++++++------ plugins/dsh/README.md | 12 ++++++------ plugins/dsh/package.json | 2 +- 6 files changed, 37 insertions(+), 23 deletions(-) diff --git a/openspec/changes/add-dsh-native-plugin/release-guide.md b/openspec/changes/add-dsh-native-plugin/release-guide.md index a3327e031..4b7752833 100644 --- a/openspec/changes/add-dsh-native-plugin/release-guide.md +++ b/openspec/changes/add-dsh-native-plugin/release-guide.md @@ -61,7 +61,7 @@ npm pack --ignore-scripts --pack-destination /absolute/path/to/candidate-output 候选输出目录须事先创建并位于仓库外,每轮使用独立目录。`check` 包含 build、typecheck、lint、test;仅 CLI 检查通过不能替代插件检查。记录实际 tarball 校验值、源码版本和验收环境,不能用文件名或相同开发版本号判断两个包相同。 -`check-dsh-plugin.yml` 使用 Linux、macOS、Windows 三平台矩阵,Node 24.2.0 与当前 Node 24 双版本、Bun 1.3.13,分别运行共享 CLI 检查、插件 `bun run check` 和隔离 Web Profile 的 Host 安装冒烟,并保存带平台名的 tarball 与脱敏摘要。步骤显式使用 Bash,避免 Windows 默认 shell 对脚本的不同解释;平台失败不取消其他平台任务。矩阵通过只证明该次构建与自动化测试结果,真实 DSH Profile 安装、页面和对话验收仍须单独完成。平台测试中的跳过项必须记录,不能算作通过。 +`check-dsh-plugin.yml` 使用 Linux、macOS、Windows 三平台矩阵,Node 24.2.0 与当前 Node 24 双版本、Bun 1.3.13,分别运行共享 CLI 检查、插件 `bun run check` 和隔离 Web Profile 的 Host 安装冒烟,并保存带平台名的 tarball 与脱敏摘要。新 RC `0.2.1-rc.2` 另有 Linux 双 Node 原生 Host 检查,复用对应 Node 档的原矩阵产物;不将此结果扩大为新 RC 的 Windows/macOS 原生文件操作验收。步骤显式使用 Bash,避免 Windows 默认 shell 对脚本的不同解释;平台失败不取消其他平台任务。矩阵通过只证明该次构建与自动化测试结果,真实 DSH Profile 安装、页面和对话验收仍须单独完成。平台测试中的跳过项必须记录,不能算作通过。 ### 2.2 插件包检查 @@ -73,7 +73,7 @@ npm pack --ignore-scripts --pack-destination /absolute/path/to/candidate-output ### 2.3 隔离环境验证 -本次 `0.2.1` 交付固定 DSH `0.2.0-rc.2`、Node `>=24.2.0 <25`。Cordis、Loader、Include、Timer 须为已验证的完整组合:`4.0.4 / 1.0.5 / 1.0.9 / 1.1.6` 或 `4.0.5 / 1.0.6 / 1.0.10 / 1.1.7`,不得交叉混装;以实际 Host 解析结果为准。已发布 `0.1.0` 尚不包含后一组合支持及历史回执修复,`0.1.1` 起包含这些修复,`0.2.0` 延续此兼容基线;发布前使用本次 tarball 验证。在独立测试账户或容器中准备 Web Profile、工作区和测试技能,连接测试 Registry。仅隔离 Profile/DSH home 不足以隔离共享 inventory。 +本次 `0.3.1` 候选分别验证 DSH `0.2.0-rc.2` 与 `0.2.1-rc.2`,Node `>=24.2.0 <25`。Host、app-boot、核心模块及注入 Client 模块须为同一精确发行版。新 RC 仅使用 `4.0.5 / 1.0.6 / 1.0.10 / 1.1.7`;旧 RC 的 Cordis、Loader、Include、Timer 须为已验证的完整组合:`4.0.4 / 1.0.5 / 1.0.9 / 1.1.6` 或 `4.0.5 / 1.0.6 / 1.0.10 / 1.1.7`,不得交叉混装;以实际 Host 解析结果为准。已发布 `0.1.0` 尚不包含后一组合支持及历史回执修复,`0.1.1` 起包含这些修复,`0.2.0` 延续此兼容基线;发布前使用本次 tarball 验证。在独立测试账户或容器中准备 Web Profile、工作区和测试技能,连接测试 Registry。仅隔离 Profile/DSH home 不足以隔离共享 inventory。 首次创建测试 Web Profile,然后安装本地候选包: @@ -158,9 +158,9 @@ SaaS 使用其现有流水线部署;公共接口契约、测试数据规则与 ### 4.1 独立发布流程 -插件使用独立版本,tag 前缀固定为 `dsh-v`(本次为 `dsh-v0.2.1`),不复用 CLI 的 `cli-v*` 发布流程。专用工作流为 `.github/workflows/release-dsh-plugin.yml`;发布前仍须确认 npm 包名、兼容基线及候选包验收,本次交付为 `0.2.1`,manifest 已显式设为 `private: false`;缺省 Registry 为 `https://skill.xfyun.cn`,显式空串/空白仍断开,已有自定义来源保留。发布前分别验证缺省、断开和自定义配置,以及正式域名的固定版本安装、状态识别和本地管理。正式发布仍以最终提交、候选验收和审批结果为准。 +插件使用独立版本,tag 前缀固定为 `dsh-v`(本次为 `dsh-v0.3.1`),不复用 CLI 的 `cli-v*` 发布流程。专用工作流为 `.github/workflows/release-dsh-plugin.yml`;发布前仍须确认 npm 包名、兼容基线及候选包验收,本次候选为 `0.3.1`,manifest 已显式设为 `private: false`;缺省 Registry 为 `https://skill.xfyun.cn`,显式空串/空白仍断开,已有自定义来源保留。发布前分别验证缺省、断开和自定义配置,以及正式域名的固定版本安装、状态识别和本地管理。正式发布仍以最终提交、候选验收和审批结果为准。 -发布流程依次完成:校验版本 → 测试与构建 → 生成并检查 tarball → 隔离 DSH 候选验收 → 发布审批 → 发布 npm → 校验已发布包。当前工作流自动执行版本校验、测试与构建、包检查、上传及完整性校验;隔离 DSH 的 UI、真实模型和平台验收需在发布审批前另行完成,CI 矩阵成功不等同于这些验收通过。工作流使用仓库的 `NPM_TOKEN` 发布凭证,源码及 npm 包不包含凭证;配置了环境保护规则时还须完成对应审批。 +发布流程依次完成:校验版本 → 测试与构建 → 生成并检查 tarball → 隔离 DSH 候选验收 → 发布审批 → 发布 npm → 校验已发布包。当前工作流自动执行版本校验、测试与构建、包检查、上传及完整性校验;隔离 DSH 的 UI、真实模型和平台验收按本次确认范围另行执行,未验项目须单独注明;CI 矩阵成功不等同于这些验收通过。工作流使用仓库的 `NPM_TOKEN` 发布凭证,源码及 npm 包不包含凭证;配置了环境保护规则时还须完成对应审批。 `publish-images.yml` 的 publish job 在 Release tag 以 `dsh-v` 开头时跳过,其依赖的运行时镜像同步 job 随之跳过;手动执行和其他 Release 行为保留。`publish-chart.yml` 的发布 job 限定为手动触发或 `v`、`chart-v`、`helm-v` 前缀。`release-cli.yml` 自动触发仅匹配 `cli-v*`,并支持手动执行。插件 Release 必须使用 `dsh-v` 前缀,不能使用平台或 CLI 前缀。以上隔离不等于插件已获发布授权,发布前仍需完成专用发布工作流和候选验收。 @@ -181,7 +181,7 @@ SaaS 使用其现有流水线部署;公共接口契约、测试数据规则与 ### 4.3 发布说明 -`0.2.1` 的变更说明见 [release-notes.md](release-notes.md)。正式版本发布前按最终候选及验收结果更新,不沿用开发版本的支持声明。 +`0.3.1` 的变更说明见 [release-notes.md](release-notes.md)。正式版本发布前按最终候选及验收结果更新,不沿用开发版本的支持声明。 每个版本包含: @@ -224,4 +224,4 @@ dsh --profile skillhub-test --host 127.0.0.1 --port 0 --no-open 发布前应具备插件 README、兼容矩阵、Registry 契约、测试报告、包清单、配置说明、变更说明和回退步骤。操作人按已批准的环境与版本执行发布;验证、包上传、服务部署和发布后检查分别记录结果。 -首版单一版本基线、依赖锁定、能力检测及平台验收遵循 [DSH 兼容性设计](compatibility-design.md)。 +精确发行版支持范围、依赖锁定、能力检测及平台验收遵循 [DSH 兼容性设计](compatibility-design.md)。 diff --git a/openspec/changes/add-dsh-native-plugin/release-notes.md b/openspec/changes/add-dsh-native-plugin/release-notes.md index 0597ca55e..8e0638c4d 100644 --- a/openspec/changes/add-dsh-native-plugin/release-notes.md +++ b/openspec/changes/add-dsh-native-plugin/release-notes.md @@ -2,9 +2,16 @@ ## 版本与交付状态 -本次交付版本为 `@astron-team/skillhub-dsh@0.3.0`,对应独立标签 `dsh-v0.3.0`。[功能 PR #986](https://github.com/iflytek/skillhub/pull/986) 已合并;发布流水线、公开包完整性和发布后验收分别记录于 [验证摘要](verification.md)。已发布版本保持不变。 +本次发布候选为 `@astron-team/skillhub-dsh@0.3.1`,计划使用独立标签 `dsh-v0.3.1`。[兼容修复 PR #988](https://github.com/iflytek/skillhub/pull/988) 已合并;npm 上传、公开包完整性及发布后安装检查尚待完成,分别记录于 [验证摘要](verification.md)。历史已发布版本保持不变。 -DSH 基线为 `0.2.0-rc.2`,Node 为 `>=24.2.0 <25`,沿用既有两组完整 Cordis 组合。浏览器与真实模型验收使用 Linux 官方 Host;三平台原生 Host 由 CI 验证,不扩大为个人电脑桌面客户端或其他 DSH 发行版验收。 +## 0.3.1 DSH 双 RC 兼容 + +- **精确发行版**:支持一致的 DSH `0.2.0-rc.2` 或 `0.2.1-rc.2` 依赖图;Host、app-boot、核心模块及注入 Client 模块必须同版,未知或混装继续拒绝新写入。 +- **依赖与协议**:旧 RC 保留既有两组完整 Cordis 组合,新 RC 仅使用 `4.0.5 / 1.0.6 / 1.0.10 / 1.1.7`。构建生成器输出双方可读取的共同契约,运行时协议仍由目标 Host 提供,不使用 peer 豁免绕过兼容检查。 +- **保留行为**:默认来源保持 `https://skill.xfyun.cn`,保留自定义来源、用户/项目范围、原安装记录和历史回执;不新增服务端接口、模型配置或登录功能。 +- **验证范围**:功能候选完成 365 项测试、两版 Linux Host 严格安装、原生探针及浏览器用户/项目安装→升级→卸载和取消验证。CI 覆盖旧 RC 三平台双 Node、新 RC Linux 双 Node。新 RC 的 Windows/macOS 原生文件操作、真实桌面客户端及本次真实模型调用未验收;这些结果不代替 `0.3.1` 最终候选与公开包验证。 + +Node 保持 `>=24.2.0 <25`。精确兼容与验证边界见 [兼容设计](compatibility-design.md) 及 [验收标准](acceptance.md)。 ## 0.3.0 市场交互与版本管理 @@ -69,7 +76,7 @@ DSH 基线为 `0.2.0-rc.2`,Node 为 `>=24.2.0 <25`,沿用既有两组完整 ## 安装、更新与维护 -可通过 `dsh plugin --profile skillhub-test add @astron-team/skillhub-dsh@0.2.0 --ignore-scripts` 安装到已有 Web Profile。发布前从源码执行 `bun run check` 后生成 `.tgz`,使用固定版本 DSH 的 `plugin ... add` 安装。具体准备、命令、配置和测试流程见 [中文指南](../../../plugins/dsh/README.md)、[英文指南](../../../plugins/dsh/README.en.md) 及 [发布指南](release-guide.md)。 +可通过 `dsh plugin --profile skillhub-test add @astron-team/skillhub-dsh@0.3.1 --ignore-scripts` 安装到已有 Web Profile。发布前从源码执行 `bun run check` 后生成 `.tgz`,使用固定版本 DSH 的 `plugin ... add` 安装。具体准备、命令、配置和测试流程见 [中文指南](../../../plugins/dsh/README.md)、[英文指南](../../../plugins/dsh/README.en.md) 及 [发布指南](release-guide.md)。 更新或回退前保留原包和校验值、停止新操作并处理待恢复事务,然后停止 Host、安装兼容包并重新启动。浏览器旧资源可强制刷新;这不能代替 Host 依赖重载。禁用或移除包不会卸载技能,不应删除技能目录、inventory 或操作日志。 @@ -91,7 +98,7 @@ DSH 基线为 `0.2.0-rc.2`,Node 为 `>=24.2.0 <25`,沿用既有两组完整 - 确定正式版本、最终候选校验值和支持平台;未验证的平台、DSH 或 SaaS 组合不得声明支持。 - 验证候选包在干净目标 Profile 中安装、读取来源、安装测试技能及保留原数据的维护流程。 -- 确认可发布 manifest、`dsh-v` tag、npm 身份和发布凭证权限;配置了环境保护规则时完成相应审批;`0.2.0` manifest 显式允许公开发布,仍需完成最终候选验收及本次发布授权。 +- 确认可发布 manifest、`dsh-v` tag、npm 身份和发布凭证权限;配置了环境保护规则时完成相应审批;当前 manifest 显式允许公开发布,仍需完成最终候选验收及本次发布授权。 - 获批发布后,从 npm 下载实际包,对比完整性并执行发布后安装检查。 插件、开源服务和 SaaS 独立发布;npm 插件发布不部署服务端。 diff --git a/openspec/changes/add-dsh-native-plugin/tasks.md b/openspec/changes/add-dsh-native-plugin/tasks.md index 22ae39071..cf82ba4b3 100644 --- a/openspec/changes/add-dsh-native-plugin/tasks.md +++ b/openspec/changes/add-dsh-native-plugin/tasks.md @@ -295,3 +295,10 @@ - [x] 37.3 更新兼容矩阵和新 RC CI 入口,保留旧版平台/Node 及 Cordis 回归。 - [x] 37.4 同一冻结候选在两版官方 Host 上完成严格 peer 安装、生命周期及浏览器交互验证;用户/项目两个范围均完成安装、升级、卸载及取消核验。 - [x] 37.5 独立完整 diff Review、运行时代码 CI 与验收证据闭环;结果和平台边界见 acceptance.md。候选仍未发布,合并与 npm 发布另行授权。 + + +## 38. 0.3.1 兼容修复发布 + +- [ ] 38.1 将包版本及双语安装、发布说明更新为 `0.3.1`,完成候选检查与发布准备 PR。 +- [ ] 38.2 使用 `dsh-v0.3.1` 和专用工作流发布 npm,核对实际上传产物、公开版本和完整性。 +- [ ] 38.3 从 npm 下载公开包,完成隔离 DSH 安装与关键操作复验,并记录已验证平台及未验范围。 diff --git a/plugins/dsh/README.en.md b/plugins/dsh/README.en.md index 2b879005b..79f99ee78 100644 --- a/plugins/dsh/README.en.md +++ b/plugins/dsh/README.en.md @@ -8,7 +8,7 @@ Version `0.2.0` adds source-aware installation status to catalog cards and conve Version `0.2.1` defaults to `https://skill.xfyun.cn` when `registryUrl` is omitted. An explicit empty or whitespace-only value still disconnects; existing custom addresses are preserved. CLI defaults and credentials are not inherited. -This version uses the independent `dsh-v0.2.1` release tag and retains the DSH dependency compatibility and historical receipt fixes from `0.1.1`. Until npm publication and public-package verification finish, validate this version using its built tarball. +Version `0.3.1` fixes compatibility with both enumerated DSH RCs, uses the independent `dsh-v0.3.1` release tag and retains the marketplace interactions and version management from `0.3.0`. Until npm publication and public-package verification finish, validate this version using its built tarball. ## Requirements and validation scope @@ -19,12 +19,12 @@ This version uses the independent `dsh-v0.2.1` release tag and retains the DSH d | Host Node | `>=24.2.0 <25`; Node 24.0.0 is unsuitable | | Build package manager | Bun `1.3.13`, using frozen lockfiles | | UI | Chinese, DSH light/dark themes and narrow layouts | -| Verified environments | Linux DSH Host/browser integration; Windows browser UI and interactions against a real Host | -| Pending validation | New-RC native Host/browser and cross-platform acceptance; real macOS client; real model execution of SaaS skills | +| Verified environments | Both Linux DSH Hosts: strict installation, native probes and browser user/project install, upgrade, removal and cancellation; Windows browser UI and interactions against a real Host | +| Pending validation | New-RC native Windows/macOS filesystem operations; real desktop clients; real model calls with this compatibility fix | Windows browser acceptance does not establish complete native Windows Host filesystem support. CI results do not replace desktop, model, or target-instance acceptance. See the repository's [compatibility design](../../openspec/changes/add-dsh-native-plugin/compatibility-design.md) and [acceptance criteria](../../openspec/changes/add-dsh-native-plugin/acceptance.md). -This branch contains the unreleased compatibility fix for Issue #981. Published plugin `0.3.0` does not include it. Unknown releases and mixed Host/Client graphs reject new writes. Optional `userQuestions` is enabled by Host service availability; it is not part of the mandatory write-version gate. Its API is identical in the two enumerated RCs, both of which the peer declaration permits. An absent service falls back to the plugin confirmation dialog. New-RC native Host/browser and cross-platform acceptance remain pending until recorded. +Version `0.3.1` includes the merged [Issue #981 compatibility fix](https://github.com/iflytek/skillhub/pull/988). Published plugin `0.3.0` does not include it. Unknown releases and mixed Host/Client graphs reject new writes. Optional `userQuestions` is enabled by Host service availability; it is not part of the mandatory write-version gate. Its API is identical in the two enumerated RCs, both of which the peer declaration permits. An absent service falls back to the plugin confirmation dialog. ## Build and package @@ -62,10 +62,10 @@ Published `0.1.0` still requires the original Cordis `4.0.4` baseline and does n ## Install from npm -After `0.2.1` is published on npm, use these commands to install it. Check DSH, Node and a complete Cordis combination listed above, stop the target Web Profile Host, then install the exact version. Before publication, use the local candidate instructions below: +After `0.3.1` is published on npm, use these commands to install it. Check DSH, Node and a complete Cordis combination listed above, stop the target Web Profile Host, then install the exact version. Before publication, use the local candidate instructions below: ```sh -dsh plugin --profile skillhub-test add @astron-team/skillhub-dsh@0.2.1 --ignore-scripts +dsh plugin --profile skillhub-test add @astron-team/skillhub-dsh@0.3.1 --ignore-scripts dsh --profile skillhub-test --host 127.0.0.1 --port 0 --no-open ``` diff --git a/plugins/dsh/README.md b/plugins/dsh/README.md index 24d2b57de..d799e9124 100644 --- a/plugins/dsh/README.md +++ b/plugins/dsh/README.md @@ -8,7 +8,7 @@ SkillHub 的 DSH 原生插件。在 DSH 侧栏打开 **技能中心**,匿名 `0.2.1` 缺省连接 `https://skill.xfyun.cn`;显式空串或仅空白仍表示断开,已有自定义地址保留。插件不继承 CLI 的默认地址或凭证。 -本版使用独立发布标签 `dsh-v0.2.1`,保留 `0.1.1` 的 DSH 依赖兼容性与历史安装回执修复。npm 发布及公开包验收完成前,使用本版本构建的 tarball 验证。 +`0.3.1` 为 DSH 双 RC 兼容修复版本,使用独立发布标签 `dsh-v0.3.1`,保留 `0.3.0` 的市场交互与版本管理能力。npm 发布及公开包验收完成前,使用本版本构建的 tarball 验证。 ## 环境与验证范围 @@ -19,12 +19,12 @@ SkillHub 的 DSH 原生插件。在 DSH 侧栏打开 **技能中心**,匿名 | Host Node | `>=24.2.0 <25`;不能使用 Node 24.0.0 | | 开发包管理器 | Bun `1.3.13`,按锁文件安装 | | 当前 UI | 中文;支持 DSH 深浅主题和窄屏 | -| 已验证环境 | Linux DSH Host 与浏览器集成;Windows 浏览器访问真实 Host 的界面和交互 | -| 待验证范围 | 新 RC 的完整原生 Host/浏览器验收与跨平台运行;macOS 真实客户端;SaaS 技能的真实模型执行 | +| 已验证环境 | Linux 两版 DSH Host 严格安装、原生探针及浏览器用户/项目安装、升级、卸载与取消;Windows 浏览器访问真实 Host 的界面和交互 | +| 待验证范围 | 新 RC 的 Windows/macOS 原生文件操作;真实桌面客户端;本次兼容修复的真实模型调用 | Windows 浏览器验证不等于 Windows 原生 Host 的全部文件操作已经验证。CI 的平台矩阵也不替代真实桌面、模型及目标实例验收。完整支持边界见仓库内的 [兼容设计](../../openspec/changes/add-dsh-native-plugin/compatibility-design.md) 和 [验收标准](../../openspec/changes/add-dsh-native-plugin/acceptance.md)。 -本分支包含 Issue #981 的候选兼容修复,尚未发布;已发布的插件 `0.3.0` 不包含此修复。其他 RC、未来发行版、混装模块和 Host/Client 版本不一致均拒绝新写入。可选 `userQuestions` 按宿主服务是否可用启用,缺失时仍回退插件确认框;其版本不属于必需写入门禁。两个已列 RC 的问答 API 一致,peer 声明允许二者,不据此承诺其他版本兼容。 +`0.3.1` 包含已合并的 [Issue #981 兼容修复](https://github.com/iflytek/skillhub/pull/988);已发布的 `0.3.0` 不包含此修复。其他 RC、未来发行版、混装模块和 Host/Client 版本不一致均拒绝新写入。可选 `userQuestions` 按宿主服务是否可用启用,缺失时仍回退插件确认框;其版本不属于必需写入门禁。两个已列 RC 的问答 API 一致,peer 声明允许二者,不据此承诺其他版本兼容。 ## 构建与打包 @@ -62,10 +62,10 @@ npm pack --ignore-scripts --pack-destination /absolute/path/to/candidate-output ## 从 npm 安装 -`0.2.1` 在 npm 发布完成后,使用以下命令安装。先确认 DSH、Node 和上表完整 Cordis 组合满足要求,停止目标 Web Profile 的 Host,然后安装精确版本。发布完成前使用下一节的本地候选包: +`0.3.1` 在 npm 发布完成后,使用以下命令安装。先确认 DSH、Node 和上表完整 Cordis 组合满足要求,停止目标 Web Profile 的 Host,然后安装精确版本。发布完成前使用下一节的本地候选包: ```sh -dsh plugin --profile skillhub-test add @astron-team/skillhub-dsh@0.2.1 --ignore-scripts +dsh plugin --profile skillhub-test add @astron-team/skillhub-dsh@0.3.1 --ignore-scripts dsh --profile skillhub-test --host 127.0.0.1 --port 0 --no-open ``` diff --git a/plugins/dsh/package.json b/plugins/dsh/package.json index 48177a494..3af9f3811 100644 --- a/plugins/dsh/package.json +++ b/plugins/dsh/package.json @@ -1,6 +1,6 @@ { "name": "@astron-team/skillhub-dsh", - "version": "0.3.0", + "version": "0.3.1", "private": false, "type": "module", "license": "Apache-2.0",