dsh-web-annotator 0.2.0-alpha.13 → 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 +19 -0
- package/README.md +29 -3
- package/README_en.md +32 -4
- package/docs/distribution.md +2 -1
- 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/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,24 @@
|
|
|
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
|
+
|
|
3
22
|
## 0.2.0-alpha.13 — 发布通道按版本号推导
|
|
4
23
|
|
|
5
24
|
- 发布链不再把 `--prerelease` 与 `--tag alpha` 写死在 workflow 里,改由版本号推导:
|
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
|
**提交不等于收录**:合并并被目录同步之后,才能声明该市场可搜索、可安装。
|
|
@@ -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/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.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",
|