dsh-pet

DSH PLUGIN视觉与多模态

仓库 HeiBai-king/dsh-pet · npm dsh-pet

视觉与多模态 L4 · 沙盒安装通过 安全审查:低风险 可信度:银 可安装插件
安装这个插件

Windows 专用 DSH 插件:桌面浮鲸鱼球一键截屏,把画面发给指定 DSH 会话并回显答案。

一句话选型结论

按资料字段整理

dsh-pet 是视觉与多模态类的 DSH 可安装插件,验证等级 L4 · 沙盒安装通过,安全审查为低风险,列出 5 项功能,有可直接复制的安装命令。验证通过不等于安全:插件会读写文件、执行命令或联网,装前先到仓库确认它做了什么;涉及密钥或系统权限的,建议先在隔离环境试装。

分类视觉与多模态 收录类型可安装插件 验证等级L4 · 沙盒安装通过 安全审查低风险
验证等级 L4 L4 · 沙盒安装通过
GitHub 星标 2 复刻 0 · 未关闭 issue 0
最近更新 2026-11-08 创建于 2026-10-31
README 14.6 KB 正文体量,越大说明说明书写得越细

安装

可安装插件
在 DSH 里执行,装完用 dsh plugin list 确认已挂上;标了 L4 / L5 的命令已在沙盒里真实跑通
dsh plugin --profile web add github:HeiBai-king/dsh-pet#v0.2.2
  1. 1
    确认版本与运行环境

    兼容的 DSH 版本为 0.2.1-rc.5,Node.js 要求 >=20;版本不匹配时安装会报错。

  2. 2
    执行安装命令

    在 DSH 里执行上面的命令;多包仓库要注意区分具体子包名,别装错包。

  3. 3
    确认已挂载

    用 dsh plugin list 查看列表里是否出现这个插件,出现即挂载成功。

  4. 4
    试跑并检查权限

    加载后跑一个最小用例,确认它能正常工作;同时看它申请了哪些文件、命令或网络权限。

兼容 DSH 版本0.2.1-rc.5版本不匹配时安装会报错
Node.js 要求>=20来自仓库 package.json 的 engines 字段
前置依赖无需要同时安装的同级依赖
npm 包名dsh-pet可用 npm view 查看包信息

能做什么

5 项功能
字段来自项目仓库与公开索引,中文说明由本站标注

dsh-pet:让 DeepSeek Harness 看见你屏幕的置顶鲸鱼球

  • 浮窗鲸鱼球一键截屏
  • 截图发送到指定会话
  • 答案回显在气泡中
  • 可拖拽缩放并记忆位置
  • 仅支持 Windows

适用场景

视觉识别通知

上游标签

cordisdeepseek-harnessdesktop-petdshdsh-pluginoverlaypowershellscreenshotwidgetwindowswpf

验证等级与安全审查

L4 · 沙盒安装通过
自动化流程结论,不是人工审核
验证等级L4 · 沙盒安装通过安装命令在隔离沙盒内真实执行成功,无依赖错误
安全审查低风险静态分析结论,未标注不代表已通过审查
仓库健康度活跃按仓库活跃度与最近更新时间给出
可信度银综合仓库活跃度与验证结果

上面的结论来自上游最近一次自动化验证(2026-11-13): 同一套检查会在插件发新版后重跑,页面显示的是最新一次的逐项结果。

逐项检查结果

L1 · 已找到 ✓ 通过
  • L1.0_DEFAULTED_FROM_L3 由 L3 推定 默认通过——L3 安装规范已通过(全库 L3 扫描策略)
L2 · 结构化 ✓ 通过
  • L2.0_DEFAULTED_FROM_L3 由 L3 推定 默认通过——L3 安装规范已通过(全库 L3 扫描策略)
L3 · 安装规范 ✓ 通过
  • L3.1_INSTALL_COMMAND_PARSED 安装命令已解析 方式:安装规范解析
  • L3.2_DSH_VERSION_DECLARED DSH 版本已声明 方式:DSH 版本声明
L4 · 安装已测 ✓ 通过
  • L4.1_INSTALL_EXECUTED_CONFINED 受限沙盒内执行安装 方式:沙盒安装执行
  • L4.2_INSTALL_SUCCESS 沙盒安装成功 方式:沙盒安装执行
  • L4.3_ARTIFACT_CONFIRMED 安装产物已确认 方式:沙盒安装执行
L5 · 运行已测 ✕ 未通过
  • L5.1_INSTALL_PASSED_SANDBOXED 沙盒安装通过 方式:沙盒安装执行
  • L5.2_WEB_BOOT_READY Web 启动就绪 方式:Web 启动
  • L5.3_HTTP_SERVED HTTP 服务响应 方式:HTTP 请求
  • L5.4_PLUGIN_INVENTORY_ACTIVE 插件清单中已激活 方式:插件清单查询

风险详情

  • 结论说明 静态扫描 低;动态审计无结论(以下以静态为准)→ 总评级 低。
  • 风险计数 严重 0 / 高 0

选择建议

装之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 验证等级 L4:在沙盒里真实装过,依赖能装上,不是纸面声明。
  • 静态安全审查为低风险,没有发现明显可疑行为。
  • 有可直接复制的安装命令,不用自己翻文档找入口。
  • 标注了兼容的 DSH 版本(0.2.1-rc.5),按版本装不容易报错。
  • 列出了 5 项功能,能直接看出它解决什么问题。

先想清楚的地方

  • 验证通过不等于安全:插件会读写文件、执行命令或联网,装前先到仓库确认它做了什么。

更适合

  • 需要在视觉与多模态场景里给 DSH 补能力的人。
  • 想装完就能用、不想自己排依赖的人。
  • 能接受在本地装依赖、愿意自己确认权限的人。

不太适合

  • 只使用 DSH 官方内置能力、不接受第三方插件的人。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
插件验证等级安全审查星标兼容版本安装命令
dsh-pet当前 L4 · 沙盒安装通过 低风险 2 0.2.1-rc.5 有
open-design L4 · 沙盒安装通过 低风险 10.0 万 未标注 有
awesome-gpt-image-2 L3 · 安装规范通过 低风险 3.4 万 未标注 无
PicGo L3 · 安装规范通过 低风险 2.7 万 未标注 无
iPolloWork L4 · 沙盒安装通过 低风险 6,775 未标注 有
modlens L5 · 运行验证通过 低风险 4,207 0.2.0-rc.2 等 13 个 有

仓库档案

视觉与多模态
字段来自项目仓库与公开索引,中文说明由本站标注
作者 / 维护方HeiBai-king仓库 dsh-pet · 默认分支 main
分类视觉与多模态vision
收录类型可安装插件声明了 dsh.bundle、可用 dsh plugin add 安装的条目
开发语言PowerShell仓库主语言
许可证MIT商用或二次分发前请确认条款原文
星标 / 复刻 / issue2 / 0 / 0收录时的数值,非实时
创建 / 更新2026-10-31 · 2026-11-08最后推送 2026-11-08
本站收录2026-11-01首次进入本站目录的时间

README 全文

14.6 KB
作者原文,中文版优先;只做安全转义,不改内容

dsh-pet

一键截图问 DSH —— 让 DSH 看见并指导你操作它自己够不到的地方。

> ## ⚠️ 装之前先看这个:环境要求
>
> | 要求 | 具体 |
> |---|---|
> | 操作系统 | 必须是 Windows。package.json 里写死了 os: ["win32"]。Linux / macOS 装不了,装了也不显示球 —— 球是 PowerShell + WPF 做的 |
> | DSH | 已安装并能正常开页面。验证过的版本:0.2.0-rc.2(web profile)。用的是 DSH 内部接入点,版本差太多可能完全不显示挂件 |
> | Node | >= 20(DSH 自带,正常不用管) |
> | PowerShell | 5.1(Windows 10/11 自带) |
> | 不需要 | npm 装包、改浏览器调试端口、任何配置文件、任何外部服务 |
>
> 不满足上面任何一条就别装。 装完还要做两件事才生效:
> ① 重启 DSH ② 先选一段会话(不选就点「问一下」会提示"还没选会话")。

DSH 只能看到自己的窗口和它能读的文件。别的软件、系统弹框、装机界面、游戏、
别人电脑上那个报错窗口 —— 它看不见,也摸不着。这个插件补的就是这一段。


它到底干什么

屏幕上浮着一只鲸鱼娘(叫"桌面球")。你卡在某个 DSH 够不到的界面上时:

点一下球 → 截当前屏 → 发给 DSH 里某一段会话 → 会话看一眼告诉你点什么 → 答案回到球上的气泡

你自己动手,它只负责递画面和拿答案。

不用切回 DSH、不用复制粘贴、不用费劲描述"我屏幕上现在是啥"。

> 它不能替你操作。 点击、装软件、改设置都是你自己来。
> 这不是自动化工具,是一个"让 DSH 长出一双眼睛"的通讯器。


长什么样 / 怎么用

① 插件装好后,桌面球会自己出来(不用点任何东西)

球是核心,所有功能都在球上。页面右下角那个鲸鱼小圆图标(叫"胶囊")只是个附加开关 ——
它靠注入进 DSH 页面才出现,某些环境下注入不成功,那时候没有胶囊也能正常用。

  • 左键点胶囊 → 桌面球出现 / 消失
  • 右键拖着它 → 挪位置(会记住)
  • 不想要球一开 DSH 就冒出来 → 配置里写 {"ball":{"autoStart":false}},改成点胶囊叫

② 桌面球浮在所有窗口之上

  • 可以直接拖,也能缩放,位置大小都会记住
  • 拖到屏幕左半边,角色会自己转过来面向屏幕内

③ 鼠标移到角色身上 → 右上角浮出菜单按钮 → 点开,有这些:

菜单项 干什么
大小 滑块调球的大小
翻转 自动翻转开关
当前会话:XXX 只读。告诉你消息会发给谁 —— 点之前先看这行
截当前屏幕问会话 截整屏,可以附一句补充说明,发给会话
发消息(不截图) 只发一句话过去
选择会话… 弹窗选会话(按工作区分组),点一下即选中并关闭
收起鲸鱼球 关掉球(下次开 DSH 会自动回来,或者点胶囊叫)

④ 气泡上会显示什么

  • 球刚启动时什么都不显示(不会把上一轮的话又翻出来)
  • 点过按钮之后才开始显示
  • 点「问一下」→ 先显示「正在思考…」
  • 回答回来后 → 一直挂着,直到你下次提问

第一次用,就三步

  1. 屏幕上应该已经有一只鲸鱼球(没有的话:点右下角胶囊,或在 DSH 窗口按 Ctrl+R)
  2. 鼠标移到角色上 → 点浮出的菜单按钮 → 「选择会话…」 → 展开工作区 → 点一段会话
  3. 回到菜单,看「当前会话」是不是你选的那段 → 点「截当前屏幕问会话」

第 2 步不做就点「问一下」的话,球上会提示「还没选会话」。


安装

前置条件

要什么 说明
Windows 只能 Windows(球是 PowerShell + WPF 做的)
DSH 装好能用。验证过 0.2.0-rc.2
别的 没了。不用 npm 装包、不用改浏览器设置、不用配置文件

装法一:一条命令(推荐)

git clone https://github.com/HeiBai-king/dsh-pet.git "$env:USERPROFILE\dsh-pet"
powershell -ExecutionPolicy Bypass -File "$env:USERPROFILE\dsh-pet\tools\install.ps1"

脚本会做三件事(和手工装完全一样):建目录联接、往 profile\package.json 的
dependencies 里加一条、往 dsh.profile.bundles 里加一条。改之前自动备份 package.json。

没有 git 就下载 zip 解开,然后:

powershell -ExecutionPolicy Bypass -File "<解压出来的目录>\tools\install.ps1"

装法二:DSH 没在跑时用命令行

dsh plugin --profile web add link:"<包目录,正斜杠>"

(DSH 正在跑的话这条会报 EPERM —— native 模块被占用。这时用装法一。)

装完必须重启 DSH

模块图和注入表都是 DSH 启动时定死的,不重启不生效。

装完怎么自查(三件事,缺一不可)

  1. 页面右下角出现鲸鱼小圆图标 ← 没有就是没装上
  2. 点它,桌面球出来 ← 出不来就看日志
  3. 菜单里选一段会话,点「截当前屏幕问会话」,球上出现「正在思考…」然后出回答

日志在两个地方,出问题先看这个:

C:\Users\<你>\.dsh\pet\pet-host.log     宿主日志(起停、投递、自检、报错)
C:\Users\<你>\.dsh\pet\pet-ball.log     球日志(气泡上显示过的每句话)

卸载

powershell -ExecutionPolicy Bypass -File "<包目录>\tools\uninstall.ps1"

会删联接、把 package.json 里那两条去掉(同样先备份),不动你的数据目录
(~\.dsh\pet\,里面有选过的会话和日志)。要一起清掉加 -PurgeData。

卸完也要重启 DSH。


配置(可选,不配也能用)

一个文件:~\.dsh\pet\config.json。没有它就是全默认。

键 默认 干什么
askSession 空 默认发给哪段会话。留空 = 先看你上次在球上选的,再退回 DSH 主 Bot 当前会话
pickWorkspaces [] 选择框里只列这几个工作区。留空 = 全部。例:["工作", "测试"]
trustedHosts [] 只有 DSH 部署在非回环地址时才要填
ball.useRegion false 把球窗裁成鲸鱼形状。默认别开,见「踩过的坑」第 2 条
ball.autoStart true 插件加载后自动把球叫出来。想改成"点胶囊才出球"就写 false

也支持环境变量(优先级高于 config.json):DSHW_PET_ASK_SESSION / DSHW_PET_PICK_WORKSPACES /
DSHW_PET_TRUSTED_HOSTS / DSHW_PET_USE_REGION / DSHW_PET_AUTO_START_BALL

> 数据目录不在 ~\.dsh? 如果 DSH 是用 DSH_HOME 环境变量改过家目录的,
> 那配置和日志都在 $DSH_HOME\pet\ 下。tools\doctor.ps1 会自动认这个变量。

# 看当前生效的值
node "<包目录>\tools\write-config.mjs"

出问题怎么办

先看日志,再看这张表:

症状 多半是 怎么办
右下角没胶囊 多半是注入没赶上(不影响用) 看 pet-host.log:有 自动起球结果 ok=true 就说明球已经起来了,胶囊有没有都能用。想补出胶囊:在 DSH 窗口按一次 Ctrl+R 重载页面
球没出现 球进程起不来 pet-host.log 找 自动起球 那几行 + ball exit code=
点了没反应 请求文件没写 / 投递失败 pet-host.log 找 ask.request seen;有但是失败就看同一行的 msg=
提示「还没选会话」 没选过 菜单 →「选择会话…」选一段
一直「正在思考…」不换 会话没把回答写回来 看 pet-ball.log 有没有新的 bubble <-;超过 3 分钟会自动超时
选择框是空的 会话列表没 dump 出来 等 20 秒再看;还不能就看 ~\.dsh\pet\sessions.json 的 items 长度
气泡全显示「未命名」 会话标题读不到 pet-host.log 的 sessions dump: N 段(有标题 M,M 远小于 N 就是标题读不到(DSH 改了缓存格式)

拿日志去问人时记得脱敏 —— 里面有你的会话标题和目录路径。


环境与依赖

项 值
平台 只能 Windows(package.json 里 os: ["win32"])
运行时 球是 PowerShell 5.1 + WPF 独立进程;宿主跑在 DSH 的 Node 里
npm 依赖 零。dependencies 是空的
Node >=20(DSH 自带)
DSH 验证过 0.2.0-rc.2。用的是内部接入点,版本差太多可能完全不显示
额外配置 不需要

它明确不做的

  • 不会自己截屏。 只有你点按钮才截。
  • 不会替你操作。 见上面。
  • 不读网页 DOM、不带规则表、不需要浏览器调试端口(早期版本有,已移除)。
  • 不联网。 除了把消息投给你自己的 DSH 会话,不往外发任何东西。

已知限制

  • 只能 Windows。
  • 多屏 + 不同缩放比没实测(开发机是单屏 150%)。缩放变化有处理,但是防御式写法。
  • 透明窗口的命中:透明像素会穿透到下层。好处是球周围能点穿,
    代价是"鼠标只在画了东西的地方算进入" —— 所以菜单按钮放在角色身上,MouseLeave 有 0.9 秒宽限期。
  • 宿主重启后要重新起球(球是宿主拉起来的;宿主没了球还在,但点了没反应)。

给 AI 代理(帮人装的时候看这节)

> 这一节是给代装 AI 的。人类读者可以跳过。

硬约束

  1. 不要自己重启 DSH。 如果你就跑在 DSH 里,重启会杀掉你自己的会话。让用户来。
  2. 每一步都要验证,别假设成功。
  3. dsh plugin add 在 DSH 运行时会 EPERM,用 tools/install.ps1。

步骤

# 0. 环境
$env:OS                                    # 必须含 Windows
Test-Path "$env:USERPROFILE\.dsh"           # 必须 True
node -v                                    # 必须 >= v20
# 1. 拿包
git clone https://github.com/HeiBai-king/dsh-pet.git "$env:USERPROFILE\dsh-pet"
(Get-Content "$env:USERPROFILE\dsh-pet\package.json" -Raw | ConvertFrom-Json).name   # 必须是 dsh-pet
# 2. 装
powershell -ExecutionPolicy Bypass -File "$env:USERPROFILE\dsh-pet\tools\install.ps1"
# 期望最后几行里有:建好联接 / profile package.json 已更新
# 3. 单元自检(不需要 DSH)
node "$env:USERPROFILE\dsh-pet\tools\selfcheck.mjs"
# 期望最后一行:通过 29 项,失败 0 项
# 4. 告诉用户重启 DSH,然后停下来等他回来
# 5. 重启后验证
Select-String -Path "$env:USERPROFILE\.dsh\pet\pet-host.log" -Pattern "自检:接入点正常" | Select-Object -Last 1
# 期望:自检:接入点正常(服务=就绪,注入行 pushed=N reused=M),N > 0

(Get-Content "$env:USERPROFILE\.dsh\pet\sessions.json" -Raw | ConvertFrom-Json).items.Count
# 期望:> 0
# 6. 让用户看右下角有没有鲸鱼小圆图标;有就教他:
#    点胶囊 → 菜单「选择会话…」选一段 → 「截当前屏幕问会话」

排查顺序

pet-host.log 的自检行 → ball-start spawned / ball exit code= → ask.request seen
→ pet-ball.log 的 bubble <-。这四层依次对应:加载 / 起球 / 投递 / 回显。


兼容性(升级 DSH 后先看)

用的是 DSH 的内部接入点,不是稳定 API。启动 60 秒后宿主会往 pet-host.log 打一行自检:

依赖点 断了会怎样
webserver/index-inject 表 胶囊不出现(但球会被自动拉起来,功能不受影响)
webServer.tapIndex web 形态不注入
服务名 webServer / agents / sessionController / sessionQuery 插件起不来 / 选不了会话
胶囊 5 秒后才出现 正常 —— 注入脚本会先等 5 秒看有没有客户端接管,然后自己挂上
agent.followup + createUserMessage 点了没反应,日志写"拿不到可投递的 agent"
会话缓存格式 session_projcache 选择框标题变成"未命名"

设计上每处都 try/catch,缺什么降级,不崩。


几个踩过的坑(改代码前先看)

  1. 别给球的 spawn 加 detached: true —— WPF ShowDialog() 会立刻返回,球 200ms 内正常退出(exit 0、零报错)。
  2. SetWindowRgn 是多余的 —— AllowsTransparency 窗口本来就逐像素穿透,裁区域反而硬边+闪烁。
  3. 用了 region 后光标移出区域收不到 WM_MOUSEMOVE —— 球的拖动是「16ms 轮询 + GetAsyncKeyState」。
  4. 别用 taskkill /PID(不带 /F)关球 —— 关不掉。球用的是停信号文件 stop.flag。
  5. 位置持久化不能只挂关闭事件 —— 有强杀路径。球每 3 秒落盘一次。
  6. Remove-Item 删 Junction 在 PS 5.1 会抛 NullReferenceException —— 用 [System.IO.Directory]::Delete($p, $false)。
  7. 解析 pet-shot.ps1 的输出别写 [^:]+ —— 路径盘符自带冒号,会"截图成功却判失败"。
  8. 含中文的 .ps1 必须 UTF-8 BOM,否则 PS 5.1 按 GBK 解码 → 语法崩。
  9. PowerShell 变量名大小写不敏感 + [string] 参数强制转换 —— 别把控件叫 $hint 又给 [string]$Hint 赋值。
  10. foreach 里创建的回调用不了循环变量 —— 那是同一个变量,全指向最后一次。用 $btn.Tag。
  11. WPF TextBox 会先吃掉 Enter —— 用 PreviewKeyDown。

来源说明与免责

说清楚这插件是怎么来的:

  • 角色形象是社区的「鲸鱼娘」,不是某个人的独占作品;仓库里的 assets/whale.png
    取自社区流传的素材,非本仓库原创。
  • 外观与交互风格(右下角小图标 + 可叫出的桌面角色 + 气泡)和 DSH 社区里流行的
    「余额挂件」那类挂件相似 —— 这是常见形态,风格相似不构成侵权。
    代码是本仓库独立写的,没有内嵌、复制或反编译对方的任何代码或资源。
  • 本项目是非商业的个人作品,未从分发中获利。

如果权利人觉得哪里不妥:请在仓库 Issues 说一声,会立刻改或下架,不需要走任何流程。

风险自负:插件会截取整块屏幕,并作为附件发给你自己指定的 DSH 会话;
落到哪台服务器、哪个模型取决于你自己的 DSH 配置。


许可

代码:MIT(见 LICENSE)。
assets/whale.png 不在 MIT 覆盖范围内 —— 那是社区素材,非本仓库原创。

常见问题

9 问
答案由本站依据条目字段整理,不引用上游原文
dsh-pet 怎么安装?

在 DSH 里执行 `dsh plugin --profile web add github:HeiBai-king/dsh-pet#v0.2.2` 即可。对应的 npm 包名是 `dsh-pet`。

dsh-pet 的验证等级是什么意思?

L4 · 沙盒安装通过。安装命令在隔离沙盒内真实执行成功,无依赖错误

dsh-pet 安全吗?

低风险。静态扫描 低;动态审计无结论(以下以静态为准)→ 总评级 低。

dsh-pet 装之前要先确认什么?

先看它会读写哪些文件、执行哪些命令、连接哪些网络地址;验证等级只说明装得上、跑得起来,不等于安全。涉及密钥或系统权限的,建议先在隔离环境试装。

dsh-pet 支持哪些 DSH 版本?

上游记录的兼容版本包括 0.2.1-rc.5。

dsh-pet 需要什么运行环境?

Node.js >=20。环境不满足时安装会失败,建议先确认本机版本。

dsh-pet 用的是什么许可证?

上游标注为 MIT。商用或二次分发前请到仓库确认许可证原文。

dsh-pet 有哪些功能?

浮窗鲸鱼球一键截屏、截图发送到指定会话、答案回显在气泡中、可拖拽缩放并记忆位置、仅支持 Windows。

这条记录的数据可靠吗?

本站按仓库名去重后合并整理,字段以作者仓库与 npm 元数据为准;安装命令、仓库地址与 README 保持原文,带 L4 / L5 标记的安装命令已在隔离沙盒里真实跑通。

同名或近似条目

8 条
不同作者的仓库分开列,请确认你要装的是哪一个
视觉与多模态
按星标排序,可作替代方案

open-design

open-design

L4 · 沙盒安装通过 10.0 万 星

awesome-gpt-image-2

awesome-gpt-image-2

GPT Image 2 / 2.5 提示词与案例库,530+ 个案例、20+ 套工业级模板与可复用 Skills,新增 2.5 同提示词对比

L3 · 安装规范通过 3.4 万 星

PicGo

PicGo

L3 · 安装规范通过 2.7 万 星

iPolloWork

iPolloWork

L4 · 沙盒安装通过 6,775 星

modlens

modlens

ModLens 是 DeepSeek Harness 的视觉插件,为纯文本模型外挂视觉能力,粘贴图片即得结构化 JSON 证据(OCR、版面

L5 · 运行验证通过 4,207 星

OpenBiliClaw

OpenBiliClaw

本地私有、开源的自进化跨平台 AI 内容发现 Agent:先理解你,再主动从 B站、小红书、抖音、YouTube、X、知乎、Reddit、微

L4 · 沙盒安装通过 3,398 星

插件的元信息来自作者仓库;分类、验证等级与安全结论的中文说明为中文整理,最近核验 2026-11-13。