在 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🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
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。预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
chopperH0824/dsh-annotate-sync
在 HTML 预览里点选元素写批注,整批交给 Agent 改源码
相关插件 · 浏览器
智能体插件框架deepseek-ai/deepseek-harness
DeepSeek Harnessdsh是由 DeepSeek AI 开发的开源 agent harness智能体框架。
★ 270,422已汉化DSH
71.9
多设备 Agent 看板YaoApp/yao
✨ 所有 Agent 和工作区集中管理,覆盖你的每一台设备。任务看板追踪进度,桌面端、移动端、浏览器、API…
★ 8,147已汉化DSH
71.2
可扩展侧边栏工作台omdsh-dev/DSH-better-sidebar
DSH 的双工作台:原生右侧栏 + 自绘底部面板,并把 ctx.betterSidebar 服务开放给所有插件
★ 4,761已汉化DSH
71.1
浏览器自动化桥Tencent/BrowserSkill
你的 Agent。你的浏览器。连接,就能协作。
★ 9,928已汉化DSH
71
AI 小说创作工作台EthanYoQ/AI-Novel-Writer
AI 小说作家 / AI Novel Writer
★ 1,591已汉化DSH
70.7
智能体浏览器引擎platonai/Browser4
DeepSeek Harness 集成
★ 1,175已汉化DSH
70.4
这是你的仓库?认领条目