dsh-desktop:为 DeepSeek Harness 提供托盘、桌面窗口与开机自启的 Windows 伴侣插件

前言

在 Windows 上用 DeepSeek Harness(DSH)Web profile 的开发者,每天的入口大概是这样:打开终端,执行 dsh web,等服务起来,再切到浏览器访问。没有托盘图标,没有桌面快捷方式,重启电脑后一切重来。要做成传统意义上的「桌面客户端」,就得额外维护一条下载、安装、更新的链路。

dsh-desktop 换了个思路:把桌面端体验做成一个 Web 插件。DSH 的理念是「一切皆插件」,桌面端也不例外——它以 Web 插件形式提供,不需要另装独立的桌面客户端,全程无需管理员权限。装完插件重启 Web profile,托盘、桌面窗口、开机自启就都到位了。

这是什么

dsh-desktop 是 DeepSeek Harness 的桌面端伴侣插件,由 LvsH13 维护,npm 包名 @dsh-external/dsh-desktop,当前版本 0.7.7,许可证 MIT,运行时唯一依赖为 schemastery。一句话定位:托盘鲸鱼图标、桌面快捷方式、开机自启直达桌面窗口,一键切换桌面/Web 模式。

核心功能

托盘与桌面窗口

通知区域常驻鲸鱼图标,右键菜单一键打开、重新启动、退出。桌面窗口使用本地 Chromium 应用模式(--app)渲染,1352:972 自适应比例、屏幕居中、可自由缩放,并使用独立浏览器 profile。推荐安装 Microsoft Edge 或 Google Chrome;两者都没有时,回退为默认浏览器普通窗口。

秒级启动与开机自启

开机登录任务经 wscript.exe 隐藏启动器(冷启动 <1s)拉起 node <entry> web;服务就绪前,桌面窗口显示内置启动页 boot.html,就绪后自动跳转。自启通过任务计划程序登录触发器实现(DSHDesktop 任务,无需管理员权限),HKCU\...\Run 仅作注册失败时的兜底。所有外部 PowerShell 启动均经过 wscript.exe 隐藏运行器(Win32 SW_HIDE),开机、打开、切换全程无终端窗口闪现。

桌面/Web 一键切换

设置页按钮按当前状态显示「切换桌面端 / 切换网页端」,状态自动检测:以窗口 PID 记录为主,WMI 命令行匹配兜底。

稳定性与设置面板

退出即重开、托盘自愈、竞态防护:单次启动请求互斥锁、tray.pid 单一所有权、quit 标记等待。DSH Web UI 新增「桌面端」设置区,提供状态卡片、一键操作与上次打开诊断;此外还支持一键显示/隐藏 Harness 终端窗口,以及创建桌面快捷方式。

环境要求

  • Windows 10 / 11。在 macOS/Linux 上插件虽能被加载、不会崩溃,但托盘、桌面快捷方式、开机自启等桌面功能无法工作(依赖 Windows PowerShell 与任务计划程序)。
  • Node.js ≥ 20(与 DeepSeek Harness 相同)。
  • DeepSeek Harness Web profile(dsh web)。
  • 全程无需管理员权限。

安装与启用

方式一:一条命令安装(推荐)

先在任意终端执行:

dsh plugin --profile web add github:LvsH13/dsh-desktop

再重启正在运行的 Web profile。经过上面的步骤,通知区域会出现鲸鱼托盘图标,设置页会出现「桌面端」区块。

方式二:从源码安装

git clone https://github.com/LvsH13/dsh-desktop.git
dsh plugin --profile web add "克隆后的 dsh-desktop 目录绝对路径"

同样重启 Web profile 后生效。

方式三:手动添加

在 Web profile 目录执行:

npm install github:LvsH13/dsh-desktop

然后在 profile 的 cordis.patch.ymlinsert 列表中加入:

- insert:
    - id: dsh-desktop
      name: '@dsh-external/dsh-desktop'

重启 Web profile,插件生效。

卸载

dsh plugin --profile web remove "@dsh-external/dsh-desktop"

随后可选清理:退出托盘、关闭自启(删除 DSHDesktop 任务计划程序任务;若曾走 Run 键兜底,再删除 HKCU\...\Run 中的 DSHDesktop 键值)、删除桌面快捷方式与 %LOCALAPPDATA%\dsh-desktop 目录。

典型用法

打开「设置 → 桌面端」,可以查看 Harness 服务、托盘、桌面窗口、快捷方式、自启、终端的实时状态;开关开机自启动;切换桌面端/网页端;启动/退出托盘;创建桌面快捷方式;显示/隐藏终端。

托盘右键菜单中的「重新启动」会按顺序停止并重启 Harness,保留托盘图标与开机自启设置;重启期间重复点击,不会创建额外的 Node 实例。

「上次打开」一行会报告上次启动的就绪耗时(如 就绪耗时 1.2s)与窗口模式(独立窗口 / 默认浏览器),或失败原因——遇到卡顿时先看这里。

适用场景与注意事项

适合在 Windows 上日常使用 DSH Web profile、希望开机即用、少碰终端的开发者,也适合需要在桌面端与网页端之间来回切换的场景。

使用前注意:

  1. 仅支持 Windows 10 / 11,macOS/Linux 下桌面功能不可用(见环境要求)。
  2. 应用模式桌面窗口需要 Chromium 内核,建议安装 Microsoft Edge 或 Google Chrome;两者都无时回退为默认浏览器普通窗口。
  3. 保持 dsh-tray.ps1 为 UTF-8 with BOM 编码,否则 Windows PowerShell 5.1 会乱码读取。
  4. 卸载时需手动清理托盘、自启、快捷方式与 %LOCALAPPDATA%\dsh-desktop 目录。
  5. 插件以当前 dsh 进程的权限运行,安装前建议浏览仓库源码,并确认 MIT 许可证符合你的使用要求。

小结

dsh-desktop 把 DSH 的「一切皆插件」落到了桌面体验上:一个 Web 插件,换来托盘、桌面窗口与开机自启,不需要引入独立客户端的维护成本。仓库与社区目录地址如下:

  • GitHub:https://github.com/LvsH13/dsh-desktop
  • 社区插件目录:https://www.skillhub.cn/plugins/LvsH13/dsh-desktop
羽毛球分组比赛记分
小程序二维码

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

Xiaoye