Merge pull request #995 from iflytek/release/dsh-0.3.1

chore(dsh): prepare 0.3.1 compatibility release
This commit is contained in:
XiaoSeS 2026-10-21 14:31:49 +08:00 • committed by GitHub
commit aa3f927c55
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 37 additions and 23 deletions

View file

@ -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)。

View file

@ -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<version>` tag、npm 身份和发布凭证权限;配置了环境保护规则时完成相应审批;`0.2.0` manifest 显式允许公开发布,仍需完成最终候选验收及本次发布授权。
- 确认可发布 manifest、`dsh-v<version>` tag、npm 身份和发布凭证权限;配置了环境保护规则时完成相应审批;当前 manifest 显式允许公开发布,仍需完成最终候选验收及本次发布授权。
- 获批发布后,从 npm 下载实际包,对比完整性并执行发布后安装检查。
插件、开源服务和 SaaS 独立发布;npm 插件发布不部署服务端。

View file

@ -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 安装与关键操作复验,并记录已验证平台及未验范围。

View file

@ -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
```

View file

@ -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
```

View file

@ -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",