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

网页批注同步 chopperH0824/dsh-annotate-sync

DeepSeek 客户端
chopperH08246 天前有提交已提供中文文档扫描:含敏感能力兼容 / 相关生态

在 HTML 预览里点选元素写批注,整批交给 Agent 改源码

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

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

相关生态插件(非 dsh 原生,按其对应运行时安装)
git clone https://github.com/chopperH0824/dsh-annotate-sync.git

状态速览

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

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

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

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

读写/删除本地文件发起外部网络请求
查看扫描证据(共 10 处,展示前 10 条)
  • 读取本地文件
    lib/index.js:375
    const rootReal = await realpath(root);
  • 读取本地文件
    lib/index.js:376
    const targetReal = await realpath(target);
  • 读取本地文件
    lib/index.js:386
    const info = await stat(targetReal);
  • 读取本地文件
    lib/index.js:392
    const data = await readFile(targetReal);
  • 读取本地文件
    lib/index.js:412
    overlaySource = await readFile(overlayFile, "utf-8");
  • 发起网络请求
    lib/client.js:394
    const response = await fetch(API_PATH, {
  • 写入本地文件
    lib/store.js:327
    await mkdir(dir, { recursive: true });
  • 写入本地文件
    lib/store.js:328
    await writeFile(jsonFile, snapshot, "utf-8");
  • 写入本地文件
    lib/store.js:329
    await writeFile(markdownFile, markdown, "utf-8");
  • 读取本地文件
    lib/store.js:342
    const text = await readFile(jsonFile, "utf-8");
扫描于 2026/11/2(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

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

依赖的 DSH / Cordis 模块
@deepseek-ai/cordis
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

DeepSeek Harness 的页面标注插件:右侧栏预览、元素拾取、页面级标注、发送到对话、read_annotations 工具。

README

由 DeepSeek 最新模型翻译生成
dsh-annotate-sync · HTML 文档就地批注 打开一个 HTML 预览,批注浮层就在页面里;点选元素写批注,整批交给 Agent, Agent 按文件路径直接改源码。不需要起服务,不需要加 ,不需要选目标。 icon 这是什么 一个 DeepSeek Harness 插件,接管 .html / .htm 的文档预览: - 在 DSH 右侧 Files 里打开任意 HTML(包括 Agent 刚生成的),预览里自动出现 「点选批注」 浮层; - 悬停高亮,点击元素写批注,编号 Pin 跟随滚动/缩放/布局变化; - 批注按 文件路径 保存,带 selector、当前文本、计算样式和修改指令; - 退出点选(Esc)或点 发送给 Agent,整批作为一条结构化消息进入当前对话; - Agent 调 read_annotations 拿到 文件路径 + selector + 备注,直接改那个 HTML/CSS; - 文件变化后预览自动重建,批注仍在;Agent 改完可 set_annotation_status 标记已处理。 之前 Agentation demo 的体验保留了下来,但不再需要手工引入 agentation.js、不再需要 8765 同步服务,也没有“本地服务列表”要先选。
展开完整文档(README 剩余 1 节)
dsh-annotate-sync · HTML 文档就地批注

打开一个 HTML 预览,批注浮层就在页面里;点选元素写批注,整批交给 Agent, Agent 按文件路径直接改源码。不需要起服务,不需要加 ,不需要选目标。

icon

这是什么

一个 DeepSeek Harness 插件,接管 .html / .htm 的文档预览:

- 在 DSH 右侧 Files 里打开任意 HTML(包括 Agent 刚生成的),预览里自动出现 「点选批注」 浮层;
- 悬停高亮,点击元素写批注,编号 Pin 跟随滚动/缩放/布局变化;
- 批注按 文件路径 保存,带 selector、当前文本、计算样式和修改指令;
- 退出点选(Esc)或点 发送给 Agent,整批作为一条结构化消息进入当前对话;
- Agent 调 read_annotations 拿到 文件路径 + selector + 备注,直接改那个 HTML/CSS;
- 文件变化后预览自动重建,批注仍在;Agent 改完可 set_annotation_status 标记已处理。

之前 Agentation demo 的体验保留了下来,但不再需要手工引入 agentation.js、不再需要 8765 同步服务,也没有“本地服务列表”要先选。

安装

macOS Desktop 自带 CLI
"/Applications/DeepSeek Harness.app/Contents/Resources/runtime/cli/bin/dsh" \
plugin --profile desktop add dsh-annotate-sync@2.0.0

把 "dsh-annotate-sync" 加入 ~/.dsh/profiles/desktop/package.json 的 dsh.profile.bundles,然后完全退出并重启 DeepSeek Harness。

本地开发/分享 tarball:

npm pack
dsh plugin --profile desktop add /absolute/path/to/dsh-annotate-sync-2.0.0.tgz

使用

1. 重启 DSH。
2. 在右侧 Files 面板里打开任意 .html 文件(或直接打开包里的 demo/index.html 试一下)。
3. 预览里右下角出现 「点选批注」;点它,然后点击页面元素。
4. 写备注,Enter 保存;Esc 退出点选。
5. 默认开启 自动发送:退出点选时,这一批批注会自动发进当前对话;也可以随时点工具栏的 发送给 Agent,或关掉自动发送手动发。
6. 之后 Agent 会读取批注并改源码;打开预览的文件变化后自动刷新。
7. 如果 Agent 没有自动标记,直接说「按批注修改」,它会调用 read_annotations。

工具栏在预览上方:文件名、待处理数量、发送、自动发送、清空。

批注数据

{
"id": "uuid",
"page": {
"url": "dsh-resource://file/session/<sessionId>/<encoded path>",
"origin": "",
"path": "demo/index.html",
"title": "index.html"
},
"file": { "sessionId": "...", "path": "demo/index.html", "name": "index.html", "address": "dsh-resource://..." },
"selector": "#hero-title",
"tag": "h1",
"className": "hero-title",
"textSample": "把成本算清",
"styles": { "fontSize": "26px", "color": "rgb(15,23,42)", "backgroundColor": "rgba(0,0,0,0)" },
"rect": { "x": 120, "y": 340, "w": 420, "h": 32 },
"note": "把标题改短一点", "status": "pending", "order": 0, "createdAt": "ISO", "updatedAt": "ISO" }

落盘:~/.dsh/annotate-sync/annotations.json + 人类可读的 annotations.md。
旧版 v0/v1/v2 文件自动迁移到 v3;旧 HTTP 页面批注仍可读取。

模型工具

| 工具 | 作用 |
| read_annotations({ status?, pageUrl?, includeDone? }) | 读取批注;默认只给 pending;Markdown 每组带 文件:<path> |
| set_annotation_status({ ids?, status, all?, pageUrl? }) | 改完后标记 applied(或退回 pending) |
| clear_annotations({ pageUrl? }) | 清空(可限定文件) |

配置

cordis.patch.yml 中的 config:

| 字段 | 默认值 | 说明 |
| dir | ~/.dsh/annotate-sync | 批注落盘目录 |
| route | /__dsh-annotate-sync | 插件内部 API/overlay 前缀 |
| legacyRoute | /api/annotate-sync/annotations | 旧版同步桥;置空关闭 |
| maxBodyBytes | 262144 | 单次请求体上限 |
| tool | true | 是否注册模型工具 |

架构

DSH Web
└─ Client: 自定义 HTML 文档预览 renderer(priority: external) ├─ 复用内置 HTML 预览的 bytes-complete + 相对 CSS/JS 打包 + opaque blob iframe ├─ 注入 window.__DSH_ANNOTATE__ + overlay.js ├─ toolbar:发送 / 自动发送 / 清空 └─ postMessage 桥:overlay ↔ 文档组件 Host: 路由 + v3 批注 store + 三个模型工具 Overlay: 点选、Pin、批注卡片、状态

- 预览 iframe 仍是 sandbox="allow-scripts" 的 opaque origin;overlay 与文档组件只通过 postMessage 通信,父侧校验 event.source + channel。
- 相对 CSS/JS 由 DSH 的 workspaceFiles 读取并打包进 blob,和内置预览一致。
- 不启动任何额外 HTTP 服务,不向被预览页面注入网络请求。

已知限制

- 页面自带 CSP 且禁止外部脚本时,overlay 会被拦截;预览本身仍可用。
- 自定义 renderer 总是允许页面脚本执行(overlay 需要),不受内置“交互式预览”开关控制。
- 跨域 iframe、closed shadow root 内的元素无法点选。
- 只接管 .html / .htm;其他文档类型仍用内置预览。
- 批注定位依赖 CSS selector 与几何矩形;元素结构大改后可能定位不准,但备注和文件路径仍在。

从 1.x 升级

v2 移除了“本地服务预览 + 右侧栏批注面板”。旧的 annotations.json 会迁移;旧的 /api/annotate-sync/annotations 同步桥仍保留。无需再启动 sync-server.mjs。

开发

npm test # node --test
npm run check # node --check 所有运行时文件
npm run pack:check

协议契约:docs/PROTOCOL.md · 发布:docs/PUBLISH.md

License

MIT。HTML 渲染器部分改编自 DeepSeek Harness(MIT),见 NOTICE。
预览分享卡片长什么样 ↓chopperH0824/dsh-annotate-sync
分享 · DeepSeek Harness Hub
chopperH0824/dsh-annotate-sync

在 HTML 预览里点选元素写批注,整批交给 Agent 改源码

这是你的仓库?认领条目

回到顶部