dsh-explain-selection:选中回答文本就地解释,不污染主对话

前言

在 DSH 里读模型回答时,遇到术语或公式片段,常见做法是再发一条「这个词什么意思」——追问会进入会话日志、占用主对话上下文,上下文一长还要往上翻。另一种做法是在外部查资料,但会打断阅读节奏。

下面介绍社区插件 dsh-explain-selection(维护者 KLAX54ix,分类:客户端):在回答正文里选中文字,右键「解释」,贴着选区弹出讲解卡片;卡片内可继续选中或点击术语追问,支持拖拽、指向线与多级嵌套。解释由宿主通过 ctx.llm 流式生成,不写进会话日志、不进入主对话上下文。

这是什么

dsh-explain-selection 是 DeepSeek Harness(DSH)的客户端插件,当前版本 0.1.1,MIT 许可证。源码仓库:https://github.com/KLAX54ix/dsh-explain-selection;社区目录页:https://www.skillhub.cn/plugins/KLAX54ix/dsh-explain-selection。

它解决的核心问题是:就地消歧术语,又不把解释问答当成对话消息。卡片浮在回答上方,切换会话或项目时卡片与进行中的请求一并销毁;答案缓存仅在内存中,刷新或重启即失效。

核心功能

选中解释与嵌套追问

  1. 在回答里选中文字 → 右键 → 解释,卡片贴着选区弹出。
  2. 解释里带虚线下划线的术语可点击,在旁边开新卡片;也可在卡片正文里任意选中再解释,层数不限。
  3. 每张卡片底部可有浅灰小字,例如 已带上下文(上下文 172 字) 或 已带上下文(父术语「磁化率」+ 上下文 68 字),表示本次解释实际带上的消歧信息。

顶层解释会带选区前后各 120 字;在卡片里追问时带父卡片那段解释 + 父术语。答案约束为两句话以内、最多 80 字;同一句话里同一词重复解释时使用内存缓存,不发请求。

卡片交互

动作 操作
复制 右键菜单中的 复制
移动 抓住头部左侧 ⣿ 手柄拖动;拖走后头部出现 ⤺ 可归位,或双击手柄
指向线 拖动过程中有淡虚线从卡片指回所解释的文字
滚动页面 按住卡片不放时滚轮仍可滚动对话
收起 / 展开 头部 – 收成贴着原文的小胶囊;点胶囊展开
关闭 头部 ×;关闭父卡片时子卡片一起关闭
关闭右键菜单 Esc、点击别处、滚动、缩放窗口

页面滚动或缩放时,未拖走的卡片跟着原文走;被拖走(停靠)的卡片停在用户放置的位置。收起父卡片时子卡片一起隐藏;展开后回到原位。

与主对话的关系

  • 解释不进会话日志:宿主半体在自有路由里直接调用模型,不经过 agent loop。
  • 不使用默认会话的模型切换逻辑时,插件使用当前默认模型(README 已知限制)。
  • 选区跨词边界时,插件会说明这不是一个词、原本属于哪个词,不会编造含义。

性能与实现要点

插件会查询模型支持的推理强度档位并取最便宜的一档(通常为 off),避免 DeepSeek 适配器默认 high 推理占满 max_tokens 导致卡片截断;选中文本上限 400 字,输出上限 256 token。客户端文案目前硬编码中文,未接 ctx.locale。

安装与启用

命令行安装(非 Desktop 独占 profile 时):

dsh plugin add github:KLAX54ix/dsh-explain-selection

DSH Desktop:desktop profile 由 Electron 应用管理,命令行添加会被拒绝。请在应用内 设置 → 插件 → 添加插件,填写:

github:KLAX54ix/dsh-explain-selection

安装后重启一次应用:index.js 为宿主半体,仅在启动时加载;client.js 会自动热加载。

插件以当前 DSH 进程权限运行,安装前建议阅读仓库源码与 MIT 许可证。本插件在 DSH developer preview(README 提及 0.2.0-rc.2)期间开发,官方可能有破坏性变更,升级后若失效可在 GitHub 提 issue。

典型用法

  1. 打开一条包含专业术语的回答。
  2. 选中不懂的词(例如「临界指数」)→ 右键 → 解释,等待流式完成(界面可能显示 正在解释…)。
  3. 在卡片内继续选「磁化率」「幂律」等,或点击带虚线下划线的术语,逐层追问;全程主对话列表不应新增解释类消息。
  4. 需要调整位置时拖动手柄;阅读长回答时可收起卡片为胶囊,或关闭 × 结束本条解释链。

术语是否可点击,取决于模型是否按约定输出 [[术语]] 标记;无标记时仍可用「选中 + 右键」嵌套。插件未做整段批量解释;缓存不持久化。

适用场景与注意

适合:在 DSH 客户端/Web 端阅读长回答、需要快速消歧名词或公式片段,且希望主对话保持「只有原任务消息」的开发者或重度用户。

注意:

  • 解释依赖当前默认模型与网络,线索不足时模型会承认不确定。
  • 切换项目或会话后卡片不保留。
  • 社区目录(SkillHub)与 DeepSeek / 幻方无官方从属关系;DSH 生态理念是「一切皆插件」,本插件为社区维护的客户端扩展。

结尾

dsh-explain-selection 把「选中 → 解释 → 卡片内追问」做成不写入主对话上下文的阅读辅助,适合在 DSH 里啃技术回答时使用。目录页:https://www.skillhub.cn/plugins/KLAX54ix/dsh-explain-selection;源码与完整说明:https://github.com/KLAX54ix/dsh-explain-selection。

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

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

Xiaoye