AB
AiBoss站
project

dsh-see-now - 让 AI 只接收「画面变了」的那几帧的实时视觉插件

dsh-see-now 是给 DSH 用的实时视觉插件:把屏幕、摄像头或视频文件变成按变化量筛选过的画面,几帧拼成一张图交给模型。项目自述静止屏幕几乎不出图,硬切幻灯片每切一次留一帧。Apache-2.0 许可,最新 release v0.0.10。

dsh-see-now 是一个面向 DSH 的实时视觉插件,由 SAOS-3624 维护。它要解决的问题很具体:如果想让模型「陪你看屏幕」,最直觉的做法是定时截全屏喂过去,但截得太密会产生大量重复画面、消耗大量 token,截得太疏又会把中间发生的事全丢掉。据项目说明,dsh-see-now 的思路是先给每一帧打一个 0–255 的「变化分」,只保留「画面突然换了一张」或「一直在动、攒够了量」的帧,再把留下的几帧拼进同一张图,把一张图的固定成本摊到多帧上。它适合希望让模型持续感知屏幕内容、又不想为此付出成倍图像成本的 DSH 用户,也适合把采集与拼图流水线当作普通 Node 库复用的开发者。

维护者与状态

仓库由 SAOS-3624 维护,创建于 2026-11-01,最后提交时间为 2026-11-03。最新 release 为 v0.0.10,发布于 2026-11-03。截至 2026-11-04,仓库星标数为 265。项目采用 Apache-2.0 许可证。

从时间线看,这是一个非常年轻的项目:创建到最新 release 只隔两天,版本号仍处于 0.0.x 阶段。读者在评估时应当把这一点纳入考虑——接口与行为仍可能快速变化。

主要能力

以下能力均据项目自述(README)整理,未经独立验证。

  • 按变化量筛选帧:每帧先在 64×36 网格上计算 HSV 三通道加权差,得到一个 0–255 的变化分;只有满足「切点」判据(分数跳得又高又孤立)或「积分」判据(分数不高但持续累积到阈值)的帧才会被保留。
  • 多帧拼一张图:留下的几帧被拼进同一张图,项目自述一张图里放 4 帧还是 8 帧成本相同,因此「多留一帧几乎免费,漏掉一帧才贵」。
  • 多种采集源:支持屏幕、摄像头,以及回放视频文件。
  • 三档节奏:calm / normal(默认)/ dense,分别对应不同的换画面门槛与最长唤醒间隔,用于在灵敏度与成本之间取舍。
  • 逐场景模式:scene:true 时每换一次画面单独输出一张满幅图,适合「每翻一页说一句」的用法。
  • 区域采集:可只盯屏幕上一块区域,项目说明支持通过交互方式框选,坐标持久化保存。
  • 语音输出通道:核心不内置 TTS 引擎,只动态加载用户指定的适配器模块;say 是唯一会进悬浮窗并被念出来的通道。
  • 可选的「听声音」:项目自述可抓取系统回环音频并转写为台词,与画面帧共用时间码,便于模型把一句话对到某一格画面上。
  • 独立 Node 库用法:包本身不依赖 DSH,capture / pipeline / png 均为独立导出。

使用入口

仓库地址:SAOS-3624/dsh-see-now。

据项目说明,在 DSH 中安装可通过 DSH 自带的插件命令完成:

dsh plugin --profile web add dsh-see-now

桌面版需换成 --profile desktop,且该 profile 需先启动过一次桌面端才会初始化。项目说明强调安装后需重启 DSH 生效,但不必新开会话。卸载与升级分别使用 remove 与 update 子命令。

从源码安装时,项目给出的流程是克隆仓库后运行 node scripts/install-dev.mjs,该脚本执行的是复制而非软链,装完同样需要重启 DSH。

作为普通 Node 库使用时,项目示例从 dsh-see-now/capture 导入 spawnFrames、从 dsh-see-now/pipeline 导入 createPipeline,把采集到的帧推入流水线,再周期性取出拼好的 PNG。

模型侧通过 see_now 工具调用,常用参数包括 action(watch / peek / start / stop / status / window / region)、quality、pace、scene、seconds、minFrames 等。

许可与限制

许可证为 Apache-2.0。项目自述允许个人、公司内部、闭源产品、SaaS 与二次分发使用,条件是保留 LICENSE 与 NOTICE 文件;提交 PR 不需要签 CLA。

项目自述中明确写出的限制包括:

  • 平台差异:Windows 使用 ddagrab,不可用时回退 gdigrab;macOS 使用 avfoundation,需要在系统设置中为运行 DSH 的应用勾选屏幕录制权限;Linux 的屏幕采集尚未接入。
  • ffmpeg 依赖:不必加入 PATH,插件会按若干约定路径自行查找,也可通过环境变量指定。
  • 「听声音」仅限 Windows:macOS 抓系统声音需要虚拟声卡,项目说明这一版未实现;此外它抓的是整个系统的输出,提示音、BGM、游戏音效都会进入转写,且转写为机器识别,可能存在同音字错误。
  • 区域采集的边界:抓的是屏幕上正在显示的像素,被遮挡时看到的是遮挡窗口;抓不到后台或最小化窗口;只支持主屏。
  • 成本口径:项目自述 800×450 一张图约 233 token,并说明源码中旧注释的 218 是早期估算、偏低。

需要说明的是,上述性能与成本数字均来自项目自述,本文未做独立复现;项目也未在素材中给出与其他方案的对比数据。