dsh-screenshot:在 DSH 对话里一键冻结截屏、框选复制并存盘

前言

在 DeepSeek Harness(DSH)里把屏幕上的内容交给模型,常见做法是:系统截图、在磁盘里找文件、再拖进对话。步骤多,也容易打断编写提示词的节奏。社区插件 dsh-screenshot(维护者 GYL9999)把这条路径收成:点「截屏」→ 在冻结画面上框选 → Enter 复制,或保存后把路径写进输入框草稿。本机桌面截图面向 Windows,依赖 PowerShell 与 System.Drawing,README 写明其他平台仍可用浏览器侧 getDisplayMedia 兜底。

这是什么

dsh-screenshot 是 DSH 的客户端类截图插件:在输入框工具栏(「剪辑」右侧)提供「截屏」入口,并支持全局快捷键 Ctrl+Alt+S。整屏抓取多显示器虚拟桌面后立刻冻结覆盖在界面上,用户可直接拖矩形选区,或切换到窗口吸附模式截取单个顶层窗口;复制、保存与向对话插入路径由插件统一处理。仓库地址:GitHub GYL9999/dsh-screenshot;社区目录:skillhub 条目。许可证 MIT,当前 package.json 版本为 1.0.0。

核心功能

下面按 README 已列能力归纳,不超出文档表述。

整屏冻结与框选

点「截屏」后抓取整个虚拟桌面(多显示器、物理像素),以冻结画面覆盖界面,无需在系统弹窗里先选窗口。在冻结层上拖矩形,框外压暗;Enter 或 Ctrl+C 复制选区并关闭,Ctrl+S 保存。

窗口吸附

工具条点「窗口」,鼠标悬停高亮,单击截取该窗口自身渲染(PrintWindow);被其他窗口遮挡时仍可拿到窗口完整内容(非单纯屏幕像素叠层)。

复制、保存与对话草稿

复制走系统剪贴板。保存落到 %USERPROFILE%\Downloads\dsh-screenshots\,并把文件路径自动插入输入框草稿,便于模型按路径读取本机文件。

快捷键

按键 作用
Ctrl+Alt+S 随时唤出截屏
R 重新截屏
Esc 先清选区再关闭
Backspace 清空选区

Agent 工具与浏览器兜底

Host 侧注册工具 screen_capture,模型可自行截屏并取得路径;参数 read: true 时可选调用 modlens 视觉桥(OCR/版面/语义),需本机已配置 modlens provider,未配置时只返回提示,不影响截图本身。本机 loopback 路由不可达时,客户端可用 getDisplayMedia 从页面侧共享屏幕。

性能(作者本机实测)

早期每次截图新起 PowerShell 并现场编译 P/Invoke,耗时约 2 秒级。当前在插件激活时拉起常驻 worker,C# 只编译一次;README 给出的对比为整屏约 0.16–0.24 s、窗口列表约 0.09 s、单窗口截图约 0.24 s(worker 崩溃或超时会自动重启)。

安装与启用

安装命令须使用 README 原文(注意 --profile desktop):

dsh plugin --profile desktop add github:GYL9999/dsh-screenshot
# 然后重启 DSH

装好后输入框旁出现「截屏」按钮;Ctrl+Alt+S 同样可用。插件以当前 DSH 进程权限运行,安装前建议浏览仓库源码并确认 MIT 许可是否符合你的环境要求。

典型用法

  1. 在 DSH 桌面配置装好插件并重启后,在对话输入框旁点「截屏」,或按 Ctrl+Alt+S。
  2. 在冻结画面上拖拽矩形框住要给模型看的区域,按 Enter 复制,再在输入框 Ctrl+V 粘贴;或按 Ctrl+S 保存,由插件把落盘路径写入草稿。
  3. 需要整窗内容时,在工具条选「窗口」,悬停确认高亮窗口后单击;保存路径默认在 %USERPROFILE%\Downloads\dsh-screenshots\。
  4. 若由 Agent 调用,使用 Host 暴露的 screen_capture;需要识图时再按文档配置 modlens 并传 read: true。

Host 仅接受 loopback 且同源的本机 API,例如:

  • GET /api/fullscreen-shot:整桌 PNG
  • GET /api/fullscreen-shot/windows:顶层窗口列表与虚拟屏边界
  • GET /api/fullscreen-shot/window?id=<hwnd>:单窗渲染
  • POST /api/fullscreen-shot:保存 PNG 并返回路径

适用场景与注意

适合谁: 常在 Windows 上使用 DSH 桌面配置、需要把界面、报错弹窗或多显示器画面快速交给模型的开发者;需要在对话里保留可复用文件路径而非仅剪贴板位图时,保存落盘更合适。

限制(README 已知): 窗口选择仅在预览为整屏时可用;裁切后或已是窗口截图时坐标不再对应屏幕。DSH 自身窗口不进窗口列表(避免 UI 线程忙时自截卡死)。最小化窗口不列入候选。原生截图仅 Windows;其他平台依赖浏览器兜底。

DeepSeek Harness 生态强调「一切皆插件」;skillhub.cn 等社区目录为独立站点,与 DeepSeek / 幻方无官方从属关系。

结尾

dsh-screenshot 把「系统截图 → 找文件 → 拖进对话」压成工具栏一键与若干快捷键,并在 Windows 上通过常驻 worker 降低重复截图延迟。进一步了解实现与 issue,见 GitHub 仓库 与 目录页。

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

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

小夜