🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

网页批注器 FleatherYu/dsh-webannotate

DeepSeek Harness
FleatherYu4 天前有提交已提供中文文档扫描:含敏感能力

点选网页元素写批注,整批发给对话智能体

29.7/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/11/2 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add FleatherYu/dsh-webannotate
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:仅索引
是什么
dsh 原生插件 · vision
装得上吗
本站尚未做安装检查
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 4 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

读写/删除本地文件发起外部网络请求
查看扫描证据(共 5 处,展示前 5 条)
  • 读取本地文件
    index.js:139
    const source = await readFile(OVERLAY_PATH, 'utf8')
  • 读取本地文件
    index.js:275
    const source = await readFile(OVERLAY_PATH, 'utf8')
  • 发起网络请求
    client.js:33
    fetch(REPORT_URL, {
  • 发起网络请求
    client.js:80
    const response = await fetch(OVERLAY_URL, { cache: 'no-store' })
  • 发起网络请求
    client.js:332
    await fetch(BATCH_URL, {
扫描于 2026/11/4(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

在 DeepSeek Harness 内置浏览器里给网页加标注:点选元素、写评论,把整批标注连同截图一起发到会话里。

README

由 DeepSeek 最新模型翻译生成
dsh-webannotate 在 DeepSeek Harness 的内置浏览器里给网页做批注:点元素 → 写一句要怎么改 → 「发送全部」→ 批注作为一条消息进当前对话,每条附一张该元素的截图。 装插件即用,不改被标注项目的任何代码,本地 dev 站点和已部署的线上站点都能标。 它解决什么 网页上的问题(间距不对、这个按钮太挤、这段文案换个说法)用文字描述很难指清楚,尤其页面有很多子页面时。这个插件把「指哪改哪」变成两步:点一下元素、写一句话,然后整批发给对话里的智能体。 和「在页面里引入标注脚本」的区别 DSH 桌面版的内置浏览器用 Electron <webview> 承载页面,页面处在独立 origin,GUI(插件运行的地方)无法直接访问它的 DOM。所以常见的注入式方案(Agentation 之类)需要往每个项目里加依赖和 。
展开完整文档(README 剩余 1 节)
dsh-webannotate

在 DeepSeek Harness 的内置浏览器里给网页做批注:点元素 → 写一句要怎么改 → 「发送全部」→ 批注作为一条消息进当前对话,每条附一张该元素的截图。

装插件即用,不改被标注项目的任何代码,本地 dev 站点和已部署的线上站点都能标。

它解决什么

网页上的问题(间距不对、这个按钮太挤、这段文案换个说法)用文字描述很难指清楚,尤其页面有很多子页面时。这个插件把「指哪改哪」变成两步:点一下元素、写一句话,然后整批发给对话里的智能体。

和「在页面里引入标注脚本」的区别

DSH 桌面版的内置浏览器用 Electron <webview> 承载页面,页面处在独立 origin,GUI(插件运行的地方)无法直接访问它的 DOM。所以常见的注入式方案(Agentation 之类)需要往每个项目里加依赖和 。

这里换了个方向:插件的 client 半就跑在 GUI 页面里,和 <webview> 元素同处一个文档,于是可以

webview.executeJavaScript(overlay) // 注入批注层
webview.executeJavaScript(outbox()) // 每 700ms 取回批注
webview.capturePage() // 每条批注截一张图

不需要反向代理、不需要 CDP、不需要改站点,任意 URL 都能用。

安装

从 npm 装:

dsh plugin --profile desktop add dsh-webannotate

或者直接从 GitHub 装:

dsh plugin --profile desktop add github:FleatherYu/dsh-webannotate

安装后完整退出并重启一次 DSH(插件的 client 半在 host 启动时组装),然后在右侧栏打开内置浏览器、访问任意页面。

本地开发用 link: 挂自己改的目录:

dsh plugin --profile desktop add "link:/路径/dsh-webannotate"

用法

内置浏览器里的批注列表面板

1. 在内置浏览器打开页面,右下角出现「批注」按钮。
2. 点它进入标注模式,鼠标移到元素上会高亮,点一下就弹出评论框。
3. 写一句要怎么改,Ctrl+Enter 或「保存」;保存后元素右上角出现编号。
4. 继续标下一条;数字按钮显示本页批注数量,点开是列表(定位 / 编辑 / 删除 / 清空)。
5. 点「发送全部」,批注作为一条消息进入当前对话,每条配一张该元素的截图。

批注按「页面」分开存(sessionStorage,key 是 origin + pathname):同一页刷新或来回切标签页仍在,跳到别的页面则各存各的,跳回去还能看到。

消息长什么样

【网页批注】2 处 · 预算页面:http://localhost:5173/budget 截图:2 张(编号对应)

1. 「保存」 字号大一点源码:src/pages/Budget.tsx:42
2. 「年 · 月」 排到上面去组件:BudgetPage > MonthSwitch

- 元素可见文本 + 你那句话:定位靠截图和这一行。
- 源码: 只在开发模式(有 React _debugSource)时出现;组件: 是压缩名过滤后的组件链。原始 CSS 选择器只在有 id / data-testid / aria-label / name 时附带。
- 元素量不出位置(弹层已关、列表重渲染)时这条静默跳过截图,文字照常发送。

结构

| 文件 | 作用 |
| index.js | Host 半:GET /dsh-webannotate/overlay.js(现读文件,改完不用重启)、POST /report、/batch、GET /status 诊断,和 webannotate_status 工具。 |
| client.js | Client 半:扫描 <webview>、注入 overlay、轮询批注、截图、把批次作为一条消息发进当前会话。 |
| web/overlay.js | 注入页面里的批注层(纯 IIFE、Shadow DOM 隔离,无依赖)。 |

已知限制

- 只能标顶层文档:跨域 iframe 内的元素标不到。
- 内置浏览器面板关掉后 webview 不在 DOM 里,批注层随之暂停。
- SPA 内部路由切换后,旧的编号可能定位不到原来的元素(列表里会提示)。
- 每条最多一张截图、单批最多 6 张,超出部分不发图。

开发

node --check client.js
node --check web/overlay.js

改 web/overlay.js 后刷新被标注页面即可(host 每次请求现读文件);改 client.js 后刷新 DSH 页面;首次新增或修改 package.json 的 dsh.client 声明需要重启 DSH。

更细的排障记录见 HANDOFF.md。

License

MIT
预览分享卡片长什么样 ↓FleatherYu/dsh-webannotate
分享 · DeepSeek Harness Hub
FleatherYu/dsh-webannotate

点选网页元素写批注,整批发给对话智能体

这是你的仓库?认领条目

回到顶部