插件目录 / UI & Skins / dsh-app-launcher
dsh-app-launcher
已验证 · 实测可装 Alvin-Somedo
功能简介
把 DSH Web GUI 变成"桌面应用":以独立应用窗口打开,关闭窗口即优雅退出整个 DSH 进程
可用 — 实测通过,早期项目
把 DSH Web GUI 变成"桌面应用":以独立应用窗口打开,关闭窗口即优雅退出整个 DSH 进程 实测能干净安装、正常启动。早期项目,但功能可用。
「已验证」表示我们的自动化 CI 在干净 profile 里实际执行了 dsh plugin add 并启动成功——仅此而已。功能描述与版本兼容性均为作者声明。这不是安全审计,也不代表对第三方代码的背书。
README
dsh-app-launcher
把 DSH Web GUI 变成"桌面应用":以独立应用窗口打开,关闭窗口即优雅退出整个
DSH 进程(appExit),npx/cmd 包装进程随之自动结束;Windows 下默认还会在桌面
自动生成 DSH.lnk 一键启动快捷方式。
行为
- web 服务器绑定成功(
webServer服务出现)后,用 专用浏览器配置目录
(<DSH_HOME>/app-window/<browser>)打开 Chrome/Edge 应用窗口,不影响日常浏览器;
窗口 URL 自带进程 token(connection.authenticatedUrl)— dsh web 现在对
首页请求做认证,不带 token 只会看到"未认证"页; - 关闭该窗口 → 插件调用
appExit(0)→ DSH 进程优雅退出(先 dispose 整棵树); - Windows:
createShortcut(默认开启)自动生成桌面快捷方式(详见下方); disableSpellcheck(默认开启):应用窗口里不再出现红色拼写波浪线——注入页面的
脚本把输入框的spellcheck置为false(随界面重渲染自动维持),并把配置目录里
"在网页上输入文字时检查是否有拼写错误"总开关对应的偏好设为关闭;rememberWindow(默认开启):记住应用窗口的大小、位置和最大化状态——
页面探针定期把窗口几何(screenX/screenY/outerWidth/outerHeight)和最大化
判断上报给本地路由并落盘;下次启动时,若上次是最大化则只传--start-maximized
最大化打开(不传位置/尺寸——带上它们 Chromium 会以普通窗口按该尺寸打开,
把最大化顶掉),否则用--window-size/--window-position原样恢复大小和位置。
安装
需要 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 覆盖(不要写 insert,插件行由 bundle 自带):
- id: app-launcher
config:
enabled: true # false = 完全停用
openOnStart: true # 启动时打开窗口
exitOnClose: true # 关窗即退出 DSH
browser: auto # auto | chrome | edge
# profileDir: C:\custom\profile # 自定义浏览器配置目录
disableSpellcheck: true # 默认开启:应用窗口关闭拼写检查(页面级 spellcheck=false + 配置目录偏好);false = 关闭
rememberWindow: true # 默认开启:记住窗口大小/位置/最大化状态,下次启动恢复(最大化则 --start-maximized);false = 关闭
# windowStateFile: ... # 窗口几何状态文件,默认 <DSH_HOME>/app-window/window-state.json
createShortcut: true # 默认开启:启动时自动在桌面创建"隐藏启动 DSH"快捷方式(仅 Windows);false = 关闭
# shortcutName: DSH # 快捷方式名(不含 .lnk),默认 DSH
# launcherDir: ... # 生成的 start-dsh.vbs / dsh.ico 存放目录,默认 <DSH_HOME>/launcher
# desktopDir: ... # 快捷方式生成位置,默认真实桌面
createShortcut(默认开启)会生成:
<DSH_HOME>/launcher/start-dsh.vbs— 隐藏启动npx --yes @deepseek-ai/dsh web --no-open
(--no-open阻止 DSH 另开默认浏览器,窗口由插件打开);<DSH_HOME>/launcher/dsh.ico— 内置的 DSH 图标;- 桌面
DSH.lnk— 指向 wscript + 上面的 vbs。
dsh.ico 与桌面 DSH.lnk 已存在时不会被覆盖(生成时会跳过);start-dsh.vbs
内嵌插件版本标记,升级后下次启动发现版本不一致会自动重建,因此启动命令的调整随升级自动生效。
桌面快捷方式只负责"不打开终端也能启动";窗口打开与关窗退出仍由插件完成。
卸载
dsh plugin --profile web remove dsh-app-launcher
或手动:从 ~/.dsh/profiles/web/package.json 的 dsh.profile.bundles 移除包名,
删除 ~/.dsh/profiles/node_modules/dsh-app-launcher。
升级插件:
dsh plugin --profile web update(或 remove 后重新 add 新标签)。
安装
装一次目录插件,之后本站所有插件都能让 DeepSeek Harness 自动找、自动装:
dsh plugin add dshbase-catalog 然后对 agent 说「帮我装 dsh-app-launcher」,它会在目录里找到并自动安装。文档:dshbase-catalog · 已验证场景包。
该插件是 GitHub 源码(未发 npm)——直接从仓库装:
Web profile:
dsh plugin --profile web add github:Alvin-Somedo/dsh-app-launcher Headless(CLI)profile:
dsh plugin --profile headless add github:Alvin-Somedo/dsh-app-launcher 实测报告
验证通过:从 GitHub 源码完成 L1 安装 + L2 加载 + L3 运行(dsh 0.1.0-rc.6)。