dsh-web-annotator 0.2.0-alpha.12 → 0.2.0
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 +29 -0
- package/README.md +29 -3
- package/README_en.md +32 -4
- package/docs/distribution.md +7 -4
- package/docs/marketplace/cslkkl__dsh-web-annotator.yml +1 -1
- package/docs/publishing.md +31 -4
- package/docs/verification.md +65 -0
- package/lib/host/bundle.json +1 -1
- package/package.json +2 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,34 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.2.0 — 第一个稳定版
|
|
4
|
+
|
|
5
|
+
把 `0.2.0-alpha` 系列收成一个稳定版:在 Harness 原有 Browser 里点选或框选网页元素、
|
|
6
|
+
就地评论或提问,再把标记截图或 DOM 定位资料发给当前会话。发布通道按版本号推导,
|
|
7
|
+
本版因此自动进 GitHub 的 Latest 与 npm 的 `latest`(见 [发布链路](docs/publishing.md))。
|
|
8
|
+
|
|
9
|
+
**已验证**:真实宿主(Harness 0.2.0-rc.2 + 打包产物)**26 项 Browser 检查通过**、
|
|
10
|
+
0 个页面错误;交付的 tgz 与验收时安装的运行时逐字节一致;npm 与 Release 是同一份字节。
|
|
11
|
+
本机 `web` profile 也装过并确认界面正确。
|
|
12
|
+
|
|
13
|
+
⚠️ **仍未验证的边界**(不要把本版当成这些也已验过):
|
|
14
|
+
|
|
15
|
+
- **原生 Desktop**:只验到 Web composition;Electron 截图边界由 Web 测试替代。
|
|
16
|
+
- **真实模型**:验收用的是官方 replay 适配器,不是真实模型。
|
|
17
|
+
- **兼容矩阵**:明确支持的 Harness / 浏览器 / 页面组合还没定。
|
|
18
|
+
本版**精确支持 Harness 内核 0.2.0-rc.2**,其他版本未验。
|
|
19
|
+
|
|
20
|
+
逐项边界见 [验证说明](docs/verification.md)。
|
|
21
|
+
|
|
22
|
+
## 0.2.0-alpha.13 — 发布通道按版本号推导
|
|
23
|
+
|
|
24
|
+
- 发布链不再把 `--prerelease` 与 `--tag alpha` 写死在 workflow 里,改由版本号推导:
|
|
25
|
+
带预发布段的版本 → GitHub 的 Pre-release + npm 的预览 dist-tag(`alpha`…);
|
|
26
|
+
稳定版 → Latest + `latest`。判断放在可测的 `releaseChannel()` 里。
|
|
27
|
+
原先写死时,**给稳定版打标签会发出一个「标着预发布、npm 上仍留在旧 alpha」的版本,
|
|
28
|
+
而日志里看不出任何异常**。
|
|
29
|
+
- Release 正文不再把稳定版称作“预览版”:措辞跟着通道走。
|
|
30
|
+
- 插件代码与宿主提供方**没有变化**,界面行为与 alpha.12 相同。
|
|
31
|
+
|
|
3
32
|
## 0.2.0-alpha.12 — 发布链路接上 npm 的 OIDC
|
|
4
33
|
|
|
5
34
|
- 发布链路新增 npm 一路:推 `v*` 标签后,Release 建完再由 **Trusted Publishing(OIDC)**
|
package/README.md
CHANGED
|
@@ -23,14 +23,18 @@
|
|
|
23
23
|
- **多条管理**:保存后可编辑、逐条勾选、分批发送;失败保留,成功只移除本次发出去的。
|
|
24
24
|
- **草稿不丢**:按会话与完整 URL 存进 IndexedDB;发送失败或保存失败都不会清空内容。
|
|
25
25
|
|
|
26
|
-
**0.2.0
|
|
26
|
+
**0.2.0 精确支持 Harness 0.2.0-rc.2。**
|
|
27
27
|
一个预构建安装包同时包含插件和 Browser、Chat、Layout 扩展,安装后正常重启 Desktop 即可使用。
|
|
28
|
-
扩展尚未合入官方 Harness
|
|
28
|
+
扩展尚未合入官方 Harness。npm 上已有预览与稳定两个通道(`npm install dsh-web-annotator`);
|
|
29
|
+
社区目录的条目已提交,**等待维护者审阅**,所以不要据此认为市场已可搜索。
|
|
29
30
|
每个版本的安装包与验证记录由[发布链路](.github/workflows/release.yml)在标签上构建并附到 Release。
|
|
30
31
|
|
|
32
|
+
⚠️ **已验证到什么程度**:真实宿主 26 项 Browser 检查通过;但**原生 Desktop、真实模型、
|
|
33
|
+
兼容矩阵仍未验证** —— 逐项边界见[验证说明](docs/verification.md),不要把未验证当已验证。
|
|
34
|
+
|
|
31
35
|
## 安装
|
|
32
36
|
|
|
33
|
-
从 [
|
|
37
|
+
从 [Releases](https://github.com/cslkkl/dsh-web-annotator/releases) 下载最新 `dsh-web-annotator-*.tgz`,
|
|
34
38
|
在 DSH 插件管理页选择该本地包,或使用官方 CLI:
|
|
35
39
|
|
|
36
40
|
```sh
|
|
@@ -95,6 +99,28 @@ export default defineConfig({ plugins: [webAnnotator()] });
|
|
|
95
99
|
|
|
96
100
|
可运行示例见 [examples/responsive-demo](examples/responsive-demo/README.md)。
|
|
97
101
|
|
|
102
|
+
## 批注本地前端
|
|
103
|
+
|
|
104
|
+
本地文件默认在「文档预览」里打开,而批注只挂在 Browser 标签页上;Browser 又只放行 HTTP(S),
|
|
105
|
+
且 Web 版下只有带桥接的页面能被批注。所以本地项目要先变成一个 HTTP 地址:
|
|
106
|
+
|
|
107
|
+
```sh
|
|
108
|
+
npm run build # 首次需要,产出 lib/bridge.js
|
|
109
|
+
npm run annotate -- "C:\路径\到\你的项目" # 服务静态目录
|
|
110
|
+
npm run annotate -- --proxy http://127.0.0.1:5173 # 套在已有 dev server 前面
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
然后点「批注网页」,输入打印出来的 `http://127.0.0.1:4180`。
|
|
114
|
+
|
|
115
|
+
| 项目类型 | 建议 |
|
|
116
|
+
| --------------------- | ---------------------------------------------------------------- |
|
|
117
|
+
| Vite | 直接用上面的 `webAnnotator()` 插件,还有源码行列提示,不必套代理 |
|
|
118
|
+
| 纯静态 HTML/CSS/JS | `npm run annotate -- <目录>` |
|
|
119
|
+
| Next / webpack / 其他 | `npm run annotate -- --proxy <dev server 地址>` |
|
|
120
|
+
|
|
121
|
+
只监听 `127.0.0.1`,只读提供,不改被服务的项目。代理模式不透传 WebSocket,
|
|
122
|
+
所以 HMR 热更新走不了(手动刷新即可)。
|
|
123
|
+
|
|
98
124
|
## 安全与边界
|
|
99
125
|
|
|
100
126
|
- 页面里的文字、样式和源码标记一律是**引用资料**,不是指令。
|
package/README_en.md
CHANGED
|
@@ -33,17 +33,22 @@ Click or drag inside the Browser tab Harness already has, then comment or ask th
|
|
|
33
33
|
- **Drafts survive**: notes are stored per session and full URL in IndexedDB. Neither a failed send nor a
|
|
34
34
|
failed save clears them.
|
|
35
35
|
|
|
36
|
-
**0.2.0
|
|
36
|
+
**0.2.0 targets exactly Harness 0.2.0-rc.2.**
|
|
37
37
|
One prebuilt package ships the plugin together with the Browser, Chat and Layout extensions, so a normal
|
|
38
|
-
restart of Desktop is all it takes. The extensions are not part of the official Harness yet
|
|
39
|
-
|
|
38
|
+
restart of Desktop is all it takes. The extensions are not part of the official Harness yet. npm carries
|
|
39
|
+
both channels (`npm install dsh-web-annotator`); the community directory entry has been submitted and is
|
|
40
|
+
**awaiting review**, so do not treat the market as searchable yet.
|
|
40
41
|
Each release's package and verification record are built by the
|
|
41
42
|
[release workflow](.github/workflows/release.yml) on the tag and attached to the Release.
|
|
42
43
|
|
|
44
|
+
⚠️ **How far this is verified**: 26 Browser checks pass against a real host, but **native Desktop, a real
|
|
45
|
+
model and the compatibility matrix remain unverified** — see the
|
|
46
|
+
[verification notes](docs/verification.md) for each boundary, and do not read unverified as verified.
|
|
47
|
+
|
|
43
48
|
## Install
|
|
44
49
|
|
|
45
50
|
Download the latest `dsh-web-annotator-*.tgz` from the
|
|
46
|
-
[
|
|
51
|
+
[releases](https://github.com/cslkkl/dsh-web-annotator/releases), pick it in the DSH plugin
|
|
47
52
|
manager, or use the official CLI:
|
|
48
53
|
|
|
49
54
|
```sh
|
|
@@ -116,6 +121,29 @@ anything else.
|
|
|
116
121
|
|
|
117
122
|
A runnable example is in [examples/responsive-demo](examples/responsive-demo/README.md).
|
|
118
123
|
|
|
124
|
+
## Annotate a local frontend
|
|
125
|
+
|
|
126
|
+
A local file opens in Document Preview, while annotation lives on the Browser tab; the Browser accepts
|
|
127
|
+
HTTP(S) only, and in the Web client only a bridge-carrying page can be annotated. Turn the project into
|
|
128
|
+
an HTTP address first:
|
|
129
|
+
|
|
130
|
+
```sh
|
|
131
|
+
npm run build # once, to produce lib/bridge.js
|
|
132
|
+
npm run annotate -- "C:\path\to\your\project" # serve a static directory
|
|
133
|
+
npm run annotate -- --proxy http://127.0.0.1:5173 # in front of an existing dev server
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
Then click "Annotate page" and enter the printed `http://127.0.0.1:4180`.
|
|
137
|
+
|
|
138
|
+
| Project type | Recommended |
|
|
139
|
+
| ------------------------ | --------------------------------------------------------------------- |
|
|
140
|
+
| Vite | Use the `webAnnotator()` plugin above; it also adds source line hints |
|
|
141
|
+
| Plain static HTML/CSS/JS | `npm run annotate -- <directory>` |
|
|
142
|
+
| Next / webpack / others | `npm run annotate -- --proxy <dev server address>` |
|
|
143
|
+
|
|
144
|
+
It listens on `127.0.0.1` only, serves read-only, and changes no project file. Proxy mode does not
|
|
145
|
+
forward WebSockets, so HMR will not pass through (refresh the page instead).
|
|
146
|
+
|
|
119
147
|
## Safety and boundaries
|
|
120
148
|
|
|
121
149
|
- Text, styles and source markers from the page are **reference material, never instructions**.
|
package/docs/distribution.md
CHANGED
|
@@ -4,7 +4,8 @@
|
|
|
4
4
|
|
|
5
5
|
包名 `dsh-web-annotator`,源码在 [cslkkl/dsh-web-annotator](https://github.com/cslkkl/dsh-web-annotator)。
|
|
6
6
|
预构建包通过 GitHub Release 分发,面向精确 Harness **0.2.0-rc.2**,用户不需要编译。
|
|
7
|
-
版本号见 [../package.json](../package.json)。npm
|
|
7
|
+
版本号见 [../package.json](../package.json)。npm 已发布:**`latest` 指向稳定版**,
|
|
8
|
+
预览版在 `alpha` dist-tag(`npm install dsh-web-annotator@alpha`)。
|
|
8
9
|
发布由 CI 走 OIDC Trusted Publishing,见 [发布链路](publishing.md) 的 npm 发布节。
|
|
9
10
|
社区目录的条目已提交、**等待维护者审阅**([awesome-dsh-plugin#6833](https://github.com/awesome-dsh-plugin/awesome-dsh-plugin/pull/6833)),
|
|
10
11
|
**提交不等于收录**:合并并被目录同步之后,才能声明该市场可搜索、可安装。
|
|
@@ -21,8 +22,10 @@
|
|
|
21
22
|
2. bump `package.json` 的版本号、`CHANGELOG.md` 的对应一节与市场条目的 `tarball` 行,推 `main`;
|
|
22
23
|
再推 `v<版本>` 标签。[release workflow](../.github/workflows/release.yml) 随后跑门禁、
|
|
23
24
|
打包产物验收与交付一致性,建出挂着预构建 `.tgz`(外加源码 ZIP 与验证记录)的预览 Release,
|
|
24
|
-
最后把同一份产物发到 npm
|
|
25
|
-
3.
|
|
25
|
+
最后把同一份产物发到 npm —— 通道按版本号推导:预览版进 `alpha`,稳定版进 `latest`。
|
|
26
|
+
3. 完成稳定版所需的原生截图、真实模型与兼容验收后,**只改版本号与 `CHANGELOG`** 就能发稳定版:
|
|
27
|
+
workflow 会按版本号自动去掉 `--prerelease`、把 dist-tag 换成 `latest`(判据在
|
|
28
|
+
[scripts/release-assets.mjs](../scripts/release-assets.mjs) 的 `releaseChannel()`)。
|
|
26
29
|
4. 向社区目录提交 [marketplace 条目](marketplace/cslkkl__dsh-web-annotator.yml)。
|
|
27
30
|
合并并被目录同步后,才能声明该市场可搜索、可安装。
|
|
28
31
|
5. 在新 Profile 中走一遍搜索、安装、重启、批注、卸载,记录精确市场与宿主版本。
|
|
@@ -35,7 +38,7 @@
|
|
|
35
38
|
| `dshmarket`(awesome-dsh-plugin 目录) | 向目录仓库提交插件 YAML,维护者审阅合并;仓库须创建满一天并带 `dsh-plugin` topic | 条目用 `tarball` 指向已发布的 Release tgz,不必先发 npm |
|
|
36
39
|
| 按 GitHub topic 自动发现的市场 | 仓库带 `dsh-plugin` topic;安装方式取决于各市场 | 标签便于发现,不等于安装已验收 |
|
|
37
40
|
| Desktop 的 `dsh-community-market` | 目录解析唯一 npm 包名,要求 npm `latest` 是稳定精确版本 | **仍不满足**:还没有稳定版,而全新包的首个版本会被 npm 强制占住 `latest`,所以它现在指向一个 alpha |
|
|
38
|
-
| npm(可选) | 包的 `repository` 字段必须指回本仓库,否则不会与条目关联 | 已声明;发布走 OIDC
|
|
41
|
+
| npm(可选) | 包的 `repository` 字段必须指回本仓库,否则不会与条目关联 | 已声明;发布走 OIDC,预览版用 `alpha` dist-tag、稳定版用 `latest` |
|
|
39
42
|
|
|
40
43
|
以上是查阅公开实现得到的规则,未在市场 UI 中实际安装本项目。
|
|
41
44
|
其他版本或来源的行为需要分别确认。收录结果由市场维护者决定。
|
|
@@ -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
|
|
4
|
+
tarball: https://github.com/cslkkl/dsh-web-annotator/releases/download/v0.2.0/dsh-web-annotator-0.2.0.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,71 @@ npm run verify:delivery
|
|
|
89
89
|
|
|
90
90
|
明细落在本地未入库的 `integration/*.json`;这里只留可复述的结论。
|
|
91
91
|
|
|
92
|
+
### 0.2.0(2026-10-12)
|
|
93
|
+
|
|
94
|
+
第一个稳定版。改动只有版本号与文档:发布通道按版本号推导,所以本版自动进 GitHub 的 **Latest**
|
|
95
|
+
与 npm 的 **`latest`**(不需要改 workflow —— 那正是上一版改动的目的)。
|
|
96
|
+
|
|
97
|
+
| 项目 | 结果 |
|
|
98
|
+
| ------------------------- | ------------------------------------------------------------ |
|
|
99
|
+
| 发布链 | 通过;通道判断为 `prerelease=false / npmTag=latest` |
|
|
100
|
+
| `npm run test:acceptance` | **26 项 Browser 检查通过**,0 个页面错误 |
|
|
101
|
+
| npm ↔ Release 字节一致 | 由同一次 CI 构建与验收,逐字节相同 |
|
|
102
|
+
| GitHub 的 Latest | 本版之后 `/releases/latest` 才第一次能解析(此前全是预发布) |
|
|
103
|
+
|
|
104
|
+
⚠️ **本版不声称下面三项已验证** —— 它们正是"稳定版"这个词最容易被误读的地方,逐项写清:
|
|
105
|
+
|
|
106
|
+
| 边界 | 状态 |
|
|
107
|
+
| ------------ | -------------------------------------------------------------------- |
|
|
108
|
+
| 原生 Desktop | **未验证**;只验到 Web composition,Electron 截图边界由 Web 测试替代 |
|
|
109
|
+
| 真实模型 | **未验证**;验收用官方 replay 适配器 |
|
|
110
|
+
| 兼容矩阵 | **未定**;精确支持 Harness 0.2.0-rc.2,其他版本未验 |
|
|
111
|
+
|
|
112
|
+
### 0.2.0-alpha.13(2026-10-12)
|
|
113
|
+
|
|
114
|
+
本轮把**发布通道改成按版本号推导**:带预发布段的版本 → GitHub 的 Pre-release + npm 的预览
|
|
115
|
+
dist-tag;稳定版 → Latest + `latest`。判断在可测的 `releaseChannel()` 里,判据见
|
|
116
|
+
[tests/release-notes.test.ts](../tests/release-notes.test.ts)。
|
|
117
|
+
|
|
118
|
+
原先两处写死在 workflow 里(`--prerelease` 与 `--tag alpha`),后果是**给稳定版打标签会发出
|
|
119
|
+
一个「标着预发布、npm 上仍留在旧 alpha」的版本,而日志里看不出任何异常** —— 这类判断必须可测,
|
|
120
|
+
所以它从 YAML 搬进了脚本。
|
|
121
|
+
|
|
122
|
+
| 项目 | 结果 |
|
|
123
|
+
| ------------------------- | ---------------------------------------------------------------------------------------- |
|
|
124
|
+
| 发布链 | 通过;注解 `published 0.2.0-alpha.13 to npm under the alpha dist-tag` |
|
|
125
|
+
| `npm run test:acceptance` | **26 项 Browser 检查通过**,0 个页面错误(本机也跑了一遍,同样 26 项) |
|
|
126
|
+
| **通道按版本号生效** | Release `prerelease=true`、npm `alpha` 指向 alpha.13,而 `latest` **未被抢**(仍在旧版) |
|
|
127
|
+
| npm ↔ Release 字节一致 | `18e02e6a…`(两处 SHA-1 相同) |
|
|
128
|
+
|
|
129
|
+
⚠️ **第一次运行在验收步骤失败,第二次通过,其间没有改任何代码。** 失败原因是浏览器控制台
|
|
130
|
+
报了一个 `404`,而 Chrome 的那条消息**不带 URL**,所以当时无法判断是哪个资源。这暴露的是
|
|
131
|
+
**诊断缺陷**而不是产品缺陷:现在脚本会记录 4xx/5xx 响应的 URL,断言消息会把它带出来,
|
|
132
|
+
`report.json` 里也留一份 `failedResponses`(通过时也留,好让"断言之后才到达的偶发 404"有痕迹)。
|
|
133
|
+
判定仍是 `errors` 必须为空 —— 只加证据,不放宽标准。
|
|
134
|
+
|
|
135
|
+
### 0.2.0-alpha.12(2026-10-12)
|
|
136
|
+
|
|
137
|
+
本轮**不改插件代码**(界面行为与 alpha.11 相同),改的是发布链路:新增 npm 一路,
|
|
138
|
+
认证走 OIDC Trusted Publishing,仓库里不存 token。本版同时是那条 Trusted Publisher
|
|
139
|
+
连接的激活发布 —— 新建的连接有 2 天期限,过期即不可编辑。
|
|
140
|
+
|
|
141
|
+
| 项目 | 结果 |
|
|
142
|
+
| -------------------------- | ------------------------------------------------------------------------------------------ |
|
|
143
|
+
| 发布链 | 23 步一次通过;npm 那步的注解是 `published 0.2.0-alpha.12 to npm under the alpha dist-tag` |
|
|
144
|
+
| `npm run test:acceptance` | 打包产物 + 包内提供方,**26 项 Browser 检查通过**,0 个页面错误 |
|
|
145
|
+
| `npm run verify:delivery` | 交付的 tgz 与验收时安装的运行时逐字节一致,无变更文件 |
|
|
146
|
+
| **npm ↔ Release 字节一致** | 新增判据:npm 上 `dist.shasum` 与 Release 附件的 SHA-1 **完全相同** |
|
|
147
|
+
|
|
148
|
+
最后那条是本轮真正要证的东西。alpha.11 是**在本机打的包**,与 Release 附件有 22 个文件不同 ——
|
|
149
|
+
差异只在 provider 产物里写进的检出目录名(`../harness-browser-integration/…` 对 `.host-source/…`)
|
|
150
|
+
以及三份发布后才改的文档,代码等价,但「发出去的就是验收过的那一份」在 npm 这条渠道上不成立。
|
|
151
|
+
现在由 CI 在同一个 job 里构建、验收、发布,两个渠道拿到同一份字节。
|
|
152
|
+
|
|
153
|
+
⚠️ **`latest` 会滞后**:npm 只在**全新包的首个版本**强制占用 `latest`,之后 `--tag alpha`
|
|
154
|
+
不会去动它,所以 `latest` 停在 alpha.11。这不等于「预览冒充稳定版」,但 Desktop 社区市场
|
|
155
|
+
仍不满足(它要求 `latest` 是稳定精确版本)。
|
|
156
|
+
|
|
92
157
|
### 0.2.0-alpha.11(2026-10-11)
|
|
93
158
|
|
|
94
159
|
本轮只有一个改动:输入框左侧的“批注网页”从 `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
|
|
3
|
+
"packageVersion": "0.2.0",
|
|
4
4
|
"targetHarness": "0.2.0-rc.2",
|
|
5
5
|
"upstreamCommit": "639ed015397290b3745d163aafe02ffee4aa3f84",
|
|
6
6
|
"patchSha256": "b8701aa99139478e2b17a78a3d75bc22d2bce9d6c6952d1f2551271d7211a63f",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dsh-web-annotator",
|
|
3
|
-
"version": "0.2.0
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"description": "Click or drag to annotate pages in the existing DeepSeek Harness Browser and ask the current agent.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -62,6 +62,7 @@
|
|
|
62
62
|
"check:doc-paths": "node scripts/check-doc-paths.mjs",
|
|
63
63
|
"verify:artifacts": "node scripts/verify-artifacts.mjs",
|
|
64
64
|
"demo": "vite --config examples/responsive-demo/vite.config.ts",
|
|
65
|
+
"annotate": "node scripts/annotate-serve.mjs",
|
|
65
66
|
"test:browser": "node scripts/annotation-acceptance.mjs",
|
|
66
67
|
"test:harness": "node scripts/harness-replay-test.mjs",
|
|
67
68
|
"test:acceptance": "node scripts/annotation-acceptance.mjs",
|