前言¶
在 DeepSeek Harness(DSH)里和模型来回对话时,常见做法是复制某段回复、粘贴到输入框里再写「我指的是上面这句」。上下文一长,模型和你都容易对不准「上面」到底是哪一段;工具输出、多轮 assistant 回复混在一起时更明显。
下面介绍社区客户端插件 dsh-quote-annotate(维护者 HansHuang2683):在 Web / Desktop Web UI 的对话 transcript 里选中任意文字,就地写批注,发送下一条消息时把「原文 + 出处 + 你的评论」折叠成固定格式块一并交给模型。插件无额外依赖、无需构建,单文件浏览器模块,通过 DSH 官方扩展点挂载。
这是什么¶
dsh-quote-annotate 是面向 DeepSeek Harness 的小型 Web UI 插件。仓库:https://github.com/HansHuang2683/dsh-quote-annotate;社区目录页:https://www.skillhub.cn/plugins/HansHuang2683/dsh-quote-annotate。分类为客户端;在 Plugin Manager 中显示名称为 Selection Annotations。
它解决的是「指代不清」:模型收到的是精确引用的段落、该段来自哪一轮/哪类内容,以及你对该段的批注,而不是模糊的「刚才那段」。
核心功能¶
依据仓库 README,能力可以概括为五步:
- 选中:在 transcript 中选中任意文本(你的消息、assistant 回复、工具输出等)→ 选区上方出现浮动 Annotate 按钮。
- 写批注:点击按钮 → 选区旁打开浮动评论框(引用预览 + 文本框 + Cancel / Save;
⌘/Ctrl+Enter保存,Esc取消)。 - 保存后高亮:被引用段落以带编号角标(如
①)高亮;点击角标可再次编辑批注。 - 发送前汇总条:与 composer 同宽的条带紧贴在输入框上方,文案形如
① annotations · attached to your next message;展开后可查看、编辑、跳回原文或删除每条批注。 - 照常发送:按 Enter 或点发送。插件把正文与所有批注折叠成紧凑块写入消息,例如:
my question …
【我的批注】
批注 1|Assistant · turn 3
原文:
the paragraph you selected
批注:your comment
实现上(设计说明,供排查行为时参考):UI 走 shell.overlay 与 conversation.input.overlay;高亮用 CSS Custom Highlight API(CSS.highlights),按存储的文本偏移重建 Range,不包裹或改写其他插件的 DOM;发送时在 capture 阶段拦截 Enter(兼顾 IME)或发送按钮,先把 body + 批注块 写入 composer,待 draft 生效后再调用 inputActions.submit()。支持明/暗主题,读取宿主 theme 服务。
环境与限制¶
- 需要 DeepSeek Harness 0.2.1-rc.3 或更新(Web / Desktop Web UI)。
package.json中dsh.engines.dsh为>=0.2.1-rc.3。 - 不支持 TUI,仅 Web / Desktop Web UI。
- 保存批注后 composer 不会自动聚焦,需手动点输入框再打字(DSH 未提供对应 seam)。
- 高亮依赖 transcript 上的
data-chat-flow-key/data-chat-turn;若未来 DSH 变更这些属性,高亮可能降级,但批注列表与发送折叠仍可用(发送块仅依赖文本)。 - 发送块中长引用截断为 1200 字符(列表内仍保留完整引用)。
- 热更新后若条带消失或批注不再附着,应完全退出并重开 DSH;条带上的 Insert 为手动兜底。
安装与启用¶
通过 plugin_manager 工具,或在 Plugins 页面 → Add plugin,使用资料原文中的安装方式(勿自行拼接未文档化的 CLI 命令):
action: install_bundle
target: https://github.com/HansHuang2683/dsh-quote-annotate
也可指向本地 checkout 目录,或打包后的 tarball(示例流程):
pnpm pack --pack-destination dist
# 然后 install_bundle,target: <绝对路径>/dist/dsh-quote-annotate-1.0.0.tgz
安装后刷新页面(Desktop:Ctrl+R,或完全退出再启动)。在 Plugin Manager → Plugins 中应看到 Selection Annotations。
典型用法¶
- 打开已安装插件的 DSH Web / Desktop 会话。
- 在 transcript 中拖选要讨论的一段文字,点 Annotate,在浮动框里写批注并 Save(或
⌘/Ctrl+Enter)。 - 需要时可点编号角标或 composer 上方条带修改、删除批注。
- 在 composer 里写你的问题或指令,照常发送;模型侧会看到正文加上述
【我的批注】结构块。
适用场景与注意¶
适合:需要对某条 assistant 回复、工具输出或自己先前消息做「点对点」评论,并希望模型读到完整原文与批注的 DSH 用户;习惯 Web / Desktop UI 的客户端工作流。
安装前建议:插件在 当前 DSH 进程的权限与沙箱策略下 运行,与宿主共享 Web UI 上下文。安装前应自行查看 仓库源码 与许可证(MIT © 2026 HansHuang2683)。SkillHub 等社区目录为独立站点,与 DeepSeek / 幻方无官方从属关系;DSH 生态理念是「一切皆插件」,本文仅作能力说明,不构成安全审计。
结尾¶
dsh-quote-annotate 把「选中 → 就地批注 → 随下一条消息结构化发送」做成一条固定链路,减少长对话里的指代歧义。进一步了解可访问目录页 skillhub.cn/plugins/HansHuang2683/dsh-quote-annotate 与 GitHub 仓库 HansHuang2683/dsh-quote-annotate。