前言¶
在 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.yml 的 insert 列表中加入:
- 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、希望开机即用、少碰终端的开发者,也适合需要在桌面端与网页端之间来回切换的场景。
使用前注意:
- 仅支持 Windows 10 / 11,macOS/Linux 下桌面功能不可用(见环境要求)。
- 应用模式桌面窗口需要 Chromium 内核,建议安装 Microsoft Edge 或 Google Chrome;两者都无时回退为默认浏览器普通窗口。
- 保持
dsh-tray.ps1为 UTF-8 with BOM 编码,否则 Windows PowerShell 5.1 会乱码读取。 - 卸载时需手动清理托盘、自启、快捷方式与
%LOCALAPPDATA%\dsh-desktop目录。 - 插件以当前 dsh 进程的权限运行,安装前建议浏览仓库源码,并确认 MIT 许可证符合你的使用要求。
小结¶
dsh-desktop 把 DSH 的「一切皆插件」落到了桌面体验上:一个 Web 插件,换来托盘、桌面窗口与开机自启,不需要引入独立客户端的维护成本。仓库与社区目录地址如下:
- GitHub:https://github.com/LvsH13/dsh-desktop
- 社区插件目录:https://www.skillhub.cn/plugins/LvsH13/dsh-desktop