前言¶
在 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 仓库。