dsh-plugin-control-your-capture:在 DSH 里按物理像素截图

前言

在 DeepSeek Harness(DSH)里让模型「看屏幕」,常见做法是调用截图工具或脚本。高 DPI 显示器上,若采集进程未声明 DPI 感知,往往只能采到逻辑分辨率:同一区域再编码成 PNG,文字和 1px 线仍会发虚——问题在采样,不在格式。下面介绍社区插件 dsh-plugin-control-your-capture(维护者 HaoyanZhang123):把按物理像素抓屏做成 DSH 工具,结果同时落盘 PNG 并交给附件库,供会话中的模型使用。

这是什么

dsh-plugin-control-your-capture 是 DSH 的客户端类面板插件(当前资料版本:v0.2.2,技能 capture-sharp 同版)。定位一句话:挂载时注册 capture_screenshot 与 capture_probe,并按后端报告的物理像素采集显示器、窗口或区域;只允许一次缩小,永不放大。包本身零运行时 npm 依赖(Node ≥ 18),实际采集依赖系统能力(Windows GDI、macOS screencapture、Linux 的 maim / scrot / import 或 Portal / grim 等)。许可证 MIT。

社区目录页:skillhub.cn 插件条目;源码与说明:GitHub 仓库(目录页星标 4,与 README 一致)。

核心功能

能力 说明
capture_screenshot 目标类型 display / window / region;默认 PNG、默认不缩放
capture_probe 只诊断不截图:显示器、后端、权限、输出根、技能健康度、各目标支持等级
双通道交付 同一份字节写入工作区 PNG(path),并进入附件库(image);模型可见尺寸以 image.width / image.height 为准
结构化失败 失败带 code、message、details、hint
极薄技能 挂载时将 capture-sharp 装到全局技能目录(默认 $DSH_HOME/skills),技能只引导工具调用与失败处理,不含脚本

README 中的平台支持矩阵对各级别有明确定义(stable / beta / experimental / unsupported)。截至文档口径:Windows 10/11 单屏 console 下三类目标均为 beta(本机真机跑通区域截屏与读图);多屏、混合 DPI、HDR、RDP 等多为 experimental 或 unsupported;macOS、Linux X11 / Wayland 零真机,标为 experimental;headless / CI 一律 no_display;target:"all" 在 0.2.0 起不提供。

安装与启用

前提:已安装 DSH。

dsh plugin add dsh-plugin-control-your-capture

说明来自 README:

  • 新装 bundle 可经 HMR 生效;替换已安装包须重启 DSH 才会加载新模块。
  • DSH 官方限制:已安装插件不支持自动更新,升级请先卸载再装新版。
  • 挂载时注册两个工具,并把 capture-sharp 写入全局技能目录(可通过配置关闭技能安装,工具仍可用)。

可选配置写在插件行的 config: 中,例如 skillRoot、skillInstall(默认 true)、skillCleanupOnUnload(默认 false)、timeoutMs(默认 20000)、服务级 maxWidth。配置非法会导致插件加载失败,不会静默回退默认值。

典型用法

自然语言即可触发(如「截个图」「把当前窗口给我看」),也可直接指定参数。常用字段:

参数 取值 说明
target display / window / region 缺省 display
region {x, y, width, height} 仅 region 时必填;物理像素,相对所选显示器左上角
out 工作区根内相对路径 默认 output/capture/<uuid>.png
maxWidth 正整数 小于原生宽度时缩小一次;大于等于原生宽度时不放大

裁一块区域看细字的示例(来自 README):

{ "target": "region", "region": { "x": 600, "y": 200, "width": 1600, "height": 900 }, "maxWidth": 1600 }

使用前可先调用 capture_probe,核对 targets 与矩阵是否一致。

尺寸别混用:磁盘 PNG 的 width / height 与附件库归一化后的 image.width / image.height 可能不同。全屏大图进入模型时,附件库可能按像素预算等比缩小并重编码(warnings 中会出现 model_image_downscaled 等)。要看细字或 1px 线,文档建议用 target:"region" 裁目标区域,而不是依赖放大。

适用场景与注意

适合谁:需要在 DSH 会话里把本地屏幕内容以较高保真交给模型判读(文档、UI 细字、对比截图质量)的开发者;尤其 Windows 单屏 console 下有 beta 级实测描述。

运行与信任:插件以当前 DSH 进程权限运行,会启动原生辅助进程完成采集。安装前应阅读仓库源码与 MIT 许可证,自行评估是否满足环境要求。

已知限制(摘自 README):

  • 0.2.0 起仅保留截图三类目标;0.1.x 的录屏与网页截图已移除,升级需卸载旧版、装新版并重启 DSH。
  • target:"window" 对部分 GPU 合成窗口可能得到近似纯色图(warnings 含 content_uniform),可改用 display 或 region。
  • 不注册 UI 卡片;不修改 system prompt,也不通过 tools.restrict 强制优先调用。
  • 每次调用启动原生辅助进程,文档给出 Windows 上单次耗时量级(全屏约 812 ms 中位数等)——保真优先于速度。

DSH 生态理念是「一切皆插件」;skillhub.cn 为社区目录站点,与 DeepSeek / 幻方无官方从属关系。

结尾

dsh-plugin-control-your-capture 把「声明 DPI 感知 + 物理像素采样 + 双通道交付」收敛成 capture_screenshot / capture_probe,避免在高 DPI 屏上把逻辑像素截图误当成高清图。需要试用或提 issue 时,见 目录页 与 GitHub 仓库。

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

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

Xiaoye