dsh-launcher:DSH 侧栏关机/重启与 Windows 托盘启动

前言

在本地跑 DeepSeek Harness(DSH)时,停服务往往还要回到终端按 Ctrl+C;窗口最小化后也不方便看控制台输出。若希望像普通桌面应用一样从快捷方式或托盘启停,并在 Web 界面里直接关机、重启,就需要在 DSH 的插件体系里找对应能力。下面介绍社区插件 @mostkia/dsh-launcher(维护者 mostkia,分类:客户端):它在官方侧栏底部提供电源按钮,并在 Windows 上附带可开机自启的托盘启动器。

这是什么

@mostkia/dsh-launcher 面向「原版」DSH 主机,把电源控制与启动方式拆成两块:侧栏里的 Power 按钮(占用官方 sidebar.footer.action 位,与 Settings 并列),以及 Windows 托盘启动器(桌面快捷方式 + 系统托盘)。插件本身跨平台;托盘、登录自启目前仅 Windows 实现,README 中对不支持平台有明确说明。

与仅做 HTTP 关机的同类思路相比(例如社区里的 dsh-shutdown,MIT,本插件未包含其代码),本插件还负责托盘 supervision、控制台输出捕获,以及和侧栏对话框共用的自启注册表项。

核心功能

侧栏电源按钮

安装并重启 DSH 后,侧栏底部会出现电源入口。点开对话框可选:

  • Shut down:优雅退出,进程以 code 0 结束。
  • Restart:以重启约定退出码退出;在托盘 supervision 下由托盘重新拉起 DSH。
  • 对话框底部 Start at logon 开关:与托盘菜单中的同名项读写同一注册表值(HKCU\Software\Microsoft\Windows\CurrentVersion\Run → DSHLauncher)。

界面颜色、圆角、阴影来自 DSH 主题 token(--dsw-alias-* 等),随明暗主题切换;文案经客户端 locale 服务,支持中文与英文。

Windows 托盘启动器

首次安装插件后需 重启 DSH 一次,托盘组件会在该次重启中自动安装;杀毒或系统权限提示可能出现(创建快捷方式、安装托盘),需按提示允许。重启完成后桌面会出现 DSH 快捷方式;再关闭 DSH,从该快捷方式启动,功能才完整可用。

托盘(黑色鲸鱼图标,源自 DSH favicon)典型操作:

  • 双击:查看捕获的控制台输出。
  • 菜单:显示/隐藏、启动、重启、打开 DSH、打开日志、登录自启、关闭 DSH 并退出托盘。

默认 不 开启登录自启;可在托盘菜单或侧栏电源对话框中打开。

HTTP 接口(脚本与其它启动器)

端点均在插件命名空间下;带 Origin 且非本机 loopback 的请求一律 403;无 Origin 的脚本请求(如 curl)按设计允许,用于区分浏览器 CSRF 与本地自动化。

方法 路径 含义
GET /_dsh-launcher/status 平台、pid、是否有 supervisor、自启状态
POST /_dsh-launcher/shutdown 优雅退出,code 0
POST /_dsh-launcher/restart 优雅退出,code 42(仅在有 supervision 时)
POST /_dsh-launcher/autostart/enable 注册登录启动项
POST /_dsh-launcher/autostart/disable 移除登录启动项

安装与启用

主机要求(来自 README):DSH 0.1.7-rc.1、0.1.7-rc.2 或更新(依赖 sidebar.footer.action、ctx.appExit、webServer 注册 API);Node ^22.19.0 || >=24.0.0(与 DSH 一致)。当前发布版本 0.1.0,许可证 MIT。

从 GitHub 安装并固定 tag,便于复现:

dsh plugin --profile web add github:mostkia/dsh-launcher#v0.1.0

安装完成后侧栏电源菜单即可见,但 必须重启 DSH 后托盘才会自装;按上文「关闭 → 从桌面快捷方式启动」走完,侧栏与托盘能力才齐全。

卸载插件(仅移除主机侧 power 插件):

dsh plugin --profile web remove @mostkia/dsh-launcher

托盘需单独卸载:托盘图标右键 → Uninstall tray…,会停止托盘并清除自启项、桌面快捷方式与启动器本身。两部分可独立保留或移除。

典型用法

  1. 日常在浏览器里用 DSH;需要停服务时点侧栏 Shut down,需要无终端干预的重启点 Restart(配合托盘 supervision)。
  2. 希望开机自动跑 DSH:在电源对话框或托盘菜单打开 Start at logon。
  3. 本地脚本查询状态或关机(示例需 DSH 已监听且插件已加载;具体 Host/端口以你本机 DSH 配置为准):
curl -s http://127.0.0.1:<port>/_dsh-launcher/status
curl -X POST http://127.0.0.1:<port>/_dsh-launcher/shutdown

适用场景与注意

适合谁:主要在 Windows 上长期本地跑 DSH、不想依赖终端窗口关进程,又希望侧栏里有一致主题电源 UI 的开发者。

权限与安全:插件与当前 DSH 进程同权限运行;安装前应在 GitHub 阅读源码与 MIT 许可证,确认 HTTP 面仅面向本机 loopback 的策略符合你的部署方式。非 Windows 平台仍可使用侧栏电源与 HTTP 能力,但不要期待托盘与登录自启。

与其它插件:仅占用自身路由,README 说明不与 dsh-shutdown 在路由层互替;单独安装即可各自工作。包设计为无运行时 dependency,@deepseek-ai/* 均为 peerDependency,避免重复安装导致 Cordis Symbol 分裂。

生态说明:DSH 社区插件目录(如 SkillHub)是独立站点,与 DeepSeek / 幻方无官方从属关系;本文事实均来自插件仓库 README 与 package.json(截至资料抓取时 GitHub 星标为 0)。

链接

  • 目录页:https://www.skillhub.cn/plugins/mostkia/dsh-launcher
  • 源码与文档:https://github.com/mostkia/dsh-launcher
羽毛球分组比赛记分
小程序二维码

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

Xiaoye