Skip to content

dsh-quick-explain

Verified

dsh-quick-explain · v1.0.9 · MIT · Web UI

Select a fragment of a chat and open a temporary side conversation that explains it — without touching the main session. A DeepSeek Harness (dsh) plugin.

Install

dsh plugin add dsh-quick-explain

Confirm the layer applied with dsh --profile default --dump-config — see the install guide.

Source

Tags

Creators

Readme

dsh-quick-explain logo

dsh-quick-explain

DeepSeek Harness License: MIT

在对话里选中一个词或一句话,问它是什么意思——答案留在一边,不进入你的主对话。

dsh-quick-explain 是一个 DeepSeek Harness(dsh)插件:在任意消息里选中文字,点 💡 解释,右侧会打开一个临时解释对话。它解释这段内容、支持继续追问,关闭即消失;主对话的历史和上下文一个字都不会变。

English

为什么需要它

长任务进行到一半,突然有一个词、一个缩写或一句话没看懂。直接问主助手,代价是这一问会进入会话日志、进入模型上下文,并影响之后的每一次请求。这个插件给你一个独立、用完即弃的解释器。

功能

  • 选中即解释:在对话中选中 1–1200 字,选区旁浮出「💡 解释」按钮。
  • 就地解释:右侧面板流式输出解释,并自动把选区所在段落作为上下文。
  • 可以追问:在面板里继续问,问题只留在临时对话里。
  • 对主会话零影响:不追加任何会话事件、不新增消息、不改变主对话的模型请求。
  • 用你自己的模型:通过 DSH 的 ctx.llm.stream 和你配置的默认模型调用。
  • 原生外观:面板是贴在右侧的整高面板,颜色、0.5px 细线、圆角、字号和动效全部取自 DSH 自己的主题 token,看起来是应用的一部分,而不是一张第三方卡片。
  • 设计上可丢弃:关闭面板或闲置 30 分钟后,临时对话从 Host 内存中删除。
  • 纯本地:面板只访问你正在运行的 DSH 进程内的路由,没有额外服务、没有遥测。

安装

DSH Desktop:打开 Plugins 页面(侧边栏,或 设置 → 插件)→ Add plugin:

  1. 在 Package name or address 填 dsh-quick-explain。
  2. 点 Install,然后 Enable now。如果 DSH 提示重启生效,请完全退出应用再打开。

如果 npm 访问不了,也可以改填 .tgz 的完整路径(npm pack dsh-quick-explain 打包下载),或 github:JujiuYey/dsh-quick-explain。

使用

  1. 在消息里选中一段文字。
  2. 点选区旁的 💡 解释。
  3. 阅读解释;在底部输入框继续追问,⌘/Ctrl + Enter 发送。
  4. 点 × 或按 Esc 关闭,临时对话即被丢弃。

工作原理

选区
  │  client.js: start(quote, context)
  ▼
POST /api/quick-explain            (插件自己的同源路由)
  │
  ▼
index.js: 内存中新建 thread → ctx.llm.stream(...)
  │
  │  client.js 每 350ms 轮询:{endpoint:'poll', threadId}
  ▼
{state, text, error} → 面板渲染增量文本

主对话的 Session 不在这条链路上。临时对话不产生任何会话事件,因此不会影响回放、压缩或下一次模型请求。

文件

文件 作用
index.js Host 半边:/api/quick-explain 路由、内存对话、模型调用、空闲回收
client.js Client 半边:选区监听、浮动按钮、右侧面板、轮询
cordis.patch.yml 把插件行插入 profile
locale/*.json 插件列表里的标题与描述(中/英)
icon.svg 插件图标

开发

把本目录作为 Local directory bundle 安装,修改后重启 DSH 以加载新的客户端代码:

npm pack            # 生成 dsh-quick-explain-<version>.tgz

Host 半边(index.js)是无构建步骤的 ESM;Client 半边(client.js)是向 window.__ModuleLoader__ 注册懒加载工厂的普通脚本。

要求:DSH 0.2.1-rc.2 或提供 ctx.connection.fetch、ctx.llm、ctx.agentDefaultModel 以及 shell.overlay 客户端槽位的兼容版本。

隐私

选中的文字、它所在的段落以及你的追问会发送给 DSH 中配置的模型提供方——也就是你主对话已经在用的同一个提供方。临时对话本身只存在于 Host 进程内存:不写入会话日志、不落盘,重启即清空。

已知限制

  • 解释器只能看到选区和它所在的段落,看不到完整会话历史——这是"不触碰主会话"的代价。
  • 回答支持轻量行内 Markdown(**粗体** 与 `代码`),不解析标题和列表。
  • 临时对话是进程内状态,重启 DSH 后清空。
  • 界面文案目前只有中英文。

开发

客户端由 src/ 打包成单个注入脚本:

npm install   # prepare 钩子会自动构建
npm run build # 重新生成 client.js

许可证

MIT © 2026 JujiuYey