dsh-tray-launcher:DeepSeek Harness 的 Windows 桌面托盘启动器

前言

DeepSeek Harness(DSH)默认在终端前台运行 dsh web,必须保留一个 cmd/PowerShell 窗口,误关窗口服务即停。本工具将其转换为标准的 Windows 托盘应用:双击快捷方式无窗口启动,系统托盘常驻图标,Harness 就绪后自动打开浏览器;托盘菜单管理界面与日志,「退出」即完整停止(先停 Harness、再关托盘)。

是什么

dsh-tray-launcher 是 DeepSeek Harness 的 Windows 桌面托盘启动器。由 fancr-code 维护,采用 MIT 许可证。

它不依赖 Electron 等桌面壳运行时,而是基于纯 PowerShell 核心脚本(约 30KB)配合一行 VBS 实现。相比打包的桌面客户端,优势在于体积小、干净,无后台残留进程。内存占用经过优化,实测常驻约 55MB 工作集 / 84MB 私有提交。

核心功能

  • 低占用:纯 PowerShell + VBS,不加载 Electron 运行时,定期清理工作集。
  • 系统托盘常驻:无窗口运行,托盘图标 + 气泡提示(启动、运行中、已停止),Harness 意外退出自动收起。
  • 无窗口启动:不弹 cmd/控制台,stdout/stderr 落盘日志。
  • 自动打开浏览器:后台轮询端口,Harness 一监听就自动打开 Web GUI。
  • 单实例保护:互斥锁 + 端口检测,重复双击快捷方式不会重复启动,只会唤起界面。
  • 多图标切换:预设梁祖、鲸鱼娘、DeepSeek 三款图标,托盘右键「切换图标」一键更换,托盘与桌面快捷方式图标同步更新。
  • 开机自启:安装时通过 -Autostart 参数注册,或通过托盘右键菜单一键开关。
  • 内置用量仪表:随包携带 dsh-plugin-usage-meter,安装时自动注册,托盘菜单显示当前版本并可一键更新。
  • 自更新:托盘「更新启动器」菜单一键 npm i -g 更新自身。
  • 可作为 dsh 插件安装:通过 dsh plugin add 安装后,托盘随 Harness 自动启动/退出。

安装与启用

前置条件

  • Windows 10 / 11
  • Windows PowerShell 5.1
  • 已安装 DeepSeek Harness CLI(dsh web 可正常启动)
  • 已安装 Node.js(版本 >= 18)

全局安装

npm install -g dsh-tray-launcher

安装后执行以下命令启动:

# 托盘模式(无窗口)
dsh-tray

# 控制台模式(日志直出终端)
dsh-tray --console

作为 DSH 插件安装

dsh plugin --profile web add dsh-tray-launcher

此方式下,托盘随 Harness 自动启动/退出,配置与日志保存在 %DSH_HOME%\dsh-tray。

典型用法

操作 效果
dsh-tray 无窗口启动;托盘出图标 + 气泡;端口就绪自动开浏览器
dsh-tray --console 控制台模式,前台运行、日志直出终端
双击托盘图标 打开界面
托盘「退出」 停止 harness + 关闭托盘(全部退出)
托盘「切换图标」 弹出子菜单切换梁祖 / 鲸鱼娘 / DeepSeek / 自定义图标

配置

安装器在安装目录(%LOCALAPPDATA%\Programs\DSHTray\)生成 dsh-tray.config.json,字段均为可选:

{
  "dshBin":   "C:\\...\\node_modules\\@deepseek-ai\\dsh\\lib\\bin.js",
  "node":     "C:\\Program Files\\nodejs\\node.exe",
  "url":      "http://127.0.0.1:3080",
  "icon":     "liangzu",
  "shortcut": "C:\\Users\\<you>\\Desktop\\DeepSeek Harness.lnk",
  "cwd":      "C:\\Users\\<you>"
}
  • dshBin / node:缺省时按「npm 全局 → npx 缓存 → PATH → 常见路径」顺序自动探测。
  • icon:支持 liangzu(默认)、whale-girl、deepseek 或自定义 .ico 路径。
  • shortcut:桌面快捷方式路径,用于同步图标。

注意事项

  • 退出行为:点击托盘「退出」会停止 Harness 并退出托盘(全退)。
  • 图标素材归属:梁祖画像源自相关开源项目,鲸鱼娘帧源自相关开源项目,DeepSeek 鲸鱼 logo 为 DeepSeek。
  • 已知限制:退出时通过端口占用者与「命令行含 dsh 的 node.exe 进程」定位并结束 Harness;若同时跑着其他命令行带 dsh 字样的 node 进程,可能被一并结束。

结语

dsh-tray-launcher 解决了 DSH 在 Windows 上需要常驻终端窗口的痛点,提供了一个轻量级、零运行时的托盘解决方案。适合需要在后台常驻 Harness 并通过浏览器访问 Web UI 的用户。

GitHub 仓库

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

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

小夜