dsh-web-annotator 0.2.0-alpha.12 → 0.2.0-alpha.13
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 +10 -0
- package/docs/distribution.md +5 -3
- package/docs/marketplace/cslkkl__dsh-web-annotator.yml +1 -1
- package/docs/publishing.md +31 -4
- package/docs/verification.md +22 -0
- package/lib/host/bundle.json +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,15 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.2.0-alpha.13 — 发布通道按版本号推导
|
|
4
|
+
|
|
5
|
+
- 发布链不再把 `--prerelease` 与 `--tag alpha` 写死在 workflow 里,改由版本号推导:
|
|
6
|
+
带预发布段的版本 → GitHub 的 Pre-release + npm 的预览 dist-tag(`alpha`…);
|
|
7
|
+
稳定版 → Latest + `latest`。判断放在可测的 `releaseChannel()` 里。
|
|
8
|
+
原先写死时,**给稳定版打标签会发出一个「标着预发布、npm 上仍留在旧 alpha」的版本,
|
|
9
|
+
而日志里看不出任何异常**。
|
|
10
|
+
- Release 正文不再把稳定版称作“预览版”:措辞跟着通道走。
|
|
11
|
+
- 插件代码与宿主提供方**没有变化**,界面行为与 alpha.12 相同。
|
|
12
|
+
|
|
3
13
|
## 0.2.0-alpha.12 — 发布链路接上 npm 的 OIDC
|
|
4
14
|
|
|
5
15
|
- 发布链路新增 npm 一路:推 `v*` 标签后,Release 建完再由 **Trusted Publishing(OIDC)**
|
package/docs/distribution.md
CHANGED
|
@@ -21,8 +21,10 @@
|
|
|
21
21
|
2. bump `package.json` 的版本号、`CHANGELOG.md` 的对应一节与市场条目的 `tarball` 行,推 `main`;
|
|
22
22
|
再推 `v<版本>` 标签。[release workflow](../.github/workflows/release.yml) 随后跑门禁、
|
|
23
23
|
打包产物验收与交付一致性,建出挂着预构建 `.tgz`(外加源码 ZIP 与验证记录)的预览 Release,
|
|
24
|
-
最后把同一份产物发到 npm
|
|
25
|
-
3.
|
|
24
|
+
最后把同一份产物发到 npm —— 通道按版本号推导:预览版进 `alpha`,稳定版进 `latest`。
|
|
25
|
+
3. 完成稳定版所需的原生截图、真实模型与兼容验收后,**只改版本号与 `CHANGELOG`** 就能发稳定版:
|
|
26
|
+
workflow 会按版本号自动去掉 `--prerelease`、把 dist-tag 换成 `latest`(判据在
|
|
27
|
+
[scripts/release-assets.mjs](../scripts/release-assets.mjs) 的 `releaseChannel()`)。
|
|
26
28
|
4. 向社区目录提交 [marketplace 条目](marketplace/cslkkl__dsh-web-annotator.yml)。
|
|
27
29
|
合并并被目录同步后,才能声明该市场可搜索、可安装。
|
|
28
30
|
5. 在新 Profile 中走一遍搜索、安装、重启、批注、卸载,记录精确市场与宿主版本。
|
|
@@ -35,7 +37,7 @@
|
|
|
35
37
|
| `dshmarket`(awesome-dsh-plugin 目录) | 向目录仓库提交插件 YAML,维护者审阅合并;仓库须创建满一天并带 `dsh-plugin` topic | 条目用 `tarball` 指向已发布的 Release tgz,不必先发 npm |
|
|
36
38
|
| 按 GitHub topic 自动发现的市场 | 仓库带 `dsh-plugin` topic;安装方式取决于各市场 | 标签便于发现,不等于安装已验收 |
|
|
37
39
|
| Desktop 的 `dsh-community-market` | 目录解析唯一 npm 包名,要求 npm `latest` 是稳定精确版本 | **仍不满足**:还没有稳定版,而全新包的首个版本会被 npm 强制占住 `latest`,所以它现在指向一个 alpha |
|
|
38
|
-
| npm(可选) | 包的 `repository` 字段必须指回本仓库,否则不会与条目关联 | 已声明;发布走 OIDC
|
|
40
|
+
| npm(可选) | 包的 `repository` 字段必须指回本仓库,否则不会与条目关联 | 已声明;发布走 OIDC,预览版用 `alpha` dist-tag、稳定版用 `latest` |
|
|
39
41
|
|
|
40
42
|
以上是查阅公开实现得到的规则,未在市场 UI 中实际安装本项目。
|
|
41
43
|
其他版本或来源的行为需要分别确认。收录结果由市场维护者决定。
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
url: https://github.com/cslkkl/dsh-web-annotator
|
|
2
2
|
name: cslkkl/dsh-web-annotator
|
|
3
3
|
category: browser
|
|
4
|
-
tarball: https://github.com/cslkkl/dsh-web-annotator/releases/download/v0.2.0-alpha.
|
|
4
|
+
tarball: https://github.com/cslkkl/dsh-web-annotator/releases/download/v0.2.0-alpha.13/dsh-web-annotator-0.2.0-alpha.13.tgz
|
|
5
5
|
description:
|
|
6
6
|
en: 'Annotate pages inside the existing Harness Browser: click or drag to select, comment or ask, then send marked screenshots or DOM location details to the current session. While enabled it replaces the official Browser, Chat and Layout providers; targets Harness 0.2.0-rc.2.'
|
|
7
7
|
zh: '在 Harness 原有 Browser 内批注网页:点选或框选后就地评论、提问,可把标记截图或 DOM 定位资料发给当前会话;启用期间替换官方 Browser、Chat 与 Layout 提供方,精确支持 Harness 0.2.0-rc.2。'
|
package/docs/publishing.md
CHANGED
|
@@ -28,13 +28,26 @@ Harness 安装。**发布链路自己跑这一套** —— 那是发版门禁,
|
|
|
28
28
|
**缺这一节时脚本直接失败**,不会退化成一份空正文。
|
|
29
29
|
|
|
30
30
|
```powershell
|
|
31
|
-
#
|
|
32
|
-
|
|
33
|
-
|
|
31
|
+
# 0. 本机先把能拦的先拦住 —— 门禁挂了就别推标签,白等 runner 六分钟
|
|
32
|
+
npm run check
|
|
33
|
+
|
|
34
|
+
# 1. 同批改三处:package.json 的 version、CHANGELOG 的对应一节、市场条目的 tarball 行
|
|
35
|
+
# 第三处漏改**不报错**(见 [分发说明](distribution.md) 的「条目里的 tarball 必须跟着版本走」)
|
|
36
|
+
|
|
37
|
+
# 2. 推 main,再打标签 —— 这一下触发发布
|
|
38
|
+
git push origin main
|
|
34
39
|
git tag v<版本>
|
|
35
40
|
git push origin v<版本>
|
|
36
41
|
```
|
|
37
42
|
|
|
43
|
+
⚠️ **本机若要 `npm pack`,bump 之后必须先 `npm run build:host`** —— `prepack` 会断言
|
|
44
|
+
`lib/host/bundle.json` 里的版本与 `package.json` 一致。runner 上这一步由 workflow 自己做
|
|
45
|
+
(`build:host` 排在 `npm pack` 之前),本机不会自动做,所以本机打包会以「版本不一致」失败。
|
|
46
|
+
|
|
47
|
+
**发布全程在 runner 上**:本机不需要任何 npm 凭证(OIDC 从 GitHub 签发),也不要求本机
|
|
48
|
+
处于什么状态。跑完 GitHub Release 与 npm 一起更新:**预发布版本**进 GitHub 的 Pre-release
|
|
49
|
+
与 npm 的预览 dist-tag(`alpha`…),**稳定版本**进 GitHub 的 Latest 与 npm 的 `latest`。
|
|
50
|
+
|
|
38
51
|
`release.yml` 随后在 Windows runner 上依次:核对标签与 `package.json` 一致 → `npm run check`
|
|
39
52
|
→ 真实 Chromium 存储回归 → 打补丁并按精确基线校验 → `build:host` → 窄范围类型检查
|
|
40
53
|
→ `npm pack` → 安装精确版本 Harness 并用**打包产物**跑 `test:acceptance` →
|
|
@@ -113,11 +126,25 @@ CI 验收过的那份**不同**:provider 产物里会写进检出目录名(`
|
|
|
113
126
|
npm publish <tgz 或 .> --registry=https://registry.npmjs.org --access public --tag alpha
|
|
114
127
|
```
|
|
115
128
|
|
|
129
|
+
(`--tag` 按上面的表选:预览版用 `alpha`,稳定版用 `latest`。)
|
|
130
|
+
|
|
116
131
|
装包仍走镜像(快),所以**不要**改全局 registry。
|
|
117
132
|
|
|
118
133
|
### dist-tag 与 `latest`
|
|
119
134
|
|
|
120
|
-
|
|
135
|
+
**通道由版本号推导,不写死在 workflow 里**:`npm run release:assets` 把结论写进
|
|
136
|
+
`integration/release-channel.json`,Release 与 npm 两步都只读它。
|
|
137
|
+
|
|
138
|
+
| 版本号 | GitHub Release | npm dist-tag |
|
|
139
|
+
| ---------------- | -------------- | ------------ |
|
|
140
|
+
| `0.2.0-alpha.12` | 预发布 | `alpha` |
|
|
141
|
+
| `0.2.0` | 正式版 | `latest` |
|
|
142
|
+
|
|
143
|
+
判断在 `releaseChannel()` 里,有判据钉着(`+build` 元数据不算预发布、纯数字标识落到 `next`)。
|
|
144
|
+
之所以不写在 YAML 里:早先两处写死(`--prerelease` 与 `--tag alpha`)时,**给稳定版打标签会发出
|
|
145
|
+
一个「标着预发布、npm 上仍留在旧 alpha」的版本,而日志里看不出任何异常** —— 这类判断必须可测。
|
|
146
|
+
|
|
147
|
+
用户按 `@alpha` 取预览版,按包名取稳定版。
|
|
121
148
|
|
|
122
149
|
⚠️ **全新包的第一个版本会被 npm 强制占住 `latest`** —— 包必须有一个 `latest`,
|
|
123
150
|
`--tag alpha` 拦不住这件事。所以在**还没有稳定版**期间,`latest` 会指向某个 alpha。
|
package/docs/verification.md
CHANGED
|
@@ -89,6 +89,28 @@ npm run verify:delivery
|
|
|
89
89
|
|
|
90
90
|
明细落在本地未入库的 `integration/*.json`;这里只留可复述的结论。
|
|
91
91
|
|
|
92
|
+
### 0.2.0-alpha.12(2026-10-12)
|
|
93
|
+
|
|
94
|
+
本轮**不改插件代码**(界面行为与 alpha.11 相同),改的是发布链路:新增 npm 一路,
|
|
95
|
+
认证走 OIDC Trusted Publishing,仓库里不存 token。本版同时是那条 Trusted Publisher
|
|
96
|
+
连接的激活发布 —— 新建的连接有 2 天期限,过期即不可编辑。
|
|
97
|
+
|
|
98
|
+
| 项目 | 结果 |
|
|
99
|
+
| -------------------------- | ------------------------------------------------------------------------------------------ |
|
|
100
|
+
| 发布链 | 23 步一次通过;npm 那步的注解是 `published 0.2.0-alpha.12 to npm under the alpha dist-tag` |
|
|
101
|
+
| `npm run test:acceptance` | 打包产物 + 包内提供方,**26 项 Browser 检查通过**,0 个页面错误 |
|
|
102
|
+
| `npm run verify:delivery` | 交付的 tgz 与验收时安装的运行时逐字节一致,无变更文件 |
|
|
103
|
+
| **npm ↔ Release 字节一致** | 新增判据:npm 上 `dist.shasum` 与 Release 附件的 SHA-1 **完全相同** |
|
|
104
|
+
|
|
105
|
+
最后那条是本轮真正要证的东西。alpha.11 是**在本机打的包**,与 Release 附件有 22 个文件不同 ——
|
|
106
|
+
差异只在 provider 产物里写进的检出目录名(`../harness-browser-integration/…` 对 `.host-source/…`)
|
|
107
|
+
以及三份发布后才改的文档,代码等价,但「发出去的就是验收过的那一份」在 npm 这条渠道上不成立。
|
|
108
|
+
现在由 CI 在同一个 job 里构建、验收、发布,两个渠道拿到同一份字节。
|
|
109
|
+
|
|
110
|
+
⚠️ **`latest` 会滞后**:npm 只在**全新包的首个版本**强制占用 `latest`,之后 `--tag alpha`
|
|
111
|
+
不会去动它,所以 `latest` 停在 alpha.11。这不等于「预览冒充稳定版」,但 Desktop 社区市场
|
|
112
|
+
仍不满足(它要求 `latest` 是稳定精确版本)。
|
|
113
|
+
|
|
92
114
|
### 0.2.0-alpha.11(2026-10-11)
|
|
93
115
|
|
|
94
116
|
本轮只有一个改动:输入框左侧的“批注网页”从 `variant="toolbar"` 改成 `ghost`。
|
package/lib/host/bundle.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"packageName": "dsh-web-annotator",
|
|
3
|
-
"packageVersion": "0.2.0-alpha.
|
|
3
|
+
"packageVersion": "0.2.0-alpha.13",
|
|
4
4
|
"targetHarness": "0.2.0-rc.2",
|
|
5
5
|
"upstreamCommit": "639ed015397290b3745d163aafe02ffee4aa3f84",
|
|
6
6
|
"patchSha256": "b8701aa99139478e2b17a78a3d75bc22d2bce9d6c6952d1f2551271d7211a63f",
|
package/package.json
CHANGED