划词助手(dsh-select-assist):Windows 下用 DSH 解释、总结、翻译与引用选区

前言

在 Windows 上查资料、读文档时,常见做法是复制一段文字到浏览器或聊天窗口再问模型。这样会打断当前应用、反复改剪贴板,回答也往往落在另一个窗口里。DeepSeek Harness(DSH)支持通过 bundle 插件扩展客户端能力;「划词助手」面向「在任意应用里选中文字即可操作」这一路径,用宿主模型做解释、总结、翻译,或把原文引用进会话,结果落在可拖动、可缩放的置顶浮窗中。本文介绍该插件的定位、能力与安装用法,事实以仓库 README 与包元数据为准。

这是什么

dsh-select-assist(显示名「划词助手」,包名 dsh-select-assist)是面向 Windows 的 DSH bundle 插件,维护者为 GitHub 用户 yjh248619。项目基于 fyisgod/dsh-selection-tools(MIT)扩展:README 说明新增了总结能力、直连引擎与四段划词菜单,并修复划词菜单偶发不弹、回答窗位置固定等问题;本地改造版去掉朗读,第四段菜单为「问问」。许可证为 MIT,平台标签为 Windows,运行时无额外依赖声明。

在 DSH 生态里,插件按「一切皆插件」的方式挂载;社区目录站点(如 SkillHub 插件页)与 DeepSeek / 幻方无官方从属关系,安装前仍应自行查看源码与许可证。

核心功能

系统级划词与四段菜单

在任意 Windows 应用中拖选或双击选词后,以选区右下角为锚点在第四象限弹出横向菜单,四项为:解释、总结、翻译、问问。前三个在置顶悬浮窗中流式显示回答;「问问」将原文引用进 DSH 会话。一份选区在同一手势下只弹一次菜单;菜单收起后,旧选区仍留在应用里也不会重复弹出,需重新划词才会再出现。

取词与剪贴板策略

菜单在选手势落下时即弹出,主路径不再依赖「先 Ctrl+C 取词再弹菜单」。选中文字在用户点击菜单项时才解析:优先用 UI Automation(UIA)直接读取选区,并可读选区所在段落作为上下文;读不到时再注入一次 Ctrl+C 读剪贴板兜底。README 说明,在 UIA 无法说话或只报空选区等情形下,弹菜单前可能仍会注入一次 Ctrl+C 以核实是否真有选中文字,可通过环境变量 DSH_SELECTION_CONFIRM=0 关闭该确认。

菜单与回答窗口

划词菜单默认显示时限 3.6 秒,超时、Esc 或鼠标点到别处会收起。回答窗口需手动点标题栏关闭才会消失;新划词不会关闭已有回答窗,内容也仅在点击解释/总结/翻译菜单项时更新。标题栏提供关闭与复制;复制将回答写入剪贴板。

总结、翻译与上下文

「总结」对长文先给核心结论,再列要点,有结构时尽量保留层次。翻译规则可在设置中修改:词/短语可走词典式输出(含音标、多义项等),句段则先整段译文,必要时附加关键术语说明。手势落下后 UIA 可读「选区 + 所在段落」一并送给模型;读不到则降级为仅选区或剪贴板。

页内划词(保底)

同一套菜单与悬浮窗还注册在 DSH 的 shell.overlay 槽位。系统级能力不可用(例如未装 koffi 或被关闭)时由页内路径接管,在 DSH 窗口内划词仍可用,渲染使用官方 Markdown 原语。

回答引擎与设置

设置入口为 DSH「设置 → 划词工具」,可改默认翻译语言、解释/总结/翻译提示词、「问问」是否附带上文,以及各动作使用的模型与推理等级;配置持久化在 DSH_HOME/dsh-select-assist.json,改完立即生效。

engine 两种模式:

  • direct(默认):插件经宿主 llm 服务流式调用,不建 DSH 会话;延迟较低,但无系统提示与工具,划词记录不进侧栏,不能在侧栏里追问。
  • agent:经 ctx.agents 跑真实会话回合,每次划词为新会话且跑完不归档,会话出现在侧栏「未分组」,可点入追问;首字需等整轮完成,更慢。

系统级浮层用 GDI+ 自绘 markdown-lite;伴生进程通过 koffi 调 Win32/GDI+,不依赖浏览器、不另起浏览器进程。架构上 DSH 进程内的 Cordis 插件提供 /api/dsh-select-assist/run(SSE)等接口,与伴生进程 HTTP 通信;详见仓库 README 架构图。

npm 上当前发布版本为 0.9.8(README 与 package.json 一致)。

安装与启用

仓库为 bundle 插件包,构建产物已入库,从 git 源安装无需本地构建。安装后需重启 dsh web(或重启承载它的桌面端)使 bundle 层栈生效。

# npm(已发布)
dsh plugin --profile web add dsh-select-assist

# GitHub 一行装
dsh plugin --profile web add "github:yjh248619/dsh-select-assist"

# 本地检出目录
cd <本仓库路径>
dsh plugin --profile web add .

卸载或更新:

dsh plugin --profile web remove dsh-select-assist
dsh plugin --profile web update

自检示例(默认本机 DSH 端口,以你环境为准):

curl http://127.0.0.1:3080/api/dsh-select-assist/ping
curl http://127.0.0.1:3080/api/dsh-select-assist/system/status

典型用法

  1. 完成安装并重启 DSH 后,在记事本、浏览器或其它 Windows 应用中选中一段文字。
  2. 在选区右下角出现的菜单中选 解释、总结 或 翻译,在置顶浮窗中查看流式结果;需要继续对话时选 问问,在 DSH 会话中引用原文。
  3. 若需在侧栏追问单次划词,在设置中将引擎切为 agent;若更看重响应速度且不需会话归档,保持 direct。
  4. 在「设置 → 划词工具」中按需求改目标语言、提示词与模型;系统级能力异常时可查看 system/status 或按需 system/restart(README 列为诊断用途)。

DSH 页面内划词时,仍使用同一菜单逻辑,由 shell.overlay 呈现。

适用场景与注意

适合在 Windows 上长期使用 DSH、希望在任何前台应用里快速对选区做解释/总结/翻译或扔进会话的开发者或写作者。插件以当前 dsh 进程权限运行,伴生进程监听全局鼠标与创建置顶窗口;安装前应阅读 GitHub 仓库 源码与 MIT 许可。非 Windows 平台不在 README 支持范围内。控制台/终端窗口默认跳过划词(避免误触 Ctrl+C 中断)。直连模式下划词不进入侧栏会话列表,与 agent 模式的取舍已在设置中说明。

结尾

「划词助手」把 DSH 模型接到 Windows 系统级选区上,用 UIA 为主、剪贴板为辅的取词策略和原生置顶浮窗,减少复制粘贴与窗口切换。目录与源码:

  • SkillHub:https://www.skillhub.cn/plugins/yjh248619/dsh-select-assist
  • GitHub:https://github.com/yjh248619/dsh-select-assist
羽毛球分组比赛记分
小程序二维码

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

小夜