前言¶
DeepSeek Harness (DSH) 的桌面端默认行为中,点击窗口关闭键通常只会将应用缩至托盘,进程仍在后台运行。对于需要彻底结束进程的场景(如系统维护、清理内存或特定重启流程),这往往不够直接。dsh-plugin-power-button 插件在侧边栏用户按钮右侧添加了独立的关机与重启入口,实现一键完全退出并验证重启状态。
功能概览¶
- 位置与入口:按钮位于侧边栏底部用户(账号)按钮的最右侧,点开后仅提供「关机」和「重新启动」两个选项。
- 完全退出:点击「关机」会结束 Electron 外壳进程,窗口和任务栏托盘图标同时消失,不同于常规的窗口最小化。
- 自动重启与验证:「重新启动」先完全退出,待 Web 端口释放后自动拉起 DSH,并验证端口是否重新监听。
- 工作确认:若检测到正在运行的会话、排队消息或后台任务,会先弹出二次确认框;即使状态查询失败也视为有工作,要求确认。
- 环境限制:仅限 Windows 10/11 桌面端。非桌面端(如
dsh web)或非 Windows 平台会自动隐藏按钮并拒绝接口调用。 - 安全机制:接口要求
application/jsonContent-Type、同源请求以及携带启动时生成的 nonce,防止跨站脚本恶意关机。使用 Node 脚本而非 PowerShell 执行,规避安全软件拦截。
安装与启用¶
在使用前,请确保环境满足以下依赖:
* Node.js >= 20
* DSH 桌面端版本 >= 0.2.0-rc.1
执行以下命令安装插件:
dsh plugin --profile desktop add github:WovenJunct/dsh-plugin-power-button
安装后需要重启 DSH 并刷新页面,侧边栏左下角用户按钮右侧会出现 ⏻ 按钮。
注意事项¶
- 打断回复:强制结束进程会中断正在进行的回复,会话日志可能丢失最后一段。
- 重启风险:在极端情况下(如安全软件拦截助手进程),重启可能只关不开,需查看日志。
- 日志位置:所有操作日志记录在
%USERPROFILE%\.dsh\dsh-plugin-power-button.log。
总结¶
该插件通过进程归属控制与安全接口校验,为 Windows 桌面端用户提供了一个可控的进程管理入口。详情请参考 GitHub 仓库。