DSH HUB
HomePlugin StorePlugin PacksCommunityRankingsResourcesPublish Guide
Plugin source
Back to catalog

Lh1314-China /

Lh1314-China/dsh-whale-eyes

Verified

不截屏的屏幕感知插件:给 DeepSeek Harness 的模型一双眼睛,读前台应用、窗口标题、焦点控件和窗口列表,一次调用约 55~75 token。Screen sense for DSH without screenshots. Windows only.

★ 0 Stars0 Forks0 IssuesN/A Community rating0 Confirmed installs
View on GitHub
READMESource: main@6b24ba37

dsh-whale-eyes · 鲸鱼的眼睛

给 DeepSeek Harness 的模型一双不截屏的眼睛:注册一个 screen_sight 工具,一次调用读回当前屏幕的短摘要。

A screen-sense tool for DeepSeek Harness: foreground app, window title, focused control and open windows as a short summary — no screenshots, no uploads. Windows only.

app: DeepSeek Harness
win: DSH插件:低token实现屏幕视觉 — DeepSeek Harness
focus: Document "DSH插件:低token实现屏幕视觉 — DeepSeek Harness" = dsh-app://app/
wins: 中转站 | GitHub | 本地磁盘 (D:) - 文件资源管理器 | SakuraCat

一次调用约 55~75 token,纯文本;不调用就没有额外开销。

为什么不用截图

截图方案 本插件
隐私 画面整张离开本机 只读结构化文本,密码框 [password]、密码管理器 [blocked]
成本 320×240 约 100 token,整屏约 660 token 55~75 token,还能再往下压
速度 渲染 + 缩放 + 编码 一次本地 TCP 往返,10~30 ms
信息 像素,需要模型自己看 已经是「在哪个应用、哪个控件」

安装

三种方式,任选其一。装完重启后自动生效,screen_sight 会出现在模型可用的工具里。

1. GitHub(推荐)

插件管理页 → 添加插件 → 填仓库地址:

https://github.com/Lh1314-China/dsh-whale-eyes

或者命令行:

dsh plugin --profile desktop add github:Lh1314-China/dsh-whale-eyes

2. npm(发布之后)

dsh-whale-eyes

3. 本地目录

C:\path\to\dsh-whale-eyes

用法

模型侧只有一个工具:

参数 类型 说明
budget integer 摘要大小。25 = 应用+标题,60 = 加焦点控件,220(默认)= 再加窗口列表
{ "budget": 60 }

守护进程按 JSON 估算预算再裁剪,实际渲染出来的纯文本比估算更短。

隐私与边界

  • 不截屏、不上传、不读剪贴板、不落盘。
  • 密码框(IsPassword)的值一律变成 [password]。
  • 密码管理器一类应用整条摘要塌缩成 [blocked]。
  • 只在本机 127.0.0.1 上通信用,没有出站请求。

工作原理

DSH 主机进程
  └─ index.js          注册 screen_sight,必要时拉起守护进程
        │  127.0.0.1:8791(行式 JSON)
        ▼
  runtime/daemon.ps1   常驻,250 ms 轮询
        ├─ UI Automation  焦点控件、窗口树
        ├─ Win32          前台窗口、窗口类、进程名
        └─ runtime/lib.ps1 隐私过滤 + 预算裁剪

插件只在没有现成实例时才拉起守护进程;端口从 8791 起找,被占用就往后挪(最多 +9),实际端口写进 runtime/port.txt。

如果机器上已经有 dsh-screen-sense 在跑同样的守护进程,本插件会直接接上去,不会起第二个轮询器。

目录结构

路径 作用
index.js 主机插件壳:工具注册 + 守护进程生命周期
runtime/daemon.ps1 守护进程,行式 JSON 协议
runtime/lib.ps1 摘要压缩、隐私过滤、应用名归一
runtime/cdp.ps1 可选的浏览器标签页读取(DevTools HTTP,同样不截屏)
cordis.patch.yml 插入一行 whale-eyes 插件,配置端口与默认预算
locale/*.json 插件列表里的标题与描述
icon.svg 插件图标

调试

手动起一个守护进程,自己发请求看看:

powershell -NoProfile -ExecutionPolicy Bypass -File .\runtime\daemon.ps1 -Port 8801

# 另一个窗口
$c = New-Object Net.Sockets.TcpClient; $c.Connect('127.0.0.1', 8801)
$s = $c.GetStream(); $w = New-Object IO.StreamWriter($s); $w.AutoFlush = $true
$w.WriteLine('{"op":"digest","budget":220}')
(New-Object IO.StreamReader($s)).ReadLine()

可用 op:ping、digest、events、pages、region、captures、stop。默认路径永远不碰 region(那是唯一会截图的 op)。

已知限制

  • 仅 Windows:依赖 UI Automation 与 Win32。
  • Electron / Chromium 应用在 UI Automation 里常常只暴露窗口层,需要 CDP 补齐(浏览器要开 --remote-debugging-port)。
  • 中文标题会被按字符截断,… 是截断标记,不是原文。

许可

MIT © 2026 小鲸 & 凌寒

—/ 5

No ratings yet

Verified DSH bundle

Commit 6b24ba370a91

Community comments

No comments yet. Be the first to write one.

DSH HUB

A community index for DSH plugins. Not an official GitHub or DeepSeek AI product.

CommunityResourcesAPIAbout