前言¶
在模型推理场景中,让 Agent 看见屏幕通常需要人工介入——手动截图、粘贴、再让模型分析。这破坏了自动化流程的连贯性。
dsh-screen-reader 插件解决了这个问题。它让 Agent 在执行过程中直接抓取屏幕图像,并将图像本身作为内容块传递给当前模型,而不是经过第二个模型转述。此外,它提供本地精确像素差分功能,由本地计算“变了没有、变在哪”,模型只负责回答“变成了什么”。
核心功能¶
插件提供两个主要工具:see_screen 和 see_diff。
see_screen:抓屏并直接传给模型¶
该工具抓取屏幕、窗口或特定区域,并将图像直接交给当前模型查看,不经过任何中间层。
- 参数:
window:抓取特定窗口。region:抓取特定区域。
- 图像处理:图像在 provider 侧会被强制归一化,上限为 384 视觉 token。
see_diff:本地像素差分¶
该工具比较两张图像,通过本地精确像素差分定位变化区域,然后将变化区域交给模型解释。
- 工作流:
- 本地计算差异。
- 定位变化区域。
- 模型只回答“变成了什么”,不负责判断“变了没有”。
安装与启用¶
插件仅支持 Windows。
- 使用以下命令安装插件(通过 profile bundle 方式):
dsh plugin --profile <profile-name> add <package-name-or-local-path>
例如,从本地目录安装:
dsh plugin --profile <profile-name> add C:\path\to\dsh-screen-reader
- 安装完成后重启 DSH,以使新插件生效。
适用场景与注意事项¶
适用场景¶
- Agent 需要在执行过程中自我验证操作结果(例如:改完设置看一眼对不对)。
- 需要判断两张图之间的变化区域。
注意事项与限制¶
- 平台限制:仅支持 Windows,依赖 PowerShell 5.1 的
System.Drawing与PrintWindow。 - 视觉能力:插件不提升模型的视觉能力,它只是将图像传递给模型。
- 测量精度:精确测量像素误差可达 ±40%,主要用于描述而非测量。
- 识别难点:低对比度差异是危险区,形状语义是弱项。
- 分辨率与裁切:分辨率不影响准确度,裁切是提升细节密度的手段。
- 时间与因果:只有一帧,没有时间与因果(滚动屏幕记忆功能已删除)。
- 存储管理:附件库会增长,且没有任何清理手段。
附录¶
- 目录页:https://www.skillhub.cn/plugins/cbg33695/dsh-screen-reader
- GitHub:https://github.com/cbg33695/dsh-screen-reader
- 许可证:MIT