前言¶
DSH 的插件生态里,很多能力都可以围绕 Web UI 做扩展,但窗口启动、托盘、通知和关窗退出这类桌面行为,通常不在 Web 服务本身的处理范围内。dsh-native-launcher 针对这部分做一层适配:在 Windows 上把 DeepSeek Harness Web UI 的启动入口、窗口行为、托盘通知和卸载清理整理成一组可开关的功能。
它由 ingleav626-art 维护,使用 MIT 许可证。它不替换官方 Web UI,也不引入 Electron / Python / WebView2 等重型桌面端或运行时,而是在 DSH 官方插件生态及其官方基础依赖上,用 Windows 原生机制补上桌面 App 式的一键启动体验。
这是什么¶
一句话:dsh-native-launcher 是一个面向 Windows 的 DSH 插件,用来把 WebUI 启动成桌面应用式入口,并提供托盘、通知、设置页和一键卸载。
它主要解决这几类操作:
- 不想每次手动跑命令启动 WebUI。
- 希望双击桌面图标即可启动或回到已有窗口。
- 希望任务完成、出错、等待审批时有系统通知。
- 希望关闭窗口时的服务退出行为可配置。
- 希望卸载时能清理插件生成的文件、快捷方式、注册表项和 profile 条目。
核心功能¶
桌面快捷方式¶
安装后会生成桌面快捷方式。双击可启动或返回 WebUI。设置页里可以自定义快捷方式名称,也可以强制重建。
独立应用窗口¶
可以把 WebUI 安装为桌面应用。应用窗口拥有独立任务栏图标,也没有浏览器地址栏。如果没有安装应用,插件会按设置页里的打开方式回退。
窗口自动聚焦¶
如果 WebUI 已经在运行,再次点击快捷方式或托盘时,插件会把已有窗口切换到前台,而不是再开一个实例。
系统托盘与任务通知¶
插件提供常驻托盘图标,入口包括“打开 WebUI”和“退出”。任务状态变化会通过 Windows 原生通知提醒,覆盖任务完成、出错、中止、被阻塞、达到上限,以及等待审批、等待回答、计划审阅等状态。
通知以托盘通知为主通道,浏览器通知仅作兜底。Windows 可能会静默屏蔽短时间内的连续通知,测试通知时建议间隔几秒再点。
关闭语义¶
当所有窗口都关闭,并且没有运行中任务时,服务会自动停止;如果仍有任务在运行,服务会等待任务完成后再停止。设置页里可以关闭“关窗自动退出”,让服务在关窗后继续常驻。
设置页与模块化¶
设置页提供可视化配置,并持久化保存。可配置项包括:
- 启动命令
- 端口
- 快捷方式名称
- 打开方式
- 托盘开关
- 通知开关
- 关闭语义参数
- 各功能模块开关
附加功能以独立模块形式提供,可以单独启用或停用。如果已经使用其他同类插件,可以在设置页关闭对应模块,减少功能冲突。
一键卸载与日志¶
设置页提供一键卸载:停止服务、移除桌面快捷方式、清理生成文件与注册表项、从 profile 移除插件条目,并可选择清除个性化配置。
启动、运行、卸载过程都有结构化日志。卸载日志位于:
%USERPROFILE%\.dsh-webui-launcher\uninstall.log
该日志不会被卸载清理。通知问题可查看:
~/.dsh-webui-launcher/tray-notify.log
安装与启用¶
平台与版本要求¶
仅支持 Windows 10/11,x64。macOS / Linux 请勿安装。
需要:
dsh >= 0.1.0-rc.8
如果 dsh 版本过低,可执行:
npm install -g @deepseek-ai/dsh@0.1.0-rc.8
从 rc.8 开始,dsh web 默认会打开浏览器;dsh-native-launcher 通过 --no-open 避免插件和官方行为同时打开页面导致双开。
dsh plugin 命令依赖 pnpm。如果提示:
pnpm is not recognized
可执行:
npm install -g pnpm
或:
corepack enable pnpm
@deepseek-ai/schemastery 是 DSH 官方基础依赖,会随插件安装声明;它用于设置页 schema,不属于额外社区功能框架。
方式一:npm 安装¶
npm install -g dsh-native-launcher
dsh plugin --profile web add dsh-native-launcher
方式二:源码安装¶
git clone https://github.com/ingleav626-art/dsh-native-launcher
dsh plugin --profile web add <path-to-repo>
源码安装后,重启 dsh web 后生效。
安装后检查¶
安装并重启后,桌面应出现快捷方式,右下角托盘应出现图标。双击快捷方式即可启动或返回 WebUI。
典型用法¶
启动 WebUI¶
安装后,直接双击桌面快捷方式。如果 WebUI 未运行,会启动服务;如果已经运行,会切换到现有窗口。
安装为桌面应用¶
用普通标签页打开:
http://127.0.0.1:3080
在页面提示框中点击安装。如果浏览器没有弹出安装提示,可在 Edge 菜单中进入:
⋯ → 更多工具 → 应用 → 将此站点安装为应用
安装完成后,快捷方式会优先打开独立应用窗口。
修改设置¶
设置页可配置启动命令、端口、快捷方式名称、打开方式、托盘开关、通知开关、关闭语义参数,以及各功能模块开关。修改保存后会持久化。
处理通知未收到¶
如果托盘通知没有收到,可先确认托盘图标存在,再查看:
~/.dsh-webui-launcher/tray-notify.log
在设置页发送测试通知时,建议间隔几秒再点,避免 Windows 短时间内屏蔽连续通知。
修改端口后旧应用打不开¶
修改 port 后,旧 PWA 仍可能指向旧端口。启动时可能回退到 --app 模式,功能仍可用。旧应用需要到:
edge://apps
手动卸载后再安装。
不想关窗退出服务¶
如果希望关闭窗口后服务继续运行,在设置页关闭“关窗自动退出”。之后需要手动使用托盘里的退出入口停止服务。
快捷方式依赖全局 dsh 命令¶
快捷方式通过 dsh 命令启动服务,依赖 PATH 中的全局 dsh 命令。v0.2.1 起可自动回退 npx 启动并显示提示;如果平时未全局安装 dsh,仍建议确认 PATH 中的 dsh 命令可用。
卸载¶
推荐在设置页执行一键卸载。它只会移除本插件提供的桌面化增强组件;dsh 服务本身与其数据不受影响。可选择是否清除个性化配置。
手动备用方式:
dsh plugin --profile web remove dsh-native-launcher
并清理:
~/.dsh-webui-launcher
以及桌面上的 DSH WebUI 快捷方式。卸载日志仍保留在:
%USERPROFILE%\.dsh-webui-launcher\uninstall.log
适用场景与注意¶
适合:
- Windows 10/11,x64 上的 DSH WebUI 用户。
- 希望桌面快捷方式、托盘、通知和关窗退出统一管理。
- 希望保持轻量,不引入 Electron / Python / WebView2。
- 希望功能可单独开关,减少与其他插件冲突。
注意:
- 仅限 Windows;macOS / Linux 不要安装。
- dsh 版本需要
dsh >= 0.1.0-rc.8。 dsh plugin依赖 pnpm。- 托盘通知是主通道,浏览器通知是兜底;短时间连续通知可能被 Windows 静默屏蔽。
- 修改端口后,旧 PWA 可能仍指向旧端口。
- 一键卸载只移除桌面化增强组件,不影响 dsh 服务本身与数据。
- 插件会在当前 dsh 进程权限下运行。安装前建议检查源码、依赖声明和 MIT 许可证。
链接¶
目录页:
https://www.skillhub.cn/plugins/ingleav626-art/dsh-native-launcher
GitHub:
https://github.com/ingleav626-art/dsh-native-launcher