dsh-web-annotator 0.2.0-alpha.13 → 0.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 +34 -0
- package/README.md +63 -22
- package/README_en.md +57 -5
- package/docs/distribution.md +18 -3
- package/docs/images/annotation-browser.png +0 -0
- package/docs/images/annotation-element.png +0 -0
- package/docs/images/annotation-entry.png +0 -0
- package/docs/images/annotation-expanded.png +0 -0
- package/docs/images/annotation-image.png +0 -0
- package/docs/images/annotation-message.png +0 -0
- package/docs/images/annotation-region.png +0 -0
- package/docs/marketplace/cslkkl__dsh-web-annotator.yml +1 -1
- package/docs/verification.md +43 -0
- package/lib/host/bundle.json +1 -1
- package/package.json +2 -1
- package/screenshots.json +5 -3
- package/docs/images/annotation-expanded-dark.png +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,39 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.2.1 — 文档与截图重做
|
|
4
|
+
|
|
5
|
+
**插件行为没有变化**,界面与 0.2.0 完全相同;本版只为把 README 修对。
|
|
6
|
+
|
|
7
|
+
- **截图全部换新**。旧图停在 2026-10-04,早于输入框入口改成透明按钮,
|
|
8
|
+
所以文档里展示的是用户已经拿不到的界面;其中一张还带着已退休的产品名与一条失败提示
|
|
9
|
+
(那是验收脚本故意中断提交留下的横幅,适合当证据、不适合当宣传图)。
|
|
10
|
+
新图按当前版本重截,并逐张裁到对应段落讲的那块区域 —— 整窗截图缩进文档栏后看不清。
|
|
11
|
+
- **排版**:顶部加一句话定位与安装命令;“三步走”(选 → 写 → 发)逐张配图;
|
|
12
|
+
“它能做什么”由七条长句改为表格。
|
|
13
|
+
- 修掉一个由换图引入的问题:npm 把相对路径的图重写成
|
|
14
|
+
`raw.githubusercontent.com/<repo>/HEAD/...`,取的是**仓库 HEAD** 而不是包内副本,
|
|
15
|
+
所以删掉「已发布 README 仍引用的文件名」会让线上页面出现破图。文件名已沿用,教训记进
|
|
16
|
+
[AGENTS.md](AGENTS.md) 的「活跃坑」。
|
|
17
|
+
|
|
18
|
+
## 0.2.0 — 第一个稳定版
|
|
19
|
+
|
|
20
|
+
把 `0.2.0-alpha` 系列收成一个稳定版:在 Harness 原有 Browser 里点选或框选网页元素、
|
|
21
|
+
就地评论或提问,再把标记截图或 DOM 定位资料发给当前会话。发布通道按版本号推导,
|
|
22
|
+
本版因此自动进 GitHub 的 Latest 与 npm 的 `latest`(见 [发布链路](docs/publishing.md))。
|
|
23
|
+
|
|
24
|
+
**已验证**:真实宿主(Harness 0.2.0-rc.2 + 打包产物)**26 项 Browser 检查通过**、
|
|
25
|
+
0 个页面错误;交付的 tgz 与验收时安装的运行时逐字节一致;npm 与 Release 是同一份字节。
|
|
26
|
+
本机 `web` profile 也装过并确认界面正确。
|
|
27
|
+
|
|
28
|
+
⚠️ **仍未验证的边界**(不要把本版当成这些也已验过):
|
|
29
|
+
|
|
30
|
+
- **原生 Desktop**:只验到 Web composition;Electron 截图边界由 Web 测试替代。
|
|
31
|
+
- **真实模型**:验收用的是官方 replay 适配器,不是真实模型。
|
|
32
|
+
- **兼容矩阵**:明确支持的 Harness / 浏览器 / 页面组合还没定。
|
|
33
|
+
本版**精确支持 Harness 内核 0.2.0-rc.2**,其他版本未验。
|
|
34
|
+
|
|
35
|
+
逐项边界见 [验证说明](docs/verification.md)。
|
|
36
|
+
|
|
3
37
|
## 0.2.0-alpha.13 — 发布通道按版本号推导
|
|
4
38
|
|
|
5
39
|
- 发布链不再把 `--prerelease` 与 `--tag alpha` 写死在 workflow 里,改由版本号推导:
|
package/README.md
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
# DSH Web Annotator · 网页批注与提问
|
|
2
2
|
|
|
3
|
-
在 Harness
|
|
3
|
+
在 DeepSeek Harness **原有的 Browser 标签页**里点选或框选网页,就地写评论、向当前 Agent 提问,
|
|
4
|
+
再把标记截图或 DOM 定位资料发给当前会话。
|
|
4
5
|
|
|
5
6
|
[](https://github.com/cslkkl/dsh-web-annotator/actions/workflows/ci.yml)
|
|
6
7
|
[](LICENSE)
|
|
@@ -9,28 +10,44 @@
|
|
|
9
10
|
|
|
10
11
|
**简体中文** · [English](README_en.md)
|
|
11
12
|
|
|
12
|
-

|
|
14
|
+
|
|
15
|
+
```sh
|
|
16
|
+
# 装这一个包,然后正常退出并重开 Desktop
|
|
17
|
+
dsh plugin --profile desktop add --ignore-scripts /absolute/path/dsh-web-annotator-<版本>.tgz
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
包内已有运行产物,不需要编译,也不需要放行构建脚本。完整说明见[安装](#安装)。
|
|
21
|
+
|
|
22
|
+
## 三步走
|
|
23
|
+
|
|
24
|
+
**1 · 选** —— 点元素、点空白位置,或拖动框选矩形区域。
|
|
25
|
+
|
|
26
|
+

|
|
27
|
+
|
|
28
|
+
**2 · 写** —— 在选区旁写评论或提问;展开同一张卡片可看标签、颜色、字体,也能直接改。
|
|
29
|
+
|
|
30
|
+

|
|
31
|
+
|
|
32
|
+
**3 · 发** —— 勾选要发的批注,选发送方式,预览后发到当前会话;聊天里收成“N 条注释”。
|
|
33
|
+
|
|
34
|
+

|
|
13
35
|
|
|
14
36
|
## 它能做什么
|
|
15
37
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
**0.2.0-alpha 是预览版,精确支持 Harness 0.2.0-rc.2。**
|
|
27
|
-
一个预构建安装包同时包含插件和 Browser、Chat、Layout 扩展,安装后正常重启 Desktop 即可使用。
|
|
28
|
-
扩展尚未合入官方 Harness;npm 尚未发布,插件市场尚未收录。
|
|
29
|
-
每个版本的安装包与验证记录由[发布链路](.github/workflows/release.yml)在标签上构建并附到 Release。
|
|
38
|
+
| 能力 | 说明 |
|
|
39
|
+
| -------------------- | --------------------------------------------------------------------------------- |
|
|
40
|
+
| **就地批注** | 点选元素、点击空白位置或拖动框选,在选区旁写评论或提问 |
|
|
41
|
+
| **边看边改属性** | 展开同一张卡片调颜色、字体、间距,改动随批注交给 Agent,保存前不改写网页 |
|
|
42
|
+
| **临时操作网页** | 按住空格与网页交互,松开回到批注;输入框里的空格照常打字 |
|
|
43
|
+
| **带图或带定位资料** | 截图用蓝框或蓝圈标出所选位置,并叠加与附图一致的序号徽标;也可只发坐标与 DOM 证据 |
|
|
44
|
+
| **聊天里一眼看清** | 批注消息默认只显示“N 条注释”,展开后逐条给出序号、目标元素与你的评论/提问 |
|
|
45
|
+
| **多条管理** | 保存后可编辑、逐条勾选、分批发送;失败保留,成功只移除本次发出去的 |
|
|
46
|
+
| **草稿不丢** | 按会话与完整 URL 存进 IndexedDB;发送或保存失败都不会清空内容 |
|
|
30
47
|
|
|
31
48
|
## 安装
|
|
32
49
|
|
|
33
|
-
从 [
|
|
50
|
+
从 [Releases](https://github.com/cslkkl/dsh-web-annotator/releases) 下载最新 `dsh-web-annotator-*.tgz`,
|
|
34
51
|
在 DSH 插件管理页选择该本地包,或使用官方 CLI:
|
|
35
52
|
|
|
36
53
|
```sh
|
|
@@ -38,18 +55,20 @@ dsh plugin --profile desktop add --ignore-scripts /absolute/path/dsh-web-annotat
|
|
|
38
55
|
```
|
|
39
56
|
|
|
40
57
|
只装这一个包,然后正常退出并重开 Desktop。使用其他 Profile 时替换 `desktop`。
|
|
41
|
-
包内已有运行产物,不需要用户编译或放行构建脚本。
|
|
42
58
|
|
|
43
59
|
该 bundle 在启用期间**替换官方 Browser、Chat 和 Layout 提供方**。
|
|
44
60
|
请先确认 Harness 内核是 **0.2.0-rc.2**,不要在其他版本或另一套同类提供方上混装。
|
|
45
61
|
卸载整个 bundle 会撤销这些替换,重启后恢复官方提供方。
|
|
46
62
|
|
|
47
63
|
旧本地预览用户先移除 `dsh-layout-care` 和 `dsh-layout-care-browser-preview` 再安装新包。
|
|
48
|
-
已有批注会自动迁移。详见
|
|
64
|
+
已有批注会自动迁移。详见[安装和市场发布](docs/distribution.md)。
|
|
49
65
|
|
|
50
66
|
## 使用方式
|
|
51
67
|
|
|
52
68
|
1. 在当前会话点击“批注网页”,打开 Harness 原有的 Browser。
|
|
69
|
+
|
|
70
|
+

|
|
71
|
+
|
|
53
72
|
2. 输入网页地址,点击工具栏中“刷新”左边的“批注网页”。
|
|
54
73
|
3. 点击元素或空白位置,或者拖动鼠标框选区域,在选区旁输入内容。
|
|
55
74
|
4. 浮层默认只有选项图标、输入区和圆形 ✓。点左侧图标展开属性卡片,查看标签、颜色、字体等,
|
|
@@ -58,13 +77,13 @@ dsh plugin --profile desktop add --ignore-scripts /absolute/path/dsh-web-annotat
|
|
|
58
77
|
5. 需要操作网页时按住空格键,松开回到批注。
|
|
59
78
|
6. 保存后可编辑文字,勾选本次要发送的批注,再选择发送方式,预览后发送到当前会话。
|
|
60
79
|
|
|
61
|
-

|
|
62
|
-
|
|
63
80
|
图片通过 Harness 的正式图片附件流程发送。图片模式只发批注正文、网页 URL 和对应截图;
|
|
64
81
|
详细模式保留坐标与 DOM 证据,但聊天默认只显示“N 条注释”,点击展开逐条卡片(序号、目标元素、
|
|
65
82
|
评论或提问),再点“查看定位资料”展开完整请求;附件截图上的序号与卡片序号一致。
|
|
66
83
|
模型能否直接识别图片取决于当前模型的图片能力。
|
|
67
84
|
|
|
85
|
+

|
|
86
|
+
|
|
68
87
|
## 当前支持范围
|
|
69
88
|
|
|
70
89
|
| 能力 | 状态 |
|
|
@@ -79,7 +98,7 @@ dsh plugin --profile desktop add --ignore-scripts /absolute/path/dsh-web-annotat
|
|
|
79
98
|
| 其他远程页面 | 逐个页面分别验收;Web 仍受跨源与嵌入限制 |
|
|
80
99
|
| iframe 内部与 closed Shadow DOM 的子元素 | 只定位外层载体,不能穿透 |
|
|
81
100
|
|
|
82
|
-
逐项的验证边界与手工清单见
|
|
101
|
+
逐项的验证边界与手工清单见[验证说明](docs/verification.md)。
|
|
83
102
|
|
|
84
103
|
## 接入自己的 Vite 页面
|
|
85
104
|
|
|
@@ -95,6 +114,28 @@ export default defineConfig({ plugins: [webAnnotator()] });
|
|
|
95
114
|
|
|
96
115
|
可运行示例见 [examples/responsive-demo](examples/responsive-demo/README.md)。
|
|
97
116
|
|
|
117
|
+
## 批注本地前端
|
|
118
|
+
|
|
119
|
+
本地文件默认在「文档预览」里打开,而批注只挂在 Browser 标签页上;Browser 又只放行 HTTP(S),
|
|
120
|
+
且 Web 版下只有带桥接的页面能被批注。所以本地项目要先变成一个 HTTP 地址:
|
|
121
|
+
|
|
122
|
+
```sh
|
|
123
|
+
npm run build # 首次需要,产出 lib/bridge.js
|
|
124
|
+
npm run annotate -- "C:\路径\到\你的项目" # 服务静态目录
|
|
125
|
+
npm run annotate -- --proxy http://127.0.0.1:5173 # 套在已有 dev server 前面
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
然后点「批注网页」,输入打印出来的 `http://127.0.0.1:4180`。
|
|
129
|
+
|
|
130
|
+
| 项目类型 | 建议 |
|
|
131
|
+
| --------------------- | ---------------------------------------------------------------- |
|
|
132
|
+
| Vite | 直接用上面的 `webAnnotator()` 插件,还有源码行列提示,不必套代理 |
|
|
133
|
+
| 纯静态 HTML/CSS/JS | `npm run annotate -- <目录>` |
|
|
134
|
+
| Next / webpack / 其他 | `npm run annotate -- --proxy <dev server 地址>` |
|
|
135
|
+
|
|
136
|
+
只监听 `127.0.0.1`,只读提供,不改被服务的项目。代理模式不透传 WebSocket,
|
|
137
|
+
所以 HMR 热更新走不了(手动刷新即可)。
|
|
138
|
+
|
|
98
139
|
## 安全与边界
|
|
99
140
|
|
|
100
141
|
- 页面里的文字、样式和源码标记一律是**引用资料**,不是指令。
|
package/README_en.md
CHANGED
|
@@ -12,7 +12,31 @@ Click or drag inside the Browser tab Harness already has, then comment or ask th
|
|
|
12
12
|
> The maintainer documentation is written in Chinese. This file mirrors [README.md](README.md) item by
|
|
13
13
|
> item; every document it links to is Chinese-only.
|
|
14
14
|
|
|
15
|
-

|
|
16
|
+
|
|
17
|
+
```sh
|
|
18
|
+
# Install this one package, then quit and reopen Desktop normally
|
|
19
|
+
dsh plugin --profile desktop add --ignore-scripts /absolute/path/dsh-web-annotator-<version>.tgz
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
The package ships its build output, so there is nothing to compile and no build script to allow.
|
|
23
|
+
Full instructions under [Install](#install).
|
|
24
|
+
|
|
25
|
+
## Three steps
|
|
26
|
+
|
|
27
|
+
**1 · Pick** — click an element, click empty space, or drag a rectangle.
|
|
28
|
+
|
|
29
|
+

|
|
30
|
+
|
|
31
|
+
**2 · Write** — comment or ask next to the selection; expand the same card to read the tag, colour
|
|
32
|
+
and font, and change them.
|
|
33
|
+
|
|
34
|
+

|
|
35
|
+
|
|
36
|
+
**3 · Send** — tick the notes to send, choose how, preview, then send to the session; the chat
|
|
37
|
+
collapses them into one "N notes" chip.
|
|
38
|
+
|
|
39
|
+

|
|
16
40
|
|
|
17
41
|
## What it does
|
|
18
42
|
|
|
@@ -33,17 +57,22 @@ Click or drag inside the Browser tab Harness already has, then comment or ask th
|
|
|
33
57
|
- **Drafts survive**: notes are stored per session and full URL in IndexedDB. Neither a failed send nor a
|
|
34
58
|
failed save clears them.
|
|
35
59
|
|
|
36
|
-
**0.2.0
|
|
60
|
+
**0.2.0 targets exactly Harness 0.2.0-rc.2.**
|
|
37
61
|
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
|
-
|
|
62
|
+
restart of Desktop is all it takes. The extensions are not part of the official Harness yet. npm carries
|
|
63
|
+
both channels (`npm install dsh-web-annotator`); the community directory entry has been submitted and is
|
|
64
|
+
**awaiting review**, so do not treat the market as searchable yet.
|
|
40
65
|
Each release's package and verification record are built by the
|
|
41
66
|
[release workflow](.github/workflows/release.yml) on the tag and attached to the Release.
|
|
42
67
|
|
|
68
|
+
⚠️ **How far this is verified**: 26 Browser checks pass against a real host, but **native Desktop, a real
|
|
69
|
+
model and the compatibility matrix remain unverified** — see the
|
|
70
|
+
[verification notes](docs/verification.md) for each boundary, and do not read unverified as verified.
|
|
71
|
+
|
|
43
72
|
## Install
|
|
44
73
|
|
|
45
74
|
Download the latest `dsh-web-annotator-*.tgz` from the
|
|
46
|
-
[
|
|
75
|
+
[releases](https://github.com/cslkkl/dsh-web-annotator/releases), pick it in the DSH plugin
|
|
47
76
|
manager, or use the official CLI:
|
|
48
77
|
|
|
49
78
|
```sh
|
|
@@ -116,6 +145,29 @@ anything else.
|
|
|
116
145
|
|
|
117
146
|
A runnable example is in [examples/responsive-demo](examples/responsive-demo/README.md).
|
|
118
147
|
|
|
148
|
+
## Annotate a local frontend
|
|
149
|
+
|
|
150
|
+
A local file opens in Document Preview, while annotation lives on the Browser tab; the Browser accepts
|
|
151
|
+
HTTP(S) only, and in the Web client only a bridge-carrying page can be annotated. Turn the project into
|
|
152
|
+
an HTTP address first:
|
|
153
|
+
|
|
154
|
+
```sh
|
|
155
|
+
npm run build # once, to produce lib/bridge.js
|
|
156
|
+
npm run annotate -- "C:\path\to\your\project" # serve a static directory
|
|
157
|
+
npm run annotate -- --proxy http://127.0.0.1:5173 # in front of an existing dev server
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
Then click "Annotate page" and enter the printed `http://127.0.0.1:4180`.
|
|
161
|
+
|
|
162
|
+
| Project type | Recommended |
|
|
163
|
+
| ------------------------ | --------------------------------------------------------------------- |
|
|
164
|
+
| Vite | Use the `webAnnotator()` plugin above; it also adds source line hints |
|
|
165
|
+
| Plain static HTML/CSS/JS | `npm run annotate -- <directory>` |
|
|
166
|
+
| Next / webpack / others | `npm run annotate -- --proxy <dev server address>` |
|
|
167
|
+
|
|
168
|
+
It listens on `127.0.0.1` only, serves read-only, and changes no project file. Proxy mode does not
|
|
169
|
+
forward WebSockets, so HMR will not pass through (refresh the page instead).
|
|
170
|
+
|
|
119
171
|
## Safety and boundaries
|
|
120
172
|
|
|
121
173
|
- 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
|
**提交不等于收录**:合并并被目录同步之后,才能声明该市场可搜索、可安装。
|
|
@@ -48,8 +49,22 @@
|
|
|
48
49
|
[marketplace 条目](marketplace/cslkkl__dsh-web-annotator.yml) 的 `tarball` 钉的是**具体标签**
|
|
49
50
|
(`releases/download/v<版本>/…`),不是 `releases/latest/download/…`:
|
|
50
51
|
|
|
51
|
-
- **为什么不能用 `latest
|
|
52
|
-
|
|
52
|
+
- **为什么不能用 `latest`**:`latest/download/<文件名>` 只会在**当前 Latest 那个 Release** 里
|
|
53
|
+
找同名资产,而安装包的文件名里带版本号 —— 所以它只在文件名碰巧属于当前 Latest 时可用。
|
|
54
|
+
发下一版时 Latest 一移动,旧文件名就 404:
|
|
55
|
+
|
|
56
|
+
```
|
|
57
|
+
Latest = v0.2.0 时的资产名:
|
|
58
|
+
dsh-web-annotator-0.2.0.tgz ← 滚动链接能找到
|
|
59
|
+
dsh-web-annotator-source-0.2.0.zip
|
|
60
|
+
dsh-web-annotator-verification-0.2.0.json
|
|
61
|
+
换成 v0.2.1 之后,上面这些名字全部 404。
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
也就是说滚动链接不会「一劳永逸」,只会在发下一版时**静默 404**。
|
|
65
|
+
(判据是 `gh api repos/<owner>/<repo>/releases/latest --jq '.assets[].name'` ——
|
|
66
|
+
不依赖网络实测,只看资产清单就能判定。)
|
|
67
|
+
|
|
53
68
|
- **代价**:钉标签意味着**每发一版都要同步改这一行**,否则市场指向的是旧包。
|
|
54
69
|
上游的每日探测会在 URL 404 时把 tarball 从站点上摘掉(不会报错,只是静默回落成源码安装),
|
|
55
70
|
所以这行漏改不会有红信号 —— 判据是发版后手跑一次
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -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.
|
|
4
|
+
tarball: https://github.com/cslkkl/dsh-web-annotator/releases/download/v0.2.1/dsh-web-annotator-0.2.1.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/verification.md
CHANGED
|
@@ -89,6 +89,49 @@ 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
|
+
|
|
92
135
|
### 0.2.0-alpha.12(2026-10-12)
|
|
93
136
|
|
|
94
137
|
本轮**不改插件代码**(界面行为与 alpha.11 相同),改的是发布链路:新增 npm 一路,
|
package/lib/host/bundle.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"packageName": "dsh-web-annotator",
|
|
3
|
-
"packageVersion": "0.2.
|
|
3
|
+
"packageVersion": "0.2.1",
|
|
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.
|
|
3
|
+
"version": "0.2.1",
|
|
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",
|
package/screenshots.json
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
[
|
|
2
|
-
"docs/images/annotation-
|
|
2
|
+
"docs/images/annotation-browser.png",
|
|
3
|
+
"docs/images/annotation-element.png",
|
|
4
|
+
"docs/images/annotation-entry.png",
|
|
3
5
|
"docs/images/annotation-expanded.png",
|
|
4
|
-
"docs/images/annotation-expanded-dark.png",
|
|
5
6
|
"docs/images/annotation-image.png",
|
|
6
|
-
"docs/images/annotation-message.png"
|
|
7
|
+
"docs/images/annotation-message.png",
|
|
8
|
+
"docs/images/annotation-region.png"
|
|
7
9
|
]
|
|
Binary file
|