diff --git a/openspec/changes/add-dsh-native-plugin/release-guide.md b/openspec/changes/add-dsh-native-plugin/release-guide.md index eb1680777..eca6cde82 100644 --- a/openspec/changes/add-dsh-native-plugin/release-guide.md +++ b/openspec/changes/add-dsh-native-plugin/release-guide.md @@ -10,9 +10,13 @@ 插件运行在 DSH 主机,不部署进 SkillHub 网站,也不要求网站嵌入插件 UI。插件内部 Remote 接口随插件版本交付;Registry API 随服务端交付。两者分别管理版本和发布节奏。 -### 1.1 本轮 npm 发布与升级顺序 +### 1.1 当前插件发布 -本轮只交付 CLI `0.2.0` 和 DSH 插件 `0.4.0`,不发布服务端镜像、不部署 SaaS。插件内置安装核心,不要求另装 CLI;但同一用户使用 CLI 共同管理技能时,两者必须使用兼容库存格式。 +本轮仅发布 DSH 插件 `0.5.0`,提供只读技能可用性诊断。CLI 保持已发布的 `0.2.0`,无需再次发布;库存格式与兼容范围不变。发布标签为 `dsh-v0.5.0`,通过专用工作流上传经过检查的 tarball;发布后从 npm 重新下载安装验证。 + +### 1.2 0.4.0 库存升级说明 + +此前库存升级交付 CLI `0.2.0` 和 DSH 插件 `0.4.0`,不发布服务端镜像、不部署 SaaS。插件内置安装核心,不要求另装 CLI;但同一用户使用 CLI 共同管理技能时,两者必须使用兼容库存格式。 1. 完成候选 tarball 的干净安装与旧库存升级验证。保留旧版公开包及未迁移的隔离数据,用真实旧包建立升级基线;不能只用新代码构造旧 JSON 就声称完成旧版升级。 2. 先发布 `@astron-team/skillhub@0.2.0`,检查公开包版本、命令输出、库存 v1 只读行为、首次写入的 v2 迁移与备份、用户/项目版本隔离。 @@ -86,7 +90,7 @@ npm pack --ignore-scripts --pack-destination /absolute/path/to/candidate-output ### 2.3 隔离环境验证 -本次 `0.4.0` 候选分别验证 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。 +本次 `0.5.0` 候选分别验证 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,然后安装本地候选包: @@ -171,7 +175,7 @@ SaaS 使用其现有流水线部署;公共接口契约、测试数据规则与 ### 4.1 独立发布流程 -插件使用独立版本,tag 前缀固定为 `dsh-v`(本次为 `dsh-v0.4.0`),不复用 CLI 的 `cli-v*` 发布流程。专用工作流为 `.github/workflows/release-dsh-plugin.yml`;发布前仍须确认 npm 包名、兼容基线及候选包验收,本次候选为 `0.4.0`,manifest 已显式设为 `private: false`;缺省 Registry 为 `https://skill.xfyun.cn`,显式空串/空白仍断开,已有自定义来源保留。发布前分别验证缺省、断开和自定义配置,以及正式域名的固定版本安装、状态识别和本地管理。正式发布仍以最终提交、候选验收和审批结果为准。 +插件使用独立版本,tag 前缀固定为 `dsh-v`(本次为 `dsh-v0.5.0`),不复用 CLI 的 `cli-v*` 发布流程。专用工作流为 `.github/workflows/release-dsh-plugin.yml`;发布前仍须确认 npm 包名、兼容基线及候选包验收,本次候选为 `0.5.0`,manifest 已显式设为 `private: false`;缺省 Registry 为 `https://skill.xfyun.cn`,显式空串/空白仍断开,已有自定义来源保留。发布前分别验证缺省、断开和自定义配置,以及正式域名的固定版本安装、状态识别和本地管理。正式发布仍以最终提交、候选验收和审批结果为准。 发布流程依次完成:校验版本 → 测试与构建 → 生成并检查 tarball → 隔离 DSH 候选验收 → 发布审批 → 发布 npm → 校验已发布包。当前工作流自动执行版本校验、测试与构建、包检查、上传及完整性校验;隔离 DSH 的 UI、真实模型和平台验收按本次确认范围另行执行,未验项目须单独注明;CI 矩阵成功不等同于这些验收通过。工作流使用仓库的 `NPM_TOKEN` 发布凭证,源码及 npm 包不包含凭证;配置了环境保护规则时还须完成对应审批。 @@ -194,7 +198,7 @@ SaaS 使用其现有流水线部署;公共接口契约、测试数据规则与 ### 4.3 发布说明 -`0.4.0` 的变更说明见 [release-notes.md](release-notes.md)。正式版本发布前按最终候选及验收结果更新,不沿用开发版本的支持声明。 +`0.5.0` 的变更说明见 [release-notes.md](release-notes.md)。正式版本发布前按最终候选及验收结果更新,不沿用开发版本的支持声明。 每个版本包含: diff --git a/openspec/changes/add-dsh-native-plugin/release-notes.md b/openspec/changes/add-dsh-native-plugin/release-notes.md index fd8deb40f..e536cfcd0 100644 --- a/openspec/changes/add-dsh-native-plugin/release-notes.md +++ b/openspec/changes/add-dsh-native-plugin/release-notes.md @@ -1,14 +1,22 @@ # SkillHub DSH 原生插件发布说明 + +## 0.5.0 技能可用性诊断 + +- 技能卡片“更多 → 检查可用性”与对话工具 `astron_skillhub_check_availability` 提供只读诊断,区分文件完整性、同名覆盖、宿主未知及用户/模型调用策略([#1023](https://github.com/iflytek/skillhub/pull/1023))。 +- 按名查询不认领安装来源;精确引用绑定当前会话和安装位置。检查不修改文件、安装记录或草稿。 +- 保留 DSH 双 RC、Node 与 Cordis 兼容范围;不修改库存格式、默认 Registry 或 CLI 版本。既有 CLI 0.2.0 可继续共同管理库存。 +- 功能候选已完成540项本地测试、双RC宿主验收、浏览器组件及2轮真实模型对话;正式发布包仍单独检查完整性和安装结果。 + ## 版本与交付状态 -当前准备版本为 `0.4.0`,尚未发布;上一公开版本为以下 `0.3.1`。 +当前准备版本为 `0.5.0`;上一公开版本为 `0.4.0`。发布状态以对应 npm 版本和发布工作流为准。 -`@astron-team/skillhub-dsh@0.3.1` 已发布,独立标签为 `dsh-v0.3.1`。[发布准备 PR #995](https://github.com/iflytek/skillhub/pull/995) 已合并,[专用发布工作流](https://github.com/iflytek/skillhub/actions/runs/39556075587) 成功;[公开 npm 包](https://www.npmjs.com/package/@astron-team/skillhub-dsh/v/0.3.1) 与工作流产物逐字节一致,`latest` 指向 `0.3.1`。两版 Linux 的严格安装、原生探针及浏览器操作复验通过,测试工件与公开包字节一致,结果见 [验证摘要](verification.md)。历史已发布版本保持不变。 +`@astron-team/skillhub-dsh@0.3.1` 已发布,独立标签为 `dsh-v0.3.1`。[发布准备 PR #995](https://github.com/iflytek/skillhub/pull/995) 已合并,[专用发布工作流](https://github.com/iflytek/skillhub/actions/runs/39556075587) 成功;[公开 npm 包](https://www.npmjs.com/package/@astron-team/skillhub-dsh/v/0.3.1) 与工作流产物逐字节一致,发布时 `latest` 指向 `0.3.1`。两版 Linux 的严格安装、原生探针及浏览器操作复验通过,测试工件与公开包字节一致,结果见 [验证摘要](verification.md)。历史已发布版本保持不变。 -## 0.4.0 候选:技能使用与对话管理 +## 0.4.0 技能使用与对话管理 -`@astron-team/skillhub-dsh@0.4.0` 为待发布候选,独立标签为 `dsh-v0.4.0`;配套共享库存的 CLI 候选为 `@astron-team/skillhub@0.2.0`。以下为已合并实现,不表示 npm 已发布或公开包已验收。 +`@astron-team/skillhub-dsh@0.4.0` 已发布,独立标签为 `dsh-v0.4.0`;配套共享库存的 CLI 为 `@astron-team/skillhub@0.2.0`。该版本的公开包验收独立于后续版本。 - **使用技能与案例**:[PR #1007](https://github.com/iflytek/skillhub/pull/1007) 支持作者随包提供 `.skillhub/examples.json`,按语言选择案例;技能中心进入同工作区新对话,对话卡保留当前会话,在原生输入框上方选择案例并填入草稿,保留原文字、引用和附件,不自动发送。案例与技能版本共同安装和校验,无效声明按普通文件保留。 - **对话管理**:[PR #1018](https://github.com/iflytek/skillhub/pull/1018) 支持当前来源的已安装查询、最新或指定较新版本检查、升级、卸载及原操作查询;多份安装明确选择位置,写入必须由真人确认。历史引用、本地修改、共享归属和同名覆盖继续阻止不安全动作。 diff --git a/plugins/dsh/README.en.md b/plugins/dsh/README.en.md index d1ff76f75..9734a889e 100644 --- a/plugins/dsh/README.en.md +++ b/plugins/dsh/README.en.md @@ -10,6 +10,8 @@ Version `0.2.1` defaults to `https://skill.xfyun.cn` when `registryUrl` is omitt Version `0.4.0` uses the independent `dsh-v0.4.0` tag. It adds versioned examples and native composer handoff, conversational installation management, and per-location installed versions while retaining the dual-RC compatibility of `0.3.1`. Check npm for public availability; locally built tarballs can be verified independently as described below. +`0.5.0` adds read-only skill availability diagnosis in installed cards and conversations, with separate integrity, discovery and invocation-policy results. It retains the compatibility and inventory format of `0.4.0`. + ## Use an installed skill Choose “使用此技能” on an installed card, matching installed-version detail or completed installation result. Catalog entries open a new conversation in the same workspace; conversation entries keep their current session. After installation verification, examples appear above the native composer. Confirm an example or choose a custom task to insert an editable invocation. The original conversation is preserved, and in-conversation use retains its existing text, references and attachments. Complete the task and send it yourself; this action does not submit messages, call a model or install files. @@ -72,8 +74,8 @@ Published `0.1.0` still requires the original Cordis `4.0.4` baseline and does n Query the exact npm version first and install only after confirming availability. Check DSH, Node and a complete Cordis combination listed above, stop the target Web Profile Host, then install the plugin. A verified local tarball can also be installed using the next section: ```sh -npm view @astron-team/skillhub-dsh@0.4.0 version -dsh plugin --profile skillhub-test add @astron-team/skillhub-dsh@0.4.0 --ignore-scripts +npm view @astron-team/skillhub-dsh@0.5.0 version +dsh plugin --profile skillhub-test add @astron-team/skillhub-dsh@0.5.0 --ignore-scripts dsh --profile skillhub-test --host 127.0.0.1 --port 0 --no-open ``` @@ -210,7 +212,7 @@ Version selection is read-only. A verifiable newer selected version offers an ex New conversational installs default to user scope after an explicit install request. Project installation is explicit/advanced. Updating one location preserves other locations' versions. Local edits and stale references block mutations. CLI installations sharing this inventory must be upgraded together; old CLI/new inventory mixed writes are unsupported. -### Skill availability diagnosis (unreleased) +### Skill availability diagnosis (0.5.0) Choose “更多 → 检查可用性” on a conversational installed-skill card to inspect its selected location. A conversation can also use the read-only `astron_skillhub_check_availability` tool to explain why a skill cannot be used. diff --git a/plugins/dsh/README.md b/plugins/dsh/README.md index 1118a0b56..d6f2ba10a 100644 --- a/plugins/dsh/README.md +++ b/plugins/dsh/README.md @@ -10,6 +10,8 @@ SkillHub 的 DSH 原生插件。在 DSH 侧栏打开 **技能中心**,匿名 `0.4.0` 使用独立标签 `dsh-v0.4.0`,提供技能案例与原生输入框衔接、对话管理已安装技能及按安装位置独立维护版本。保留 `0.3.1` 的双 RC 兼容范围。公开可用状态以 npm 为准;本地构建的 tarball 可按下文独立验证。 +`0.5.0` 新增技能卡片及对话中的只读可用性诊断,分别报告文件完整性、宿主发现和调用策略,保留 `0.4.0` 的兼容范围及库存格式。 + ## 使用已安装技能 在已安装卡片、已安装版本详情或安装成功结果点击“使用此技能”。技能中心入口在同一工作区新建对话,对话内入口保留当前会话。核验所选安装后,案例显示在原生输入框上方;确认案例或自定义任务后,带入可编辑的技能调用。原会话草稿不会被覆盖,对话内操作保留已有文字、引用和附件。补充任务和材料后自行发送;点击使用不会自动发送、调用模型或安装文件。 @@ -72,8 +74,8 @@ npm pack --ignore-scripts --pack-destination /absolute/path/to/candidate-output 先查询 npm 上的精确版本,确认可用后安装。核对 DSH、Node 和上表完整 Cordis 组合,停止目标 Web Profile 的 Host,再执行插件安装;也可按下一节安装已验证的本地 tarball: ```sh -npm view @astron-team/skillhub-dsh@0.4.0 version -dsh plugin --profile skillhub-test add @astron-team/skillhub-dsh@0.4.0 --ignore-scripts +npm view @astron-team/skillhub-dsh@0.5.0 version +dsh plugin --profile skillhub-test add @astron-team/skillhub-dsh@0.5.0 --ignore-scripts dsh --profile skillhub-test --host 127.0.0.1 --port 0 --no-open ``` @@ -213,7 +215,7 @@ dsh plugin --profile skillhub-test remove @astron-team/skillhub-dsh 多份安装先选择目标;更新不改变其他位置版本。本地修改、来源/会话变化和失效引用阻止操作。启用逐位置库存后,同机共同管理技能的 CLI 必须同步升级;旧版 CLI 与新库存混用不受支持。 -### 技能可用性诊断(待发布) +### 技能可用性诊断(0.5.0) 在对话安装列表的技能卡片中选择“更多 → 检查可用性”,检查当前选定位置。也可以在对话中询问“这个技能为什么不能用”,由 `astron_skillhub_check_availability` 返回只读结果。 diff --git a/plugins/dsh/package.json b/plugins/dsh/package.json index 60c67e003..13f3911e2 100644 --- a/plugins/dsh/package.json +++ b/plugins/dsh/package.json @@ -1,6 +1,6 @@ { "name": "@astron-team/skillhub-dsh", - "version": "0.4.0", + "version": "0.5.0", "private": false, "type": "module", "license": "Apache-2.0",