前言¶
在 DeepSeek Harness(DSH)的 Web 界面里,经常要在会话回答和右侧栏文档预览之间来回:复制一段文字、贴进输入框、再补充「这段话什么意思」「帮我改一下」。窗口一多,上下文也容易丢。dsh-ask-selection 把这件事收成一次右键:在选区上选「追问」或「要求修改」,由插件拼好带来源的结构化引用,再发到当前会话或只插入草稿。
下面按定位、功能、安装与用法说明;事实以仓库 README 与 package.json 为准。
这是什么¶
dsh-ask-selection 是 DSH 的客户端插件(dsh.client.platform = web),由 meiyuxuan2007 维护,当前公开发布版本为 0.2.0(MIT)。插件在 dsh Web 的会话回答与右侧栏文档预览中监听文字选区与右键菜单,不依赖第三方 npm 运行时包;文案优先走宿主 @deepseek-ai/dsh-client-locale,不可用时回退内置词典。
社区目录页:meiyuxuan2007/dsh-ask-selection。源码:GitHub。
核心功能¶
会话里的选区追问¶
在任意消息里选中片段 → 右键 →「追问选中内容」或「要求修改选中内容」。插件会识别聊天区真实 DOM 标记,避免在页头、滚动条等非消息区域误弹菜单;输入框内选字仍走原生右键。
右侧栏文档预览¶
支持的预览类型包括:Markdown、纯文本、代码、PDF、Office(docx / pptx 转换后的 PDF)、Excel。
- 文本类:引用里自动带上文件路径、Markdown 小节标题、行号范围。
- PDF / Office:带上文件路径与页码。
- Excel:读取当前单元格(名称框 + 公式栏)与工作表名。
两种回填方式¶
在追问面板里写好要求后:
- 按
Enter:直接发送到当前会话(仅在焦点位于输入框时生效)。 - 点「插入输入框」:只写入 composer 草稿,可继续编辑;写入成功后才关闭面板,失败则保留面板与已输入内容。
轻引用模式¶
对文本类文档,可以只引用「文件路径 · 位置 + 开头 80 字」,让模型自行读原文,缩短提示词,也减轻长引用被截断的影响。Excel、Office 等二进制预览以及会话内选区仍发送完整引用。
发出消息的大致形态如下(摘自 README 示例):
我想追问以下引用内容(来源:notes.md · 小节「部署」· 第 3 页):
引用内容:
> ……选中的原文……
我的要求:
这一段为什么要先建索引?
安装与要求¶
插件随当前 dsh 进程的 Node 环境加载;安装前请自行查看仓库源码与 MIT 许可证是否满足你的策略。
要求:带 Web 界面的 dsh 客户端,且 Node.js ≥ 22。
命令行安装:
dsh plugin add dsh-ask-selection
也可在 dsh 插件页点「安装」,输入框填写 dsh-ask-selection。同一输入框还支持 Git 地址、tgz 包和本地绝对路径,便于安装未发布版本(具体以 dsh 插件页说明为准)。
典型用法¶
- 在会话回答或右侧栏文档预览中选中一段文字。
- 右键,选择「追问选中内容」或「要求修改选中内容」。
- 在面板中写明要求,按
Enter发送,或点「插入输入框」仅写入草稿。
若文档为文本类且启用轻引用,面板行为以界面选项为准;会话选区与 Excel / Office 预览仍以完整引用为主。
适用场景与已知边界¶
适合:长期在 dsh Web 里对照侧栏文档(代码、笔记、PDF、表格)与模型对话的开发者;希望把「选中 → 带来源追问」固定成一套操作、减少复制粘贴的人。
边界(README 已列):
- Excel 目前只取公式栏中的当前单元格,不批量读取多格选区。
- 图片预览无可复制文字,插件不处理。
- 文本类行号基于预览分页渲染;长文件只加载前几页时,行号范围只覆盖已加载部分。
插件 UI 注册在 conversation.input.overlay 等客户端槽位,DOM 探测采用 fail-open:找不到标记时退化为通用来源标签,不阻断原生行为。
结尾¶
dsh-ask-selection 把「选中文本 → 带来源追问或改稿」收进 Web 客户端右键菜单,覆盖会话与多种侧栏预览,并区分直接发送与插入草稿。DSH 生态上插件由社区目录与仓库分发,与 DeepSeek / 幻方无官方从属关系;若要安装或反馈问题,可访问 目录页 与 GitHub 仓库。