dsh-quote-annotate-pro(DoggyHU fork):划词批注、紧凑引用与文档预览来源路径

前言

在 DSH 里和模型讨论长对话时,常见做法是划一段原文写批注,再让模型逐条回应。不少插件会把引用收成 chip 或「批注 ×N」标签,气泡更干净,但发送后往往看不清引的是哪一句,对照原文要多点一步。若你还在右侧文档预览(docx、PDF、代码等)里划词提问,位置信息若只落在聊天轮次上,模型侧也不容易对应到具体文件与页码。

下面介绍社区维护者 DoggyHU 在 MIT 协议下维护的客户端插件 dsh-quote-annotate-pro 本地 fork:在上游 dsh-quote-annotate-pro(基于 zhao-guang-ai/dsh-quote-annotate-pro 0.3.5)之上,补强文档预览划词批注,并在引用块位置行中带上来源文件路径;同时保留上游「紧凑引用块可见、点击回跳原文」的设计。插件归类为客户端,当前 GitHub 星标为 0。

这是什么

dsh-quote-annotate-pro 是纯客户端 DSH 插件:在会话消息或(本 fork)不可编辑的文档预览中选中文本 → 写批注 → 插入引用;输入框与已发送消息里显示最多三行的紧凑原文片段(轮次/角色或文件路径那一行在界面上隐藏),点击引用块可滚回原文并高亮。发给模型的纯文本仍带完整位置行(例如 【批注 2 · 第5轮 · DSH 回复】),并引导模型用 Annotation 1:、Annotation 2: 逐条回复;回复中的这些标记会渲染成「批注 N」芯片,悬浮可看原文与评语,点击同样回跳。

  • 维护者:DoggyHU
  • 目录页:https://www.skillhub.cn/plugins/DoggyHU/dsh-quote-annotate-pro
  • 仓库:https://github.com/DoggyHU/dsh-quote-annotate-pro
  • 许可证:MIT(上游链路见仓库 README:wangwei-wade/dsh-quote-annotate → zhao-guang-ai/dsh-quote-annotate-pro → 本 fork,CHANGELOG 0.3.6–0.3.10 记录文档预览相关改动)
  • 当前版本(package.json):0.3.10

DSH 社区插件目录由独立站点收录,与 DeepSeek / 幻方无官方从属关系;安装前请自行查看源码与许可证。插件以当前 DSH 进程在浏览器端的权限运行,锚点数据写在本机 localStorage(按会话,最多 60 条)。

设计取舍:引用块留在对话里

与「引用收进 chip」的常见做法不同,本插件在气泡里直接展示紧凑引用块,代价是多一块灰底区域,收益是无需悬停也能看见引文,且输入框与消息侧视觉一致。若你更在意气泡绝对简洁,可以选其他方案;若经常要确认「引的是哪一句」并在文档与聊天间来回对照,这条路径更贴合。

核心功能

聊天消息内划词批注(上游能力)

  1. 在任意消息中选中文字,选区上方出现气泡,点「批注」,填写评语(可留空)后按 Enter。
  2. 同一条消息内多处批注自动编号(批注 1、批注 2…,删掉中间一条不会重号)。
  3. 输入框出现紧凑引用块;发送后气泡内仍是同样样式,点击跳回原文。
  4. 模型回复里的 Annotation N: 变为可交互的「批注 N」芯片。
  5. 每条已完成回合尾部还提供「引用提问 / 引用回答」,可整段引用该轮。
  6. ref → 锚点 映射持久化在 localStorage,刷新后消息侧引用块仍可回跳。

文档预览划词:位置行带文件路径(本 fork,0.3.6 起)

在右侧栏文档预览(docx / pdf / xlsx / 图片 / Markdown / 代码等)划词批注时,位置行会标明来源文件,与纯聊天批注区分:

  • 聊天消息:【批注 2 · 第5轮 · DSH 回复】(与旧版一致)
  • 文档预览:例如 【批注 1 · 文件 · sidebar-test\测试文档.docx】;文本类预览可追加 :L12,PDF/Office 可追加 :p3

路径默认规则:工作区内为相对会话 cwd 的路径,工作区外为绝对路径。若希望一律显示绝对路径,在 lib/client.js 顶部将 DOC_PATH_STYLE 改为 'absolute'。取不到路径时(旧预览槽位、侧栏被第三方接管等)会退回 【批注 1】,不影响聊天批注与回跳。

文件批注列表:先攒批注,再一次性发送(0.3.10)

仅对不可编辑的文档预览生效(docx / pdf / xlsx、官方 md 预览、文本与代码预览等)。可编辑预览(如 milkdown、sidebar-editor)和聊天输入框选区仍按原逻辑,不弹「加入列表」流程。

  1. 在文档预览划词 →「批注」→ 写意见 → 加入批注列表(不立即写入输入框)。
  2. 有批注后,预览底部出现半透明胶囊:批注 · N、展开/收起、全部发送、全部删除。展开后可单条编辑(Enter 保存 / Esc 取消)或删除;点浮条外或按 Esc 收起(行内编辑时 Esc 只取消当前条)。
  3. 「全部发送」将 N 条按 【批注 N · 文件 · <路径>[:p页|:L行]】 一次性写入对话输入框;「全部删除」清空本文件列表。列表按「会话 + 文件绝对路径」存 localStorage,刷新或切 tab 不丢;发送后列表保留,可继续补充或手动清空。

聊天里的划词批注不受影响:仍是立即插入、可点击回跳。

安装与启用

在资料原文中,推荐通过 npm 包名安装;也可从上游 GitHub 引用安装。本地开发可对克隆后的目录做 link 安装(改 lib/client.js 后宿主 HMR 可热更,无需重启 DSH)。

# 从 npm 安装(推荐,一步到位)
dsh plugin --profile <profile> add dsh-quote-annotate-pro

# 或直接从 GitHub 安装(资料中的上游仓库)
dsh plugin --profile <profile> add github:zhao-guang-ai/dsh-quote-annotate-pro

# 本地开发:link 安装后改文件即刻热更
dsh plugin --profile <profile> add <本仓库绝对路径>

若你需要 DoggyHU fork 中的文档路径与批注列表能力,应以该 fork 仓库为准安装(例如使用上式中的本地路径指向 https://github.com/DoggyHU/dsh-quote-annotate-pro 检出目录)。装好后 profile 的 package.json 可能出现形如 "dsh-quote-annotate-pro": "link:<路径>" 的条目。

典型用法

聊天批注三步(与上游 README 一致):

  1. 选中消息文字 → 气泡点「批注」→ 写评语 → Enter。
  2. 在输入框确认紧凑引用块,需要时点击块回到原文。
  3. 发送;在模型回复中通过 批注 N 芯片对照 Annotation N: 的逐条回应。

文档预览批注(本 fork):

  1. 在右侧预览中划词,加入批注列表,可连续多条。
  2. 在底部胶囊展开列表,编辑或删除单条。
  3. 点「全部发送」,在输入框核对带文件路径的位置行与原文,再发送给模型。

隐私与网络

插件为纯客户端实现,不访问外部服务、不处理凭证;数据落点主要是 localStorage 中的锚点表。开发版 lib/client.js 默认 DIAG_ENABLED = true,启动时会向本机 http://127.0.0.1:47821 探测诊断接收端(探测不到则本次运行静默);若需避免任何本机诊断请求,将 DIAG_ENABLED 设为 false。

结尾

dsh-quote-annotate-pro(DoggyHU fork) 在保留「紧凑可见引用 + 点击回跳 + 模型侧 Annotation N 对照」的前提下,把文档预览批注的位置行扩展到文件路径与页/行号,并支持先汇总再一次性发送,适合在 DSH 里对照仓库文档与多轮对话做精读式协作。

  • 目录页:https://www.skillhub.cn/plugins/DoggyHU/dsh-quote-annotate-pro
  • GitHub:https://github.com/DoggyHU/dsh-quote-annotate-pro
羽毛球分组比赛记分
小程序二维码

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

小夜