@7dgroup/dsh-7d-tray-win:dsh web 的 Windows 系统托盘与静默启动器

前言

在 Windows 上运行 DeepSeek Harness(dsh)的 web 服务时,常见的操作包括启动服务、打开 Web UI、查看日志、重启服务和退出服务。如果这些操作都要回到命令行窗口完成,使用路径会比较分散。

@7dgroup/dsh-7d-tray-win 是一个面向 Windows 的 DSH 系统托盘插件。dsh web 运行时,它会显示 DeepSeek 鲸鱼系统托盘图标;服务停止后,托盘图标会在 3 秒内自动消失。同时,它还会自动维护桌面上的 DSH.lnk 静默启动器,用于在无窗口状态下启动 dsh web 并打开浏览器。

这是什么

@7dgroup/dsh-7d-tray-windsh web 的 Windows 专属托盘插件,适合需要把 DSH web 服务放在系统托盘中管理的场景。

它提供以下基础能力:

  • dsh web 运行时显示 DeepSeek 鲸鱼托盘图标。
  • 服务停止后,托盘图标自动消失。
  • 双击托盘图标打开 Web UI,端口从运行中的 webserver/cordis 运行时读取,不硬编码端口。
  • 右键托盘图标支持打开 Web UI、打开日志目录、重启服务、退出服务。
  • 自动维护桌面静默启动器 DSH.lnk
  • 在非 win32 平台自动跳过,不创建托盘或快捷方式。

该插件以纯 Cordis composition bundle 形式提供,仅通过 cordis.patch.yml 修改 profile,不覆盖官方 DSH 包文件。

仓库地址:

https://github.com/7dgroup-ai/dsh-7d-tray-win

许可证:

MIT

peerDependencies 要求:

@deepseek-ai/cordis ^4.0.1

核心功能

托盘图标生命周期

dsh web 运行期间,插件会在系统托盘中显示 DeepSeek 鲸鱼图标。无论 dsh web 是通过命令行、脚本还是桌面快捷方式启动,只要服务在运行,托盘图标就会出现。

当服务停止后,托盘图标会在 3 秒内自动消失。

打开 Web UI

双击托盘图标可以打开 Web UI。插件会从运行中的 webserver/cordis 运行时读取端口,因此不依赖硬编码端口,也适配自定义端口配置。

右键菜单中的 Open DSH Web 也执行相同动作:打开 Web UI,端口自动检测。

日志与服务管理

右键托盘图标可以执行以下操作:

  • Open DSH Web:打开 Web UI。
  • Open log folder:打开日志目录。
  • Restart service:重启服务。
  • Exit:退出服务并关闭托盘。

选择 Restart service 后,插件会先弹出确认,然后终止服务器进程树,并通过 npx 重启 dsh web

桌面静默启动器

插件会自动维护桌面上的 DSH.lnk。双击 DSH.lnk 可以在无窗口状态下启动 dsh web,并自动打开浏览器。

需要注意的是,DSH.lnk 本身不显示托盘;托盘图标由插件在 dsh web 运行时提供。

Windows-only 行为

该插件仅面向 Windows。在非 win32 平台上会自动跳过,不会创建托盘图标,也不会创建桌面快捷方式。

安装与启用

安装前,环境需要满足以下要求:

Windows 10/11
Node ^22.19.0 || >=24.0.0
pnpm 10+
PowerShell

首次运行还需要 .NET Framework 4,用于编译静默启动器。如果系统中缺少 csc.exe,桌面快捷方式功能不可用,但托盘功能仍可使用。

如果目标运行命令是 dsh web,通常将插件安装到 web profile。下面这条命令会把插件安装到 web profile:

dsh plugin --profile web add @7dgroup/dsh-7d-tray-win

如果插件是本地目录,例如用于开发或测试,也可以从本地路径安装:

dsh plugin --profile web add C:\path\to\dsh-7d-tray-win

安装完成后,启动 dsh web

dsh web

经过上面的步骤,托盘图标和桌面 DSH.lnk 会自动生效。

典型用法

启动 dsh web 并查看托盘

安装插件后,直接启动 dsh web

dsh web

启动后,系统托盘会出现 DeepSeek 鲸鱼图标。此时桌面会自动维护 DSH.lnk

双击桌面 DSH.lnk

双击桌面上的 DSH.lnk 后:

  1. 不显示命令行窗口。
  2. 在后台启动 dsh web
  3. 自动打开浏览器到 Web UI。
  4. 系统托盘出现 DeepSeek 鲸鱼图标。

双击托盘图标

双击系统托盘中的 DeepSeek 鲸鱼图标,会打开当前 dsh web 的 Web UI。插件会从运行中的 webserver/cordis 运行时读取端口,不硬编码端口。

使用右键菜单

右键托盘图标可以看到以下菜单项:

Open DSH Web
Open log folder
Restart service
Exit

其中:

  • Open DSH Web 打开 Web UI。
  • Open log folder 打开日志目录。
  • Restart service 确认后终止当前服务进程树,并通过 npx 重启 dsh web
  • Exit 停止 dsh web 并关闭托盘。

适用场景与注意

这个插件适合以下使用者:

  • 在 Windows 10/11 上运行 dsh web
  • 希望把服务状态放进系统托盘。
  • 希望有一个无窗口的桌面启动入口。
  • 希望从托盘直接打开 Web UI、日志目录、重启服务或退出服务。

使用前需要注意以下几点:

  1. 插件以当前 dsh 进程权限运行,安装前应检查源码与许可证。
  2. 该插件是 Windows-only 插件,非 win32 平台会自动跳过。
  3. DSH.lnk 只负责静默启动 dsh web,本身不显示托盘。
  4. 每次 dsh web 启动时,插件会用自身最新资产刷新 %LOCALAPPDATA%\dsh-7d-tray-win 中的资产文件,因此不要在该目录中存放自定义持久文件。
  5. 首次运行需要 .NET Framework 4 编译静默启动器;缺少 csc.exe 时,桌面快捷方式不可用,但托盘仍可用。
  6. 插件仅通过 cordis.patch.yml 修改 profile,不覆盖官方 DSH 包文件。

链接

GitHub 仓库:

https://github.com/7dgroup-ai/dsh-7d-tray-win
羽毛球分组比赛记分
小程序二维码

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

小夜