dsh-session-rollover 1.2.0 → 1.2.1

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.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # 更新记录
2
2
 
3
+ ## 1.2.1 — 2026-11-14
4
+
5
+ - 按维护策略将 DSH 安装兼容范围调整为 `0.2.1-rc.5 || >=0.2.2-rc.1 <0.3.0-0`,覆盖 `0.2.2-rc.3` 及范围内后续版本。
6
+ - 将安装范围与历史实机验收名单分离,发布检查改为核对显式范围;保留验收证据采集时的插件版本,不将历史记录视为当前版本实机验收。
7
+ - 同步中英文插件说明和升级文档;保留运行时关键能力探测、分卷暂停保护和既有数据路径。
8
+
3
9
  ## 1.2.0 — 2026-11-11
4
10
 
5
11
  - 增加对 DSH `0.2.2-rc.1` 的确切版本支持,完成独立 home / profile 的真实宿主验收;保留旧版范围与原数据路径。
package/README.md CHANGED
@@ -8,7 +8,7 @@
8
8
 
9
9
  适合持续编码、问题排查和多步骤任务。支持 Web 与桌面客户端,无需为插件单独配置 API Key。
10
10
 
11
- **版本 1.2.0** · **支持 DSH 0.2.1-rc.5 / 0.2.2-rc.1** · **维护者 Oak-liuhj**
11
+ **版本 1.2.1** · **兼容范围:DSH 0.2.1-rc.5 或 ≥0.2.2-rc.1、<0.3.0-0** · **维护者 Oak-liuhj**
12
12
 
13
13
  [使用指南](./docs/DETAIL.zh-CN.md) · [English guide](./docs/DETAIL.md) · [更新记录](./CHANGELOG.md) · [问题反馈](https://github.com/Oak-liuhj/dsh-session-rollover/issues)
14
14
 
@@ -44,7 +44,7 @@
44
44
 
45
45
  需要已配置模型、可正常对话的 DSH 宿主。浏览器入口随包预构建,安装插件时无需自行构建。
46
46
 
47
- `1.2.0` 支持 DSH `0.2.1-rc.5` 和已完成实机验收的 `0.2.2-rc.1`。旧版 `1.1.1` 只声明支持前者,在新版宿主中会被阻止启用;请更新兼容版本,保留原数据目录。后续版本通过逐版检查和真实宿主验收适配;关键接口变化时暂停分卷并提示。维护机制与证据边界见 [DSH 升级适配](docs/COMPATIBILITY.md)。
47
+ `1.2.1` 的安装兼容范围为 `0.2.1-rc.5 || >=0.2.2-rc.1 <0.3.0-0`,包括 `0.2.2-rc.3` 及范围内后续预发布、正式和补丁版本,不包含 `0.3.0` 的任何预发布或正式版本。升级时保留原数据目录。历史实机验收版本为 `0.2.1-rc.5`、`0.2.2-rc.1`;扩大安装范围不等于所有版本均已实测。后续逐版检查继续运行,关键接口变化时暂停分卷并提示。维护机制与证据边界见 [DSH 升级适配](docs/COMPATIBILITY.md)。
48
48
 
49
49
  可在 DSH 插件市场搜索 `dsh-session-rollover` 安装并启用,也可通过插件包名、GitHub 源或本地安装包安装。
50
50
 
@@ -77,7 +77,7 @@ dsh plugin --profile desktop add github:Oak-liuhj/dsh-session-rollover
77
77
  将路径替换为实际 tgz 文件位置:
78
78
 
79
79
  ```powershell
80
- dsh plugin --profile desktop add "D:/release/dsh-session-rollover-1.2.0.tgz"
80
+ dsh plugin --profile desktop add "D:/release/dsh-session-rollover-1.2.1.tgz"
81
81
  ```
82
82
 
83
83
  桌面用户安装后,请通过桌面客户端重启宿主。已安装旧包 `@deepseek-ai/dsh-session-rollover` 时,应先替换旧依赖,避免同时加载新旧两份插件;升级前备份配置与插件数据。详细步骤见 [升级指南](./docs/PUBLISHING.md#从-scoped-旧包迁移)。
package/client.js CHANGED
@@ -1,4 +1,4 @@
1
- // Generated by npm run build; edit src/client/. Version 1.2.0.
1
+ // Generated by npm run build; edit src/client/. Version 1.2.1.
2
2
  // dsh-session-rollover · 浏览器半边(B6 一次性提示)。
3
3
  // 通道:server 半把「该提示什么」落盘,这里同源 GET /api-dsh-session-rollover/pending 取走渲染。
4
4
  // 不碰宿主 Toast 实现、不建 React hooks 面(D-36:bindInjectSources 会剥掉 hooks 字段),纯 DOM。
@@ -1,7 +1,8 @@
1
1
  {
2
- "schemaVersion": 1,
2
+ "schemaVersion": 2,
3
3
  "package": "@deepseek-ai/dsh",
4
4
  "baseline": "0.2.1-rc.5",
5
+ "supportedRuntimeRange": "0.2.1-rc.5 || >=0.2.2-rc.1 <0.3.0-0",
5
6
  "verifiedRuntimeVersions": ["0.2.1-rc.5", "0.2.2-rc.1"],
6
7
  "registry": "https://registry.npmjs.org/",
7
8
  "contracts": [
@@ -1,13 +1,20 @@
1
1
  # DSH 升级适配与验收
2
2
 
3
- 插件按“公开接口适配、运行前探测、逐版检查、真实宿主验收”维护。不能提前保证尚未发布的 DSH 一定兼容,也不根据版本号猜测新接口。
3
+ 插件按“声明兼容范围、运行前探测、逐版检查、真实宿主验收”维护。安装范围与实机验收记录分别维护;不能提前保证尚未发布的 DSH 一定兼容,也不根据版本号猜测新接口。
4
4
 
5
5
  ## 当前范围
6
6
 
7
7
  - 历史真实宿主验收基线:`0.2.1-rc.5`;`1.2.0` 已在本机安装的 `0.2.2-rc.1` 独立 home / profile 中完成实机验收。
8
- - `compatibility/policy.json` 的 `verifiedRuntimeVersions` 决定允许安装的 DSH 版本;`engines.dsh` 必须与其逐项一致,发布检查禁止悄悄放宽范围。
8
+ - `1.2.1` 按维护者指定策略声明 `0.2.1-rc.5 || >=0.2.2-rc.1 <0.3.0-0`,允许范围内后续 RC、正式和补丁版本安装;排除 `0.3.0` 的全部预发布和正式版本。
9
+ - DSH 的版本判定使用 `includePrerelease: true`:该范围也包含 `0.2.3-alpha.1` 等后续 0.2.x 预发布版本;普通 SemVer 工具的默认预发布排除规则不同,复核时需使用与宿主相同的选项。`0.2.1` 分支仅保留确切的 `0.2.1-rc.5`。
10
+ - `compatibility/policy.json` 的 `supportedRuntimeRange` 决定安装范围,`engines.dsh` 必须与其一致;`verifiedRuntimeVersions` 独立记录已完成实机验收的版本,不再用于拼接安装白名单。
11
+ - `verifiedRuntimeVersions` 保留 `0.2.1-rc.5`、`0.2.2-rc.1`;历史证据保留采集时的插件版本,不因扩大范围而修改为新发行版或加入未实测宿主。
9
12
  - npm 声明扫描、夹具回归和真实宿主验收分别记录。扫描通过不自动修改版本约束,不自动发布 npm 包,也不自动改用户 profile。
10
- - `1.2.0` 增加新版宿主支持;已安装 `1.1.1` 的用户需更新插件,npm 同一版本不会被覆盖更新。发布核验记录见 [投稿材料](../marketplace/SUBMISSION.md)。
13
+ - 已安装旧版的用户需更新到包含新兼容声明的插件包;npm 同一版本不会被覆盖更新。历史发布核验记录见 [投稿材料](../marketplace/SUBMISSION.md)。
14
+
15
+ ## 1.2.1 范围调整(2026-11-14)
16
+
17
+ 本次调整版本元数据、发布检查与文档,不修改分卷运行逻辑、能力保护或数据路径。`0.2.2-rc.3` 的十一个组件公开声明检查通过;这不是新版本的完整实机分卷验收,因此没有将它加入 `verifiedRuntimeVersions`。
11
18
 
12
19
  ## 本次验证(2026-11-11)
13
20
 
@@ -16,10 +23,10 @@
16
23
  | 本地回归 | Windows、Node.js 24.22.1,100 项全部通过(含旧宿主有 agents、无 model.current 时的投影回退) |
17
24
  | 公开声明 | `0.2.1-rc.5`、`0.2.2-alpha.3`、`0.2.2-rc.1` 的十一个组件包均通过 |
18
25
  | 发布包 | `1.2.0` 实际 tgz 隔离安装、服务端导出、预构建客户端和展示资源通过 |
19
- | 新版真实宿主 | `0.2.2-rc.1` 验收通过,保留旧基线并增加该确切版本;不放行其他未验收版本 |
20
- | 远程 CI | 已编写工作流;本地提交不代表远程已启用,需推送默认分支后运行 |
26
+ | 新版真实宿主 | `1.2.0` 在 `0.2.2-rc.1` 验收通过,保留旧基线并增加该实测版本;当时的精确白名单已由 1.2.1 范围策略替代 |
27
+ | 远程 CI | Windows/Linux、Node 22/24 四组回归与打包、三个版本的声明检查均通过;见下方远程复验记录 |
21
28
 
22
- 声明报告和安装包校验报告分别保存在 `out/dsh-compatibility.json`、`out/package-verification.json`;它们不是实际宿主验收报告。其他平台及 Node 版本由远程矩阵执行,本轮未在本机验证。
29
+ 声明报告和安装包校验报告分别保存在 `out/dsh-compatibility.json`、`out/package-verification.json`;它们不是实际宿主验收报告。远程矩阵已通过 [运行 42981276082](https://github.com/Oak-liuhj/dsh-session-rollover/actions/runs/42981276082)。首次 Linux 运行发现 Windows 专用的不可写目录测试夹具不成立,已改为文件阻挡父目录并通过复验;该修复只影响测试,不改变发布包的运行代码。`v1.2.0` tag 原始失败记录保留,详见 [发布记录](../marketplace/SUBMISSION.md)。
23
30
 
24
31
  真实宿主记录见 [runtime-0.2.2-rc.1.json](../compatibility/runtime-0.2.2-rc.1.json):十条用户消息仅分卷一次,继承工作区、目录及模型,待办快照保持不变,新卷实时待办可继续推进,来源跳转、复制 JSON、双向归档开关和宿主重启恢复正常,匿名 HTTP 请求返回 401。本轮使用本地模型夹具,不代表真实服务商模型或 Bot 端完整验收。
25
32
 
@@ -64,7 +71,7 @@ node scripts/check-dsh-compatibility.mjs --list
64
71
 
65
72
  1. 查看每个新版本的声明扫描和回归结果;发现方法、事件或插槽变化时更新集中适配层,保留旧宿主路径的测试。
66
73
  2. 用该版本的真实 DSH,在隔离 home / profile 和本地模型夹具中验证:插件装载、十条真实用户消息只分一次、模型与工作区继承、待办交接、来源导航、重启恢复、归档只读及恢复写入、HTTP owner 授权。不得使用生产会话验收。
67
- 3. 记录 DSH 与插件版本、平台、结果及证据位置。通过后才向 `verifiedRuntimeVersions` 添加确切版本,并同步 `engines.dsh` 的 `||` 列表。旧基线仍用于回归,不能只因新版本号更大便放行。
74
+ 3. 记录 DSH 与插件版本、平台、结果及证据位置。通过后才向 `verifiedRuntimeVersions` 添加确切版本及实机证据,保留证据采集时的插件版本。范围内新增实测版本无需修改 `engines.dsh`;超出范围时需单独审核并同步修改 `supportedRuntimeRange` 与清单。旧基线继续用于回归。
68
75
  4. 更新插件版本、构建预生成客户端、完成打包与隔离安装验证,再发布新 npm 版本。用户通过正常插件升级获得适配;不得覆盖同一 npm 版本。
69
76
 
70
77
  宿主升级后遇到兼容提示时,应保留数据目录,使用已验收版本组合或更新插件;不要删除快照、绕过宿主版本检查或同时加载两份插件。
package/docs/DETAIL.md CHANGED
@@ -35,7 +35,7 @@ Default storage: `<DSH_HOME>/plugin-data/dsh-session-rollover`, or `~/.dsh/plugi
35
35
 
36
36
  Summaries use deterministic extraction, without another model call or API key. Conversation continuation uses the model configured in DSH. Background jobs are recorded as handles and states; processes are not moved, resumed or restarted. Summary text is limited to 1500 characters and the full handoff message to 16 KiB; oversized handoffs fail with a notice. Automatic failures get at most two further retries, triggered by subsequent user messages.
37
37
 
38
- Version `1.2.0` supports DSH `0.2.1-rc.5` and `0.2.2-rc.1`. The latter was tested in an isolated host with a local model fixture for ten-message rollover, model and workspace inheritance, todo continuation, archive controls and restart recovery. Version `1.1.1` excludes DSH `0.2.2-rc.1`; upgrade the plugin while retaining its data directory. This is not full acceptance for production models, Bot group channels or future host versions. Older hosts may omit this long description; the conversation `⋯` menu includes a built-in usage guide.
38
+ Version `1.2.1` declares the DSH installation range `0.2.1-rc.5 || >=0.2.2-rc.1 <0.3.0-0`. It includes `0.2.2-rc.3` and subsequent versions within the range, and excludes all `0.3.0` prereleases and stable releases. Historical runtime validation covers `0.2.1-rc.5` and `0.2.2-rc.1`; the latter used an isolated host and local model fixture for ten-message rollover, model and workspace inheritance, todo continuation, archive controls and restart recovery. The declared range and tested versions are maintained separately; the range does not claim runtime validation for every host, production model or Bot group channel. Retain the data directory when upgrading. Older hosts may omit this long description; the conversation `⋯` menu includes a built-in usage guide.
39
39
 
40
40
  Replace the old `@deepseek-ai/dsh-session-rollover` dependency and bundle rather than loading both versions. Back up profile configuration and plugin data before upgrading. See the Chinese [publishing and migration guide](./PUBLISHING.md).
41
41
 
@@ -38,7 +38,7 @@
38
38
 
39
39
  摘要是确定性摘录,不调用额外模型;继续对话仍使用 DSH 已配置的模型,无需额外 API Key。后台任务只继承句柄和状态,不迁移、恢复或重新启动进程。正文摘要上限 1500 字符、完整交接消息上限 16 KiB,超预算会拒绝交接并提示。自动失败最多再试两次,由后续用户轮次触发。
40
40
 
41
- `1.2.0` 支持 DSH `0.2.1-rc.5` 与 `0.2.2-rc.1`;后者已在独立环境验证十轮分卷、模型和工作区继承、待办续接、归档开关及重启恢复。旧版 `1.1.1` 的版本约束不支持 `0.2.2-rc.1`,需升级插件并保留数据目录。不代表所有模型、Bot 群端或后续宿主版本均已验收。旧宿主可能不显示本长说明,可从会话 `⋯ → 使用说明` 查看内置指南。
41
+ `1.2.1` 的 DSH 安装兼容范围为 `0.2.1-rc.5 || >=0.2.2-rc.1 <0.3.0-0`,包括 `0.2.2-rc.3` 及范围内后续版本,排除 `0.3.0` 的预发布与正式版本。历史实机验收覆盖 `0.2.1-rc.5`、`0.2.2-rc.1`;后者验证了十轮分卷、模型和工作区继承、待办续接、归档开关及重启恢复。安装范围与实测名单独立维护,不代表范围内所有宿主、模型或 Bot 群端均已验收。升级时保留数据目录。旧宿主可能不显示本长说明,可从会话 `⋯ → 使用说明` 查看内置指南。
42
42
 
43
43
  ## 升级与支持
44
44
 
@@ -1,6 +1,6 @@
1
1
  # 发布与升级指南
2
2
 
3
- 公开包名为 `dsh-session-rollover`,当前版本 1.2.0,维护者 Oak-liuhj。仓库:[Oak-liuhj/dsh-session-rollover](https://github.com/Oak-liuhj/dsh-session-rollover)。支持在宿主中直接填写 npm 包名安装;市场收录不代替 npm 发布。实际公开版本以 npm 官方源和 GitHub Release 为准,发布核验记录见 [投稿材料](../marketplace/SUBMISSION.md)。
3
+ 公开包名为 `dsh-session-rollover`,当前源码版本 1.2.1,维护者 Oak-liuhj。仓库:[Oak-liuhj/dsh-session-rollover](https://github.com/Oak-liuhj/dsh-session-rollover)。支持在宿主中直接填写 npm 包名安装;市场收录不代替 npm 发布。实际公开版本以 npm 官方源和 GitHub Release 为准,发布核验记录见 [投稿材料](../marketplace/SUBMISSION.md)。
4
4
 
5
5
  ## 构建与打包
6
6
 
@@ -22,8 +22,8 @@ npm pack --pack-destination D:/release
22
22
  ```powershell
23
23
  npm login --auth-type=web --registry=https://registry.npmjs.org/
24
24
  npm whoami --registry=https://registry.npmjs.org/
25
- npm publish "D:/release/dsh-session-rollover-1.2.0.tgz" --access public --registry=https://registry.npmjs.org/
26
- npm view dsh-session-rollover@1.2.0 version dist.integrity --registry=https://registry.npmjs.org/
25
+ npm publish "D:/release/dsh-session-rollover-1.2.1.tgz" --access public --registry=https://registry.npmjs.org/
26
+ npm view dsh-session-rollover@1.2.1 version dist.integrity --registry=https://registry.npmjs.org/
27
27
  ```
28
28
 
29
29
  4. 在隔离目录从 npm 安装并核对包名、版本、挂载补丁、预构建客户端与模块导入;只有 npm 返回该版本且下载验证通过,才确认包名安装可用。
@@ -77,4 +77,4 @@ CLI 登录授权、注册安全密钥和本次发布的本人认证是不同步
77
77
  3. 等仓库创建满一天并确保 topic 为 `dsh-plugin`。按 [投稿材料](../marketplace/SUBMISSION.md) 向官方插件目录发起 PR。
78
78
  4. 确认市场抓取后的简介、图标、截图及安装源正确;外部收录前不要宣称已上架。
79
79
 
80
- `engines.dsh` 由 `compatibility/policy.json` 中实际完成宿主验收的确切版本组成,不推测扩大兼容区间;声明扫描通过后仍需执行 [升级验收](./COMPATIBILITY.md)。许可证声明为 `(Apache-2.0 AND MIT)`,必须同时分发 LICENSE、LICENSE.upstream 和 NOTICE。
80
+ `engines.dsh` 与 `compatibility/policy.json` 的 `supportedRuntimeRange` 一致,当前为 `0.2.1-rc.5 || >=0.2.2-rc.1 <0.3.0-0`;`verifiedRuntimeVersions` 独立记录真实宿主验收,不决定安装范围,也不因包版本更新而改写历史证据中的插件版本。声明扫描通过后仍按 [升级验收](./COMPATIBILITY.md) 补充实机记录。许可证声明为 `(Apache-2.0 AND MIT)`,必须同时分发 LICENSE、LICENSE.upstream 和 NOTICE。
@@ -2,6 +2,6 @@ url: https://github.com/Oak-liuhj/dsh-session-rollover
2
2
  name: Oak-liuhj/dsh-session-rollover
3
3
  category: session
4
4
  description:
5
- en: 'Split long DSH conversations into volumes with todo handoff snapshots, source navigation and read-only archives.'
6
- zh: '长会话自动分卷,携带待办交接快照继续工作,支持来源回溯与归档只读。'
5
+ en: 'Split long DSH conversations every 10 user messages by default, with todo handoff snapshots, source links and read-only archives; declares DSH 0.2.1-rc.5 or >=0.2.2-rc.1 <0.3.0-0 compatibility.'
6
+ zh: '长会话默认每 10 条用户消息自动分卷,支持待办快照续接、来源回溯及归档只读;声明兼容 DSH 0.2.1-rc.5 或 >=0.2.2-rc.1 <0.3.0-0。'
7
7
  icon: https://raw.githubusercontent.com/Oak-liuhj/dsh-session-rollover/main/assets/icon.png
@@ -2,6 +2,12 @@
2
2
 
3
3
  ## 投稿记录
4
4
 
5
+ 2026-11-11 已提交市场更新 PR:[awesome-dsh-plugin/awesome-dsh-plugin#14240](https://github.com/awesome-dsh-plugin/awesome-dsh-plugin/pull/14240)。只修改现有条目的中英文简介,补充宿主兼容检查;正文说明 1.2.0 已发布及支持的 DSH 版本,并附真实宿主与远程 CI 证据。分支为 `Oak-liuhj:codex/update-dsh-session-rollover-1-2-0`,提交为 `5cd4d474f448a42fc2828978d6e215f9078447e8`。提交不代表已合并,npm/version 元数据仍由市场自动采集。
6
+
7
+ 2026-11-11 复核:首次收录 PR 已于 **2026-11-10 00:46:29 UTC** 合并,官方 main 的条目存在,在线 `plugins.json` 已包含本插件。市场条目指向本仓库,不锁定插件版本,后续发布无需重复投稿同名条目。
8
+
9
+ 本次发布后再次下载目录,条目的 `npm`、`version` 展示字段仍为 `null`,需等待市场重新抓取元数据;不据此宣称市场已显示 1.2.0。GitHub main 已包含新版代码,npm 官方源按包名可安装 1.2.0。
10
+
5
11
  2026-11-09 已提交首次上架 PR:[awesome-dsh-plugin/awesome-dsh-plugin#13453](https://github.com/awesome-dsh-plugin/awesome-dsh-plugin/pull/13453)。
6
12
 
7
13
  - 插件版本:`1.1.1`,投稿时已发布源码提交为 `541321a91e77942ba23bcc19267b2d5a8a79ccbf`。
@@ -11,6 +17,20 @@
11
17
 
12
18
  ## npm 发布记录
13
19
 
20
+ ### 1.2.0
21
+
22
+ 2026-11-11,`dsh-session-rollover@1.2.0` 已发布,npm 官方源 `latest` 为 `1.2.0`,声明支持 DSH `0.2.1-rc.5 || 0.2.2-rc.1`。
23
+
24
+ - [npm 1.2.0](https://www.npmjs.com/package/dsh-session-rollover/v/1.2.0) 与 [GitHub Release v1.2.0](https://github.com/Oak-liuhj/dsh-session-rollover/releases/tag/v1.2.0) 均已公开;tag 指向 `5bfde1e93ca4021fc7fcab59609925125bc2f740`。
25
+ - 两处实际下载的 tgz 均与审核包逐字节哈希一致;SHA256 为 `b35a9fa386d176e7dcc133e1a8bf36ac853ac7841786059bf302563c65c984a3`,SHA1 为 `7b1b69e17abfbc76a960f277a31092f70187f669`。GitHub 附有 `SHA256SUMS`。
26
+ - 已从 npm 官方源按 `dsh-session-rollover@1.2.0` 隔离安装,并核对版本、宿主范围、导出入口及全部发布资源。未改动生产 profile。
27
+ - 发布后的远程检查发现一个测试夹具将 Windows 的不存在盘符当作跨平台不可写路径;Linux 实际能创建该目录。提交 `0b526f057fdc1662ed3a7e7f2f973525578556c0` 改用文件阻挡父目录,不改变已发布的运行代码或安装包,也不移动既有 tag。
28
+ - [远程复验](https://github.com/Oak-liuhj/dsh-session-rollover/actions/runs/42981276082) 全部通过:Windows/Linux、Node 22/24 四组回归与打包检查,以及三个 DSH 版本的公开声明检查。`v1.2.0` tag 的原始 CI 仍保留测试夹具失败记录。
29
+
30
+ 桌面用户更新到 1.2.0 后重启 DSH;镜像尚未同步时,可使用 GitHub Release 附件或 GitHub 源。后续 DSH 版本仍需逐版真实宿主验收。
31
+
32
+ ### 1.1.1
33
+
14
34
  2026-11-11 **13:51(北京时间)**,`dsh-session-rollover@1.1.1` 已正式发布到 [npm](https://www.npmjs.com/package/dsh-session-rollover/v/1.1.1)。npm 发布账号为 `oak-ai`,插件作者与 GitHub 仓库所有者为 `Oak-liuhj`。
15
35
 
16
36
  - npm 官方源与腾讯镜像的 `latest` 均已确认为 `1.1.1`。
@@ -24,7 +44,7 @@
24
44
 
25
45
  投稿目录为 [awesome-dsh-plugin/awesome-dsh-plugin](https://github.com/awesome-dsh-plugin/awesome-dsh-plugin),市场应用代码仓库 `dsh-market/dsh-market` 不是插件条目的投稿目标。规则来源:[contributing.md](https://github.com/awesome-dsh-plugin/awesome-dsh-plugin/blob/main/contributing.md)(核对于 2026-11-07)。
26
46
 
27
- 仅新增 `data/plugins/Oak-liuhj__dsh-session-rollover.yml`,内容使用本目录同名文件;不手改自动生成的 README,不增加 npm/version/tags 等非目录字段。
47
+ 首次投稿仅新增 `data/plugins/Oak-liuhj__dsh-session-rollover.yml`,后续更新修改同一文件,内容使用本目录同名文件;不手改自动生成的 README,不增加 npm/version/tags 等非目录字段。投稿规则已于 2026-11-11 再次核对,npm 关联无需另行通知维护者。
28
48
 
29
49
  建议 PR 标题:`Add Oak-liuhj/dsh-session-rollover`
30
50
 
@@ -34,4 +54,4 @@
34
54
 
35
55
  提交前确认公开 main 分支或安装目标包含 `client.js`、图标和截图;仓库 topic 包含 `dsh-plugin`,创建满一天。仓库创建时间核对为 2026-11-06 06:45:34 UTC,最早满一天时间为北京时间 **2026-11-07 14:45:34**。npm 发布可选,未发布 npm 时使用 GitHub 安装源。
36
56
 
37
- 本目录的 YAML 已通过上述 PR 提交。市场收录、npm 发布和 GitHub Release 是独立状态;首次市场投稿未包含 npm 发布,后续 npm 发布见上方记录。本记录不表示已创建 GitHub Release。
57
+ 本目录的 YAML 已通过上述 PR 收录。市场收录、npm 发布和 GitHub Release 是独立状态;首次市场投稿未包含 npm 发布,后续 npm 与 GitHub Release 的核验见上方版本记录。
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dsh-session-rollover",
3
- "version": "1.2.0",
3
+ "version": "1.2.1",
4
4
  "type": "module",
5
5
  "description": "DSH 会话分卷与续接:自动分卷、待办交接快照、来源回溯和归档只读,支持 Web 与桌面客户端。",
6
6
  "main": "index.js",
@@ -100,6 +100,6 @@
100
100
  "registry": "https://registry.npmjs.org/"
101
101
  },
102
102
  "engines": {
103
- "dsh": "0.2.1-rc.5 || 0.2.2-rc.1"
103
+ "dsh": "0.2.1-rc.5 || >=0.2.2-rc.1 <0.3.0-0"
104
104
  }
105
105
  }
@@ -26,16 +26,21 @@ assert.ok(pkg.keywords.includes('dsh-plugin'));
26
26
  assert.equal(pkg.dsh.manifestVersion, 1);
27
27
  assert.equal(pkg.dsh.client.platform, 'web');
28
28
  const compatibility = JSON.parse(await readFile(await localFile('compatibility/policy.json'), 'utf8'));
29
+ assert.equal(compatibility.schemaVersion, 2);
29
30
  assert.equal(compatibility.baseline, pkg.dsh.verifiedDsh);
30
31
  assert.ok(compatibility.verifiedRuntimeVersions.includes(compatibility.baseline));
31
32
  assert.ok(compatibility.verifiedRuntimeVersions.every(version => /^\d+\.\d+\.\d+(?:-[\w.-]+)?$/.test(version)));
32
- assert.equal(pkg.engines.dsh, compatibility.verifiedRuntimeVersions.join(' || '));
33
+ // 安装范围由显式策略决定;实机验收名单独立维护,新增验收记录无需收窄范围。
34
+ assert.equal(typeof compatibility.supportedRuntimeRange, 'string');
35
+ assert.ok(compatibility.supportedRuntimeRange.trim());
36
+ assert.equal(pkg.engines.dsh, compatibility.supportedRuntimeRange);
33
37
  for (const version of compatibility.verifiedRuntimeVersions.filter(version => version !== compatibility.baseline)) {
34
38
  const evidence = JSON.parse(await readFile(await localFile(`compatibility/runtime-${version}.json`), 'utf8'));
35
39
  assert.equal(evidence.passed, true);
36
40
  assert.equal(evidence.runtimeVerified, true);
37
41
  assert.equal(evidence.dsh, version);
38
- assert.equal(evidence.plugin, pkg.version);
42
+ // 保留证据采集时真实的插件版本;旧验收记录不冒充当前发行版验收。
43
+ assert.match(evidence.plugin, /^\d+\.\d+\.\d+$/);
39
44
  }
40
45
  await localFile('docs/COMPATIBILITY.md');
41
46
  assert.deepEqual(Object.keys(pkg.dependencies ?? {}), []);