DSH 原型批注(Prototype Annotator):在 Desktop 侧栏里点选元素,把修改要求交给 Agent

前言

在 DSH Desktop 里改前端原型时,常见做法是截图、画圈,或在对话里描述「左边第三个按钮」。模型缺少 DOM 上下文,容易改错位置或反复确认。DeepSeek Harness 社区插件 dsh-prototype-annotator(维护者 shiyoungwoo)把交互做成类似 Codex 的页面批注:在侧栏浏览器里直接点选元素、写修改说明,多条批注合并成紧凑标签再随消息发送,并附带选择器、样式、视口等定位信息。插件本身不改动项目源文件,只把批注写入会话输入框,由你决定何时发送。

这是什么

DSH 原型批注 · Prototype Annotator 是面向 DSH Desktop 的客户端插件(分类:客户端)。它在侧栏 Browser 或可访问 DOM 的预览页面上启用元素点选与批注,将修改要求与元素上下文一并交给当前会话中的 Agent。包名在 profile 中为 @local/dsh-proto-annotate-spike(与公开仓库名 dsh-prototype-annotator 并存,便于从本地试用版迁移);当前版本 0.0.3,许可证 MIT。尚未发布到 npm,需通过 GitHub 或 DSH 插件管理器安装。

核心功能

下面介绍 README 中已说明、且与实现一致的能力。

  • 点选定位:鼠标悬浮高亮元素,显示尺寸、颜色和字体;点击后输入修改说明;Esc 取消点选。
  • 批注入口:会话标题栏固定「批注」按钮,侧栏工具栏保留快捷入口;快捷键 Option+A(Windows/Linux 文档写为 Alt+A,未验证)。
  • 紧凑标签:多条批注合并为「N 条注释」标签;发送前可打开详情、删除单条;发送后只读查看。输入框与已发送消息均以该标签展示,元素选择器与样式等定位信息仍会进入模型上下文。
  • 带上元素信息:DOM 选择器、标签名、短文本、尺寸、样式、页面 URL 和视口大小随修改要求发送;开放 Shadow DOM 路径使用 >>> 分隔。
  • 适配现有工作流:仅把批注加入会话输入框,不自动改仓库文件;无额外服务、无 prepare / postinstall 构建脚本。
  • 侧栏本地前端:支持 Vite、React、Vue 等开发服务器页面,无需整站导出为静态 HTML。

插件依赖 Desktop 提供的 sidebar-right 与 sidebar-browser 宿主能力,并注入 @deepseek-ai/dsh-client-ui-sidebar-right、@deepseek-ai/dsh-client-ui-sidebar-browser(见 package.json 中 dsh.client.inject)。

兼容范围

项目 状态
DSH Desktop 0.2.1-rc.3,macOS 用户已在实际界面确认点选、标签与紧凑消息可用
DSH Desktop 0.2.1-rc.5,macOS 入口与点选回归测试通过;实际界面未验证
侧栏 Browser 中的本地前端 支持(Electron webview 读 DOM)
可访问 DOM 的 HTML 预览 iframe 支持;跨域与沙箱会影响读取
Windows / Linux Desktop 未验证
纯 Web、TUI、Headless 非本版本目标
其他 DSH 版本 未验证;包声明 dsh: >=0.2.1-rc.3 <0.3.0 不表示全范围均已验证

宿主升级后需重新验证;请勿同时安装多个副本。

安装与启用

先做安装,再重新加载或重启 DSH Desktop;若未见「批注」按钮,退出并重新打开应用。

在 DSH 对话中安装

让 Agent 使用内置插件管理器,不要手改 profile:

请安装 DSH 插件 github:shiyoungwoo/dsh-prototype-annotator。
请使用插件管理器 install_bundle,不要手动修改 profile 配置。

命令行安装

已配置 dsh 时:

dsh plugin --profile desktop add github:shiyoungwoo/dsh-prototype-annotator

macOS 应用内置 CLI(无需把 dsh 加入 PATH):

"/Applications/DeepSeek Harness.app/Contents/Resources/runtime/cli/bin/dsh" plugin --profile desktop add github:shiyoungwoo/dsh-prototype-annotator

自定义 profile 时将 desktop 替换为你的 profile 名。若曾安装本地试用版,请先在插件管理器移除旧本地链接,再安装 GitHub 版本。

更新与卸载

更新:重新执行同一安装命令后重启 Desktop。卸载示例:

dsh plugin --profile desktop remove @local/dsh-proto-annotate-spike

典型用法

经过上面的步骤启用插件后,可按 README 示例操作:

  1. 在 DSH Desktop 侧栏浏览器打开前端地址,例如 http://localhost:5173,或打开可访问 DOM 的 HTML 预览。
  2. 点击会话标题栏「批注」(或侧栏入口 / Option+A)。
  3. 悬浮查看高亮,点击选中元素;输入修改说明,「完成」或 Enter 写入输入框(Shift+Enter 换行;中文输入法确认不会误提交)。
  4. 输入框出现「1 条注释」等标签;可继续点选增加条数,或点击标签查看、删除单条。
  5. 按需补充普通文字后发送。已发送消息同样以紧凑标签显示,详情只读且无截图。

文档中的完整示例:打开本地前端 → 点「批注」→ 选中图标 → 输入「这个图标太卡通,改成适合金融平台的线性图标」→ 输入框出现「1 条注释」→ 发送。

从标题栏进入时默认绑定当前会话输入框;多输入框并存时需面板选择目标会话。提交中的输入框不能写入。

数据与隐私

标签保存修改要求与元素上下文。元素截图缩小为最大 480×320 的 JPEG,仅用于发送前详情预览,不随批注文本发给模型;发送后详情无截图。模型收到修改要求、选择器、短文本、尺寸、样式、URL 与视口;在含敏感信息的页面上使用前请自行检查。插件 README 说明无额外网络请求或遥测;消息仍经 DSH 所选模型提供方发送。批注正文以 <prototype-annotations> 块保存在会话中;停用插件后仍保留可读原始文本。

适用场景与注意

适合:在 DSH Desktop 侧栏调试本地或原型页面、希望 Agent 按具体 DOM 改 UI 的前端与全栈开发者。

限制与排查(摘自 README):

  • 跨域 iframe、封闭 Shadow DOM、canvas 绘制、嵌套 iframe 不在本版本支持范围;优先侧栏 Browser 打开本地页。
  • 页面结构变化后选择器可能失效,需重新点选。
  • 按钮未出现:确认 Desktop、侧栏已开页,重载或重启;可试 Option+A。
  • 部分提示与标签为中文;元数据与主要操作有中英文资源。

安全与信任:插件以当前 DSH 进程权限运行,安装前请阅读 GitHub 源码 与 MIT 许可证;勿在不可信页面上放宽 iframe 沙箱,建议用于自有原型与本地开发页。DeepSeek Harness 生态强调「一切皆插件」;社区目录 skillhub.cn 为独立站点,与 DeepSeek / 幻方无官方从属关系。

结尾

dsh-prototype-annotator 把「点选 + 说明 + DOM 上下文」收进一条可编辑的消息流,减少截图与口头定位的误差,又保留你控制发送时机的习惯。目录页:https://www.skillhub.cn/plugins/shiyoungwoo/dsh-prototype-annotator;仓库与 Issue:https://github.com/shiyoungwoo/dsh-prototype-annotator。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜