dsh-screen-reader:给 Agent 装上眼睛

前言

在模型推理场景中,让 Agent 看见屏幕通常需要人工介入——手动截图、粘贴、再让模型分析。这破坏了自动化流程的连贯性。

dsh-screen-reader 插件解决了这个问题。它让 Agent 在执行过程中直接抓取屏幕图像,并将图像本身作为内容块传递给当前模型,而不是经过第二个模型转述。此外,它提供本地精确像素差分功能,由本地计算“变了没有、变在哪”,模型只负责回答“变成了什么”。

核心功能

插件提供两个主要工具:see_screen 和 see_diff。

see_screen:抓屏并直接传给模型

该工具抓取屏幕、窗口或特定区域,并将图像直接交给当前模型查看,不经过任何中间层。

  • 参数:
    • window:抓取特定窗口。
    • region:抓取特定区域。
  • 图像处理:图像在 provider 侧会被强制归一化,上限为 384 视觉 token。

see_diff:本地像素差分

该工具比较两张图像,通过本地精确像素差分定位变化区域,然后将变化区域交给模型解释。

  • 工作流:
    1. 本地计算差异。
    2. 定位变化区域。
    3. 模型只回答“变成了什么”,不负责判断“变了没有”。

安装与启用

插件仅支持 Windows。

  1. 使用以下命令安装插件(通过 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
  1. 安装完成后重启 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
羽毛球分组比赛记分
小程序二维码

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

小夜