dsh-app-launcher:把 DSH Web GUI 变成桌面应用窗口

前言

使用 DSH 的 Web GUI 时,通常先启动 dsh web,再通过浏览器访问。如果你希望它更像桌面应用:启动后打开一个独立的应用窗口,关闭这个窗口就让整个 DSH 进程优雅退出,可以安装 dsh-app-launcher

下面介绍它的能力、安装命令和配置项。

这是什么

dsh-app-launcher 是一个 DSH profile bundle,包名为 dsh-app-launcher,仓库地址是 https://github.com/Alvin-Somedo/dsh-app-launcher,许可证为 MIT

它的作用是:

  • 以独立应用窗口打开 DSH Web GUI;
  • 用专用浏览器配置目录打开 Chrome/Edge 应用窗口,不影响日常浏览器;
  • 窗口 URL 自带进程 token,用于 dsh web 首页请求认证;
  • 关闭窗口后调用 appExit(0),让 DSH 进程优雅退出;
  • 可作为 DSH profile bundle 从 GitHub 或 npm 安装。

核心功能

独立应用窗口

插件使用专用浏览器配置目录打开 Chrome/Edge 应用窗口。配置项 browser 可选择 autochromeedge

认证窗口 URL

窗口 URL 自带进程 token。dsh web 首页请求需要认证,不带 token 只会看到未认证页。

关窗退出

关闭应用窗口后,插件调用 appExit(0),DSH 进程优雅退出。

Windows 桌面快捷方式

在 Windows 下默认开启 createShortcut,会自动生成桌面 DSH.lnk 一键启动快捷方式。

dsh.ico 与桌面 DSH.lnk 已存在时不会被覆盖;start-dsh.vbs 版本不一致时会自动重建。

关闭拼写检查

默认关闭应用窗口拼写检查。

记住窗口状态

默认记住应用窗口的大小、位置和最大化状态,并在下次启动时恢复。

最大化恢复只传 --start-maximized,不传位置/尺寸。

安装与启用

安装前需要 pnpm

npm i -g pnpm

或:

corepack enable

从 GitHub 安装:

dsh plugin --profile web add github:Alvin-Somedo/dsh-app-launcher

从 npm 安装:

dsh plugin --profile web add dsh-app-launcher

安装后下次启动生效:

dsh web

或:

npx @deepseek-ai/dsh web

典型配置

~/.dsh/profiles/web/cordis.patch.yml 中按 id app-launcher 覆盖 config

不要写 insert,插件行由 bundle 自带。

- id: app-launcher
  config:
    enabled: true
    openOnStart: true
    exitOnClose: true
    browser: auto
    disableSpellcheck: true
    rememberWindow: true
    createShortcut: true

这些配置项用于控制:

  • enabled:是否启用插件;
  • openOnStart:启动时是否打开窗口;
  • exitOnClose:关闭窗口时是否退出 DSH;
  • browser:选择 autochromeedge
  • disableSpellcheck:是否关闭应用窗口拼写检查;
  • rememberWindow:是否记住窗口大小、位置和最大化状态;
  • createShortcut:Windows 下是否生成桌面快捷方式。

卸载与升级

卸载:

dsh plugin --profile web remove dsh-app-launcher

手动卸载时,从 ~/.dsh/profiles/web/package.jsondsh.profile.bundles 移除包名,并删除 ~/.dsh/profiles/node_modules/dsh-app-launcher

升级插件:

dsh plugin --profile web update

适用场景与注意

适合:

  • 希望把 dsh web 作为桌面应用式入口;
  • 希望关闭应用窗口即结束 DSH 进程;
  • 希望应用窗口使用独立浏览器配置,不影响日常浏览器;
  • 在 Windows 下使用桌面快捷方式启动 DSH。

注意:

  • 插件以当前 dsh 进程权限运行,安装前应检查源码和许可证(MIT)。
  • 安装后需要下次启动 dsh web 才生效。
  • 窗口 URL 需要进程 token;不带 token 只会看到未认证页。
  • createShortcut 为 Windows 相关行为,默认开启。
  • cordis.patch.yml 中覆盖配置时不要写 insert
  • DSH 社区目录是独立站点,不等同于 DeepSeek/幻方官方应用商店。

结尾

经过上面的步骤,dsh-app-launcher 可以把 DSH Web GUI 打开为独立应用窗口,并在关闭窗口时通过 appExit(0) 优雅退出 DSH 进程。它主要解决的是“启动入口、浏览器隔离、关窗退出”这几件具体事情。

GitHub:https://github.com/Alvin-Somedo/dsh-app-launcher

目录页:本次已核实资料未给出具体 URL,可按包名 dsh-app-launcher 在 DSH 社区目录中检索。

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

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

小夜