跳到主要内容

dsh-desktop-mode

已验证

@midnightbell/dsh-desktop-mode · v1.0.0 · MIT · Web 界面

DSH 桌面版插件:设置页新增「桌面模式」分组,开关一键开启桌面版(独立窗口 + 桌面快捷方式)。

安装

dsh plugin add @midnightbell/dsh-desktop-mode

dsh --profile default --dump-config 确认 layer 已生效 —— 参见安装指南

源码

发布到 npm 但没有公开仓库。安装前请检查包内容。

标签

作者

说明文档

@midnightbell/dsh-desktop-mode — DSH 桌面版插件

在 DSH Web 设置页新增「桌面模式」分组,把 DSH 变成独立桌面应用:

  • 开关「启用桌面版」:开启后自动创建桌面快捷方式(DSH 服务.lnk)并打开独立桌面窗口(WebView2 内嵌界面,无浏览器标签/地址栏)
  • 「打开桌面版窗口」:随时启动/聚焦桌面窗口
  • 「创建桌面快捷方式」:在桌面生成指向桌面程序的快捷方式
  • 状态行:显示桌面程序位置、当前是否运行在桌面窗口内

架构:薄壳 + npx

插件自带一个 ~40KB 的薄壳窗口程序bin/DSH.exe + WebView2 DLL,共 ~0.8MB), 不包含任何 Node 运行时:

  • 端口上已有 dsh web 服务 → 直接开窗口连接
  • 没有服务(如控制台被关闭、或快捷方式冷启动)→ 通过 npx -y @deepseek-ai/dsh web --port <port> 自动拉起后台分离服务 (不挂任何控制台,关闭控制台不影响它)
  • 窗口内置看门狗:服务断开后几秒内自动用 npx 重启并重连——效果上桌面版 “接管”了服务

装了本插件的用户必然已能运行 npx @deepseek-ai/dsh web(插件随 dsh 服务 安装),因此除 Node.js 与 WebView2 运行时(Windows 10/11 自带)外无其他依赖。

安装

dsh --profile web plugin add @midnightbell/dsh-desktop-mode

(等价于在 profile 中安装依赖并把包名加入 dsh.profile.bundles。)安装后 重启 dsh web 服务,设置页左栏即可见「桌面模式」。

卸载

dsh --profile web plugin remove @midnightbell/dsh-desktop-mode

桌面快捷方式(如有)手动删除即可;数据文件 ~/.dsh/.dsh-desktop-mode.json 可留可删。

工作原理

  • Host 半lib/index.js):注册 POST /desktop-api 端点,提供 load / save / probe / createShortcut / launch;设置持久化到 DSH_HOME/.dsh-desktop-mode.json
  • Client 半lib/client.js):注册 settings.section(id: desktop), 通过 fetch 调用 host 端点
  • 薄壳bin/):DSH.exe 为 .NET Framework 4.x + WebView2 WinForms 程序,源码见 DSH-Desktop 发行目录 src/DSHDesktop.cs

要求

  • Windows 10/11(os: ["win32"]
  • Node.js(能运行 npx @deepseek-ai/dsh web
  • Microsoft Edge WebView2 运行时(Windows 10/11 通常自带)

License

MIT