dsh-shot:给 DSH 补上截图能力,截完直接进输入框草稿

前言

用 DSH 跟智能体排查问题时,常见一类需求是”帮我看看这个报错弹窗”。模型看不见屏幕,我们要么自己截图贴过去,要么复制一大堆文本,信息还不一定全。dsh-shot 这类插件的解法是把截图做成 DSH 的一个内置能力:全局快捷键触发,拖框选区,截图进入当前会话的输入框草稿,回车才发给模型。下面介绍这个插件的构成、安装方式和使用要点。

这是什么

dsh-shot 是 DeepSeek Harness(DSH)的一个截图插件,维护者为 EasySSHCN,作者是 ZhenAn,当前版本 0.1.1,许可证 MIT。它把截图从操作系统的剪贴板能力接到 DSH 上:既能由用户手动触发,也能作为智能体工具 screenshot 由模型调用。插件采用客户端半区 + 服务端 patch 的结构,客户端入口注册在 conversation.input.left 槽位,因此截图结果直接出现在对话输入框的草稿里。

核心功能

先列已核实的能力,都是 README 中明确写到的:

  • 全局快捷键,默认 Ctrl+Alt+A,浏览器没有聚焦也能用
  • 输入框相机按钮,点击后等价于快捷键流程,截图进入输入框草稿
  • /shot 命令,可带区域参数,也支持跳过覆盖层直接截指定矩形
  • 智能体工具 screenshot,模型可在用户要求看屏幕、窗口或报错弹窗时自行触发
  • 覆盖层上的动作:入会话(进输入框草稿)、翻译、OCR、复制(仅进入剪贴板,不进任何会话)
  • 截图不自动发送,始终需要用户按回车

环境要求

截图通过 PowerShell + WinForms 覆盖层实现,所以只在 Windows 10/11 可用,暂不支持其他系统。DSH 版本方面,README 说明已在 0.2.2-rc.1 上实测,package.json 的 engines 字段声明兼容 0.2.1+,依赖 client-modules 网页端插件加载器。更旧或未发布的版本行为可能不同。

插件零外部依赖、无编译产物:覆盖层窗口由 PowerShell Add-Type 在进程内编译,README 称这样可以避开杀软对”来路不明的新二进制”的误报。

安装与启用

官方提供的安装方式是 DSH CLI 从 npm 安装:

dsh plugin --profile <你的profile> add dsh-shot

如果需要从本地目录或 GitHub release 包安装,README 也给出了命令:

# 本地目录
dsh plugin --profile <你的profile> add file:/path/to/dsh-shot-plugin

# tarball(npm 风格 URL)
dsh plugin --profile <你的profile> add https://github.com/EasySSHCN/dsh-shot/releases/download/v0.1.1/dsh-shot-0.1.1.tgz

DSH Desktop 用户不必走命令行,在应用内「设置 → 插件」搜索 dsh-shot 安装即可。装完后如果输入框里没有出现相机按钮,刷新一次页面。

典型用法

下面这些操作对应 README 中的功能说明,可以直接复现:

操作 效果
Ctrl+Alt+A(全局) 覆盖层拖框 → 回车 → 截图进入最近活跃会话的草稿
输入框相机按钮 与快捷键完全相同的覆盖层与草稿流程
/shot 覆盖层拖框选区
/shot x,y,w,h 跳过覆盖层,直接截取指定矩形
智能体 /screenshot 工具 用户要求看屏幕/窗口/报错弹窗时由模型触发

/shot 的区域参数按 x,y,w,h 顺序读取,例如 /shot 100,100,800,600 表示从 (100,100) 开始截一个 800x600 的矩形。

覆盖层拖完框后会出现动作选择。选「入会话」会把 PNG 放进输入框草稿;选「翻译」或「OCR」会自动附上预设说明(分别是”翻译这张截图里的文字”和”提取全部文字”);选「复制」只写剪贴板,不进入任何会话。

配置

快捷键通过 profile 补丁(cordis.patch.yml)自定义。README 给出的写法是:

- id: dsh-shot
  name: dsh-shot
  config:
    hotkey: Ctrl+Alt+A   # 任意 RegisterHotKey 风格组合键,如 Ctrl+Shift+S

改完后需要重载插件才会生效。这条配置在插件目录内,默认随包发布,不需要手工创建。

隐私与安全

截图完全在本地完成:PNG 落在临时目录和用户选择的会话里,插件不向任何地方上传数据。快捷键守护进程意外退出后保持停用,不会静默自动重启,退出原因会记录到控制台。副作用是:如果守护进程停了而用户没察觉,快捷键会直接失效,需要手动重新加载插件。

适用场景与注意

适合在 Windows 上用 DSH Desktop 或 CLI 工作、希望把屏幕画面直接喂给智能体的人。凡是需要”看看当前屏幕”“提取这个弹窗里的文字”的场景,都比手工截图再粘贴省一步。

需要留意的几点:

  1. 插件以当前 dsh 进程的权限运行,覆盖层窗口由 PowerShell 拉起,安装前应当先阅读仓库源码与 MIT 许可证,确认 helper/*.ps1 的行为符合预期后再使用。
  2. 快捷键可能被其他应用占用,表现为按了没反应,按上面的配置换成别的组合键再重载即可。
  3. 杀软可能拦截覆盖层。由于它是 PowerShell 承载的进程内编译 WinForms 代码,README 建议被拦截时把 helper/*.ps1 加入白名单,而不是直接放弃使用。
  4. 该插件面向 win32,package.json 的 os 字段为 ["win32"],macOS/Linux 用户安装无意义。

结语

dsh-shot 的价值不在于多一个截图工具,而在于把”截屏—喂给智能体”这条链路做短:快捷键或相机按钮触发,覆盖层拖框,结果进草稿,回车发送,中间没有文件传输环节。目录页在 https://www.skillhub.cn/plugins/EasySSHCN/dsh-shot,源码与 issue 建议直接走 GitHub:https://github.com/EasySSHCN/dsh-shot。

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

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

小夜