dsh-screenshot-hotkey:系统热键截图标注,不抢焦点写入 DSH 输入框

前言

在 DSH 里向模型贴图时,常见做法是先切到系统或第三方截图工具,再回客户端粘贴。窗口一抢焦点,要截的区域常被挡住;DSH 在后台或最小化时,入口也不顺手。DeepSeek Harness 的插件机制允许在输入区旁挂能力、用宿主接口写回会话。下面介绍社区客户端插件 gcolt888/dsh-screenshot-hotkey:微信式框选与标注,配合系统级热键(默认 Ctrl+Alt+S),按下时不把 DSH 拉到前台,截完尽量直接进当前会话输入框。

这是什么

dsh-screenshot-hotkey 由维护者 gcolt888 发布,归类为 客户端 插件。它在 DSH 作曲者(composer)侧提供截图标注,并注册全局快捷键;框选针对的是你正在看的前台窗口,而不是被迫先激活 DSH。

实现上基于 @sfunction/dsh-screenshot(MIT)扩展,仓库保留原版权声明,许可证为 MIT。package.json 声明依赖 DSH 版本范围为 >=0.2.0-rc.2 <0.3.0-0,当前包版本为 0.4.3。

核心功能

已核实能力如下,均来自项目 README:

  1. Ctrl+Alt+S 随处可用:DSH 在前台、后台或最小化均可;不会因弹窗遮住待截区域。
  2. 框选与标注:冻结屏幕、拖拽选区;支持画笔、矩形、文字、马赛克与颜色;Enter 或确认完成。
  3. 取消与回撤:右键取消(Esc 亦可),逐级返回:先撤标注 → 再清选区 → 最后关窗。
  4. 自动插入:完成后写入当前会话输入框;找不到输入框时退回剪贴板并提示。
  5. 改键:在 DSH「设置 → 通用设置 → 快捷键」中搜索「截图标注」录制新键位,全局热键会跟随 keybindings.json 重载。
  6. 设置页:DSH「设置 → 截图标注」可查看当前键位。
  7. 输入框按钮:client.js 在输入框左侧提供按钮,并向快捷键服务登记 dsh-screenshot.capture(占位、可改键)。

安装与启用

官方安装命令如下(装完需重启 DSH):

dsh plugin --profile desktop add github:gcolt888/dsh-screenshot-hotkey

README 也说明收录市场后可从市场安装。插件在 Windows 上运行,依赖 WPF/WinForms 原生选区窗口;首次截图或首次启动时,会用 Windows 自带的 .NET Framework 4 的 csc.exe 从 select.cs、hotkey.cs 现场编译 shot.exe、hotkey.exe。

典型用法

用全局热键截图并送入对话

  1. 保持要截内容的窗口在前台(无需先点 DSH)。
  2. 按默认 Ctrl+Alt+S(或你在面板里改好的组合键)。
  3. 在冻结画面上框选区域,按需标注,Enter 或 ✓ 完成。
  4. 回到 DSH 当前会话:图片应出现在输入框;若未找到输入框,结果在剪贴板并会有提示。

在客户端内改快捷键

  1. 打开 DSH「设置 → 通用设置 → 快捷键」。
  2. 搜索「截图标注」,录制新键位。
  3. 全局热键会自动重载(读取 keybindings.json)。

冲突时的处理

若热键与其他软件冲突(README 举例:QQ 截图默认 Ctrl+Alt+A),在面板里改键即可。

工作方式概览

便于排障时对照组件职责:

部分 作用
client.js 输入框左侧按钮;登记 dsh-screenshot.capture;长轮询 /shot/pending 取外部截图并贴进输入框
index.js 宿主侧:/shot/capture 打开选区、/shot/pending 长轮询交付、拉起并守护 hotkey.exe
hotkey.cs → hotkey.exe 系统级 RegisterHotKey,按下直接运行 shot.exe(不激活 DSH),结果写入临时队列目录;读 keybindings.json 跟随改键
select.cs → shot.exe 全屏冻结、框选、标注的原生窗口

运行日志路径:%TEMP%\dsh-shot-hotkey.log。

若需改截图入口逻辑,可编辑 select.cs 后按 README 重编译 shot.exe:

csc -nologo -target:winexe -optimize -out:shot.exe -r:System.Windows.Forms.dll -r:System.Drawing.dll select.cs

适用场景与注意

适合谁

  • 主要在 Windows 上使用 DSH desktop profile,希望在写 prompt 时快速贴图、标重点,且不想被 DSH 窗口挡住目标界面的人。
  • 需要与微信式截图类似的框选与简单标注,而不是仅系统剪贴板截图的用户。

务必注意

  • 仅 Windows:package.json 的 os 为 win32,非 Windows 环境不适用。
  • 插件权限:客户端插件随当前 DSH 进程运行;安装前建议浏览 GitHub 仓库 源码与 MIT 许可证,确认行为符合你的环境策略。
  • 社区生态:DSH 强调「一切皆插件」;SkillHub 目录页 为社区站点,与 DeepSeek / 幻方无官方从属关系,不等同于官方应用商店。
  • 开发同步:本地改源码后需用仓库内 sync-to-profile.cmd 同步到本机 DSH profile;README 强调 profile 的 node_modules 须为真实目录,不能用 junction,否则客户端可能长时间卡在 Loading plugins。

结尾

dsh-screenshot-hotkey 把微信式截图标注和不抢焦点的全局热键接到 DSH 输入框:适合在桌面 profile 里高频贴图说明问题。安装用官方 dsh plugin --profile desktop add 命令,改键与设置页均在 DSH 内完成;排障可看 %TEMP%\dsh-shot-hotkey.log。

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

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

小夜