dsh-explainer:在 DSH 界面里划词快问,不写回主会话

前言

在 DeepSeek Harness(DSH)里做 agent 开发或读长对话时,常见做法是再开一条主会话,把选中的一段文字贴过去,等模型解释或翻译。这样会打断当前线程,主会话日志也会被追问和中间结果填满。若只需要「这段英文什么意思」「这个术语指什么」「渲染报告里一句话怎么理解」,更理想的是就地回答、一次 completion、且不把内容写回主会话。

下面介绍社区插件 dsh-explainer(npm 包名同插件 id,维护者 wzciczw)。它在 DSH Web GUI 的对话、Markdown/代码、渲染后的 HTML 报告、右侧栏编辑器等位置支持划词或快捷键打开轻量卡片,默认继承主窗口模型与只读上下文快照,完成解释/翻译/快问后仍保持主会话干净。

这是什么

dsh-explainer 是 DSH 的客户端插件(当前 npm 版本 0.3.0,MIT 许可证)。宿主要求 DSH >=0.2.1-rc.2 且 <0.3.0,Node >=20。

一句话定位:在界面任意可选文本处选中内容,得到隔离的一次性回答——无子代理、无工具循环,默认约 800 tokens 量级输出;主会话只读快照,不追加、不污染。需要多步推理、改文件或跑工具时,应继续使用主会话(卡片内也提供「发主会话」升级路径)。

社区目录页:skillhub.cn/plugins/wzciczw/dsh-explainer。源码与完整说明:github.com/wzciczw/dsh-explainer。DSH 生态理念是「一切皆插件」;SkillHub 等目录为社区索引,与 DeepSeek / 幻方无官方从属关系。

核心功能

划词与快问入口

  • 划词问:选中文字后出现「✦ 问这段」,点击或 Ctrl/Cmd+Shift+E 打开卡片;需要右键入口时按住 Alt/Option 再右键(普通右键保留系统菜单)。
  • 快问:Ctrl/Cmd+Shift+K 打开同一张卡片,不带选区引用;输入栏侧不再有按钮,窗口由快捷键、划词或文档工具栏打开。
  • 右侧栏文件:原生 document preview 与 better-sidebar 编辑器内同样可划词;默认读取该文件全文作为上下文(仅工作区内、只读)。HTML 默认使用插件自带的渲染预览,可在渲染后的页面里划词;若不想执行页面脚本,可在查看器菜单切回内置预览。

默认自动回答(约 0.4 秒)

划词打开后,插件会先识别选区形态,再自动开始对应回答;此期间若在输入框打字,则取消自动回答、改答你的问题。可通过配置 autoAnswer: false 关闭自动回答。

选中内容 默认行为
英文正文 完整中文翻译,再一句话点出要点
名词 / 术语(约 1–3 词) 解释概念,必要时给最小例子
中文正文 / 代码 / 其他 解释这段文字
英文问句(以问号结尾) 直接回答,不翻译问题

识别会对 the concept of、什么是 等外壳做剥离,并用是否有谓语动词区分术语与句子,避免把概念短语误当成整段翻译。

模型、上下文与隔离

  • 默认跟随主窗口的 modelSelection;主窗口切换模型后,弹窗下一次请求同步。在 cordis.patch.yml 的 explainer 配置里写 defaultModel: provider/model 可钉住主对话可选模型之一;弹窗标题会标示当前模型。
  • 新建线程时把主会话最近消息做成只读快照(可配置 inheritContext、contextMaxMessages、contextMaxChars 等);追问只写在宿主内存线程里,不写回主会话日志。
  • 一次 completion、偏低思考档(配置 reasoningEffort 时如 low 即俗称 ds-low);流式输出,Esc 先停流再关窗。

联网与文件快照(只读)

  • 问题或选区含「最新 / 版本 / 价格 / 模型 / 上下文」等时效相关词时,宿主可通过 ctx.web.search 注入最多 4 条来源(webSearch / webSearchMaxResults);无可用搜索 provider 时跳过。
  • 问题或上下文中提到的路径/文件名会只读读取工作区文件片段(fileAccess 等项控制上限),便于回答「这个文件何时更新」类问题,无需工具调用。

HTML 预览与 iframe 划词

打开 .html 时插件可替换默认 HTML 预览:页面在不透明 sandbox iframe 中渲染(allow-scripts,无 allow-same-origin),划词经桥接脚本把选区发给父页面;交互式画布若拖不出选区,可用预览左下角「划词模式」或按住 Alt/Option 拖动。

答案动作

复制、插入主输入框、发主会话(深答)、重试。卡片约 520×560,可拖动;Enter 发送,Shift+Enter 换行。

安装与启用

在 DSH「插件 → 发现」中搜索 dsh-explainer 安装(需已配置社区插件市场索引,参见 awesome-dsh-plugin)。或使用 CLI:

dsh plugin --profile <profile> add dsh-explainer

安装后在 DSH 中重启一次(宿主侧通常需要重启;浏览器侧随页面加载)。

可选配置写在 profile 的 cordis.patch.yml 里 explainer 插件行,例如输出上限、是否继承上下文、右键策略、默认模型等。修改后按界面刷新或重启 DSH 生效。完整字段见仓库 README「配置」一节。

典型用法

  1. 安装并重启 DSH 后,在对话里选中一段英文术语,点「✦ 问这段」或 Ctrl/Cmd+Shift+E,等待约 0.4 秒自动解释;若只想问别的问题,在自动开始前于底部输入框输入即可取消默认行为。
  2. 阅读 agent 生成的 HTML 报告时,在渲染页划词提问;页面脚本在隔离帧运行,若需纯静态预览则切回内置预览。
  3. 不按选区、直接 Ctrl/Cmd+Shift+K 打开快问,输入问题并 Enter;追问仍在同一线程,主会话列表不变。
  4. 需要改代码或调用工具时,在卡片内使用「发主会话」,把当前问题升级到主会话处理。

快捷操作汇总:

操作 键 / 手势
划词问 选中 →「✦ 问这段」
划词问(右键) 选中 → Alt/Option+右键
划词问(键盘) 选中 → Ctrl/Cmd+Shift+E
快问 Ctrl/Cmd+Shift+K
发送 / 追问 Enter
换行 Shift+Enter
停止 / 关闭 Esc(流式中先停止)

适用场景与注意

适合:阅读英文文档与对话、对照 HTML 报告、在右侧栏源码旁快速理解术语或段落;希望答案快、且不想污染主会话历史。

不适合(README 明确建议):多步推理、工具调用、改文件——请用主会话。

安全与权限:插件以当前 DSH 进程权限运行,可读取工作区内配置允许的文件、并在开启 webSearch 时发起联网搜索。安装前请阅读 源码 与 MIT 许可证,自行评估是否纳入 profile。

何时别用它:需要「脚本完全不执行」的静态 HTML 时,在查看器菜单切回内置预览,而不是依赖插件 HTML renderer。

结尾

dsh-explainer 把「选中即问、一次 completion、隔离线程、不写主会话」做成 DSH 客户端里的固定交互:对话、代码、渲染 HTML 与侧栏编辑器同一套划词与快问逻辑,并可选钉模型、联网与文件快照。若你的 workflow 经常在解释与深答之间切换,可先装上试一轮划词与 Ctrl/Cmd+Shift+K 快问,再按需改 cordis.patch.yml。

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

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

小夜