dsh-quick-explain:在 DSH 里用侧栏解释选中片段,且不污染主会话

前言

在 DeepSeek Harness(DSH)里做长任务时,常会碰到对话里某一个词、缩写或一句话需要立刻弄清含义。若直接在主会话里追问,这一轮会进入会话日志、占用模型上下文,并影响后续每一次请求。社区插件 dsh-quick-explain 的做法是:在 transcript 里选中一段文字,打开临时侧栏对话做解释与追问,关闭后侧栏内容丢弃,主会话历史与上下文保持不变。

下面按「定位 → 能力 → 安装 → 用法 → 机制与注意」介绍该插件。事实依据为 GitHub 仓库 README 与 SkillHub 目录页。

这是什么

dsh-quick-explain 是 DSH 的工作流类插件,由 JujiuYey 维护,许可证为 MIT(README 与 package.json 一致)。package.json 中当前版本为 1.0.9。

一句话:在任意消息里高亮 1–1200 个字符,点击 Explain,右侧出现与 DSH 原生主题一致的 sheet 侧栏;侧栏内流式返回解释,可继续追问,关闭或闲置后侧栏会话从宿主进程内存中清除,主 Session 不参与该路径。

核心功能

资料中列出的能力如下,安装前可先对照是否符合你的 DSH 版本与界面能力。

  1. 选中即出操作:在 transcript 中高亮文字后,选区旁出现小 chip,可点 Explain(README 界面为 💡 Explain)。
  2. 就地解释:侧栏用选中片段及其所在段落作为上下文,流式输出简短说明。
  3. 侧栏内追问:在面板里继续提问;每次追问仍留在侧栏会话,不写入主对话。
  4. 主会话零写入:不追加 session log、不向主对话插入消息、不改动主模型请求;侧栏不发射 session 事件,因此不影响 replay、compaction 或下一次主请求。
  5. 走本机配置的模型:侧栏调用 DSH 的 ctx.llm.stream,使用你配置的默认模型。
  6. 原生 UI:右边缘 sheet 使用 DSH 主题 token(线宽、圆角、字号与动效与宿主一致)。
  7. 可丢弃设计:关闭面板,或 30 分钟无操作,侧栏会话从宿主内存移除。
  8. 仅本机:面板请求发往运行中的 DSH 进程内插件自有路由,无额外服务、README 写明无 telemetry。

安装与启用

在 DSH Desktop 中:打开侧边栏 Plugins,或 Settings → Plugins,选择 Add plugin。

  1. 在 Package name or address 中填写:
dsh-quick-explain
  1. 点击 Install,再 Enable now。若提示需下次启动生效,请完全退出 DSH 后重新打开。

npm 不可达时,README 允许改为本地 .tgz(例如对包目录执行 npm pack dsh-quick-explain 得到的文件路径),或填写:

github:JujiuYey/dsh-quick-explain

开发侧还可将检出目录作为 Local directory 插件包安装;修改 client 代码后需重启 DSH 加载。

环境要求(README Development 节):DSH 0.2.1-rc.2 或兼容版本,且提供 ctx.connection.fetch、ctx.llm、ctx.agentDefaultModel 以及 client 槽位 shell.overlay。

插件以当前 DSH 进程权限运行;安装前建议阅读仓库源码与 MIT 许可证,并确认侧栏会把选中文字、周边段落与追问发往你在 DSH 中已配置的模型提供商(与主会话相同提供商,README Privacy 节)。

典型用法

按 README Usage 节,可复现步骤为:

  1. 在任意消息正文中选中一段文字。
  2. 点击选区旁的 Explain。
  3. 在侧栏阅读流式解释;需要深挖时在输入框追问,按 Cmd/Ctrl + Enter 发送。
  4. 用 × 或 Esc 关闭侧栏;侧栏对话即丢弃。

选中长度上限为 1200 字符(Features 节)。

工作原理(简述)

README 给出的数据路径如下,便于理解为何主会话不受影响:

selection
   │  client.js: start(quote, context)
   ▼
POST /api/quick-explain            (plugin-owned route, same origin)
   │
   ▼
index.js: new thread in memory → ctx.llm.stream(...)
   │
   │  client.js polls every 350 ms: {endpoint:'poll', threadId}
   ▼
{state, text, error} → panel renders the growing answer

宿主侧 index.js 注册 /api/quick-explain、内存线程与空闲清理;客户端 client.js 负责选区检测、浮动 chip、侧栏与轮询。主对话的 Session 不在此路径上。

适用场景与限制

适合:长对话中偶发「这个词什么意思」「这句在说什么」,又不想为主会话多留一轮解释或打断当前任务链的开发者。

需注意(README Limitations):

  • 解释器只能看到选中片段及其所在段落,看不到完整主会话历史——这是不触碰主 Session 的代价。
  • 侧栏答案仅渲染轻量行内 Markdown(**粗体** 与 `code`),不解析标题与列表。
  • 侧栏会话按进程保存,重启 DSH 即清空。
  • 界面文案仅支持英文与中文(locale/*.json)。

SkillHub 上该仓库星标为 0(以目录页展示为准),不代表功能完备度;以 README 与发行包为准即可。

结尾

若你希望「问清楚一小段话,但别让主聊天多一行」,dsh-quick-explain 把解释收进可关闭的右侧临时会话,并用 DSH 自带模型与主题完成调用与展示。

DSH 生态强调「一切皆插件」;SkillHub 为社区独立目录,与 DeepSeek / 幻方无官方从属关系。

羽毛球分组比赛记分
小程序二维码

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

Xiaoye