dsh-pet: Sending Screenshots from the Floating Window to the DSH Session

前言

DeepSeek Harness(DSH)能读自己的窗口和它能访问的文件,但看不到别的软件界面、系统弹框、装机向导或游戏画面。你在这些界面上卡住时,往往只能切回 DSH、口述或复制粘贴,效率低且容易漏细节。

社区插件 dsh-pet(维护者 HeiBai-king,GitHub 仓库 HeiBai-king/dsh-pet)在 Windows 上提供一只浮在所有窗口之上的「桌面球」,点一下即可截当前屏并投递到你选定的 DSH 会话,回答回写到球旁气泡。它不替你点击或改设置,只是把「画面 + 问题」交给会话,由你按回答自己操作。本文介绍其定位、能力与安装用法;事实以仓库 README 与 package.json(当前版本 0.2.2)为准。插件归类为客户端,可在社区目录 SkillHub 条目 查看索引信息。

这是什么

dsh-pet 是一键「截图问 DSH」的 DSH 插件:宿主跑在 DSH 的 Node 进程里,桌面球由 PowerShell 5.1 + WPF 独立进程绘制。流程可以概括为:

点一下球 → 截当前屏 → 发给 DSH 里某一段会话 → 会话回复 → 答案显示在气泡里

插件声明 npm 依赖为零,除把消息投给你本机 DSH 会话外 不联网。它不使用浏览器调试端口、不读网页 DOM,只有你点菜单里的按钮才会截屏。

环境要求

不满足任一条则不必安装(README 明确说明 Linux / macOS 装了也不会显示球)。

要求 说明
操作系统 仅 Windows(package.json 中 os: ["win32"])
DSH 已安装且能正常打开页面;文档 验证过 0.2.0-rc.2(web profile)。插件使用 DSH 内部接入点,版本差异过大可能导致挂件不显示
Node >= 20(通常由 DSH 自带)
PowerShell 5.1(Windows 10/11 自带)
不需要 单独 npm install、改浏览器调试端口、必填配置文件、外部服务

装好后还需:① 重启 DSH;② 在球上先选一段会话(未选就点「截当前屏幕问会话」会提示「还没选会话」)。

核心功能

桌面球与页面胶囊

插件加载后桌面球默认会自动出现(可通过配置关闭自动启动)。DSH 页面右下角可能出现鲸鱼小圆图标「胶囊」——靠注入 DSH 页面实现,注入失败时 没有胶囊也能用球。

  • 左键点胶囊:显示 / 隐藏桌面球
  • 右键拖胶囊:移动位置(会记住)
  • 球可拖动、缩放,位置与大小持久化;拖到屏幕左半边时角色会自动转向屏幕内

球上菜单

鼠标移到角色上,右上角浮出菜单按钮。常用项包括:

菜单项 作用
大小 / 翻转 调节球大小、自动翻转开关
当前会话:XXX 只读,显示消息发往哪段会话
截当前屏幕问会话 截整屏,可附补充说明,发给当前会话
发消息(不截图) 只发文字
选择会话… 按工作区分组选会话
收起鲸鱼球 关闭球(下次开 DSH 可再出现,或由胶囊唤起)

气泡行为:球刚启动时不显示旧内容;提问后先显示「正在思考…」,回答返回后保留至下次提问;超过约 3 分钟无回写会自动超时(见 README 故障表)。

明确不做的事

  • 不会自动截屏,仅在你点按钮时截屏
  • 不会替你操作界面
  • 不替代 DSH 本体权限边界:仍以当前 DSH 进程能做的事为上限

安装与启用

前置条件

Windows + 可用的 DSH(建议接近文档验证版本)。若 DSH 数据目录改过,配置与日志可能在 $DSH_HOME\pet\ 下,而非默认 ~\.dsh\pet\。

装法一:安装脚本(推荐,DSH 正在运行时也可用)

仓库 README 给出的步骤:将包放到本机目录后执行 tools\install.ps1。脚本会建立目录联接、更新 profile\package.json 的 dependencies 与 dsh.profile.bundles,并在改前备份 package.json。

无 git 时可下载 zip 解压,再执行:

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

有 git 时 README 示例为克隆到用户目录后执行同一脚本(完整命令见 GitHub README 安装节)。

装法二:DSH 未运行时用 CLI

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

DSH 正在运行时此命令可能报 EPERM(native 模块被占用),此时应改用装法一。

装完必做

重启 DSH。模块图与注入表在启动时确定,不重启不生效。

自检(三件事)

  1. 页面右下角出现鲸鱼胶囊(无胶囊时仍可能已起球,见下文排错)
  2. 点胶囊或已有球,桌面球能出现
  3. 菜单选会话 →「截当前屏幕问会话」→ 气泡出现「正在思考…」随后有回答

可选:在包目录运行 node tools\selfcheck.mjs,README 期望通过 29 项自检。

日志路径(默认用户下):

C:\Users\<你>\.dsh\pet\pet-host.log
C:\Users\<你>\.dsh\pet\pet-ball.log

典型用法

第一次使用可按 README 三步走:

  1. 确认屏幕上有鲸鱼球;若无,点右下角胶囊或在 DSH 窗口按 Ctrl+R 重载页面
  2. 移到角色 → 菜单 → 选择会话… → 选一段会话
  3. 确认「当前会话」正确 → 截当前屏幕问会话

不想一开 DSH 就显示球时,可在 ~\.dsh\pet\config.json 写入:

{"ball":{"autoStart":false}}

改完后需按 README 说明理解生效方式(点胶囊唤起球)。

可选配置

配置文件:~\.dsh\pet\config.json(不存在则全默认)。常用键:

键 默认 说明
askSession 空 默认投递会话;空则优先球上上次选择,再退回 DSH 主 Bot 当前会话
pickWorkspaces [] 选择框只列指定工作区;空为全部
trustedHosts [] DSH 部署在非回环地址时使用
ball.useRegion false 把球窗裁成鲸鱼形状;README 建议默认关闭
ball.autoStart true 加载后自动显示球

环境变量优先级高于文件:DSHW_PET_ASK_SESSION、DSHW_PET_PICK_WORKSPACES、DSHW_PET_TRUSTED_HOSTS、DSHW_PET_USE_REGION、DSHW_PET_AUTO_START_BALL。

查看当前生效值:

node "<包目录>\tools\write-config.mjs"

卸载

在包目录执行:

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

会移除联接并还原 package.json 相关条目(先备份),默认 不删除 ~\.dsh\pet\ 数据;需一并清除时加 -PurgeData。卸载后同样 重启 DSH。

适用场景与注意

适合:在 Windows 上常用 DSH,且经常在 DSH 窗口外遇到问题界面——安装程序、第三方工具、全屏应用——需要会话「看一眼屏幕」再给操作步骤,又不想反复切换窗口描述画面。

注意:

  • 仅 Windows;多屏与不同缩放比 README 标明未充分实测。
  • 插件以 当前 DSH 进程权限 运行,截图与投递都发生在本机;安装前应阅读源码与 MIT 许可证(见仓库),自行评估是否纳入工作环境。
  • 依赖 DSH 内部接入点,升级 DSH 后若异常,先看 pet-host.log 自检行与 README「兼容性」表。
  • 分享日志前请脱敏(含会话标题与路径)。

DSH 生态强调「一切皆插件」;SkillHub 等社区目录为独立索引,与 DeepSeek / 幻方无官方从属关系,本文仅作技术介绍。

结尾

dsh-pet 把「当前屏幕」变成可投递给指定会话的上下文,用浮窗和气泡缩短「问 DSH 看不见的地方」的路径。需要索引与简介时可打开 SkillHub 插件页,安装与排错以 GitHub 仓库 README 为准。

羽毛球分组比赛记分
小程序二维码

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

Xiaoye