前言¶
DeepSeek Harness(DSH)采用“一切皆插件”的架构,这让扩展能力变得非常灵活。但在日常对话开发中,常遇到这样的场景:你需要引用对话中某段历史内容,并希望模型在回答时明确指出它处理的是哪一段。手动复制粘贴不仅繁琐,模型也难以精准锚定上下文。
dsh-select-quote 作为一个 Web 客户端插件,直接解决了这个问题。它允许你在对话流中划选文本并添加批注,将选中的原文连同你的评论一起交给模型,并强制模型在回答时通过可点击的标记(chip)回指这些批注。
插件介绍¶
名称:dsh-select-quote
维护者:latte03
类别:客户端
许可证:MIT
该插件通过拦截用户消息的渲染逻辑,实现了“划词-批注-回指”的完整闭环。
核心功能¶
- 划词工具条:选中对话区任意文本,拖拽结束才会浮出工具条(不挡操作),提供“复制”和“添加到任务”两个选项。
- 批注卡片:确认添加后,输入框上方会出现批注卡片。卡片展示选段摘要和你的评论,支持悬停展开列表进行编辑或删除。
- 正文标记:被划中的文字在原消息气泡中会留下虚线下划线和一个序号角标。点击卡片中的条目,视图会自动跳回原文对应位置。
- 模型回指:当模型在回答中引用某条批注时,插件会将该指令渲染成可点击的 chip。点击 chip 同样会跳转到原文。
- 对话记录渲染:已发送的消息中,批注会以卡片形式保留,用户气泡中只显示原始提问文本。
安装与启用¶
确保你的 DeepSeek Harness 版本为 0.1.7-rc.1(2026-09-24 测评可用)。
方式一:通过 npm 安装
dsh plugin --profile web add dsh-select-quote
dsh --profile web
方式二:本地 checkout 加载(推荐开发调试)
git clone https://github.com/latte03/dsh-select-quote.git && cd dsh-select-quote
npm install && npm run build
dsh web --patch "$PWD/dev.patch.yml"
典型用法¶
- 在对话区选中一段文本 → 点击工具条上的「添加到任务」。
- 弹出评论框,输入你的批注(可留空,仅作标记)→ 确认。
- 输入框上方出现批注卡片,悬停可查看详情。点击卡片条目可跳转回正文;支持编辑、删除或一键清空。
- 正常打字并按 Enter 发送消息。批注随消息一起提交给模型,输入框上的卡片随之消失。
- 模型在回答中引用批注时,会出现可点击的 chip,点击即可定位到原文。
注意事项¶
- 内存存储:待发的批注仅保存在内存中。刷新页面或切换会话后,批注卡片会丢失(已发送消息中的批注不受影响)。
- 渲染优先级:本插件以最低优先级替换了内置的
user节点。如果安装了其他也替换user节点的插件(例如dsh-easyrewrite使用了-1优先级),该插件可能会被屏蔽。 - 卡片宽度:输入框内每条批注摘要的最宽宽度约为输入框的 1/4,超长标题会显示省略号。
- 生效范围:划词功能仅在对话区生效,不介入编辑器、终端等其他面板。
- 兼容性与维护:实现依赖了若干产品内部的约定(槽位名、composer DOM 结构、深色主题属性等)。升级 DSH 主程序后,建议先运行
npm run check,再对照docs/internals.md末尾的清单进行人工回归测试。
生态背景¶
DeepSeek Harness 的插件生态由社区驱动。本插件收录在 SkillHub 插件目录中,与 DeepSeek 或幻方官方无直接隶属关系。
结语¶
dsh-select-quote 通过在客户端实现高效的上下文引用机制,让模型交互更加精准。如果你需要在长对话中频繁引用特定片段,这个插件能显著提升开发效率。