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