前言¶
在使用 DeepSeek Harness(DSH)进行开发时,直接关闭终端窗口或强制结束进程可能导致 Fiber 线程泄漏,或未能有序收尾持久化、服务与连接。需要一个标准化的退出入口来触发 ctx.appExit,确保进程以退出码 0 优雅结束。dsh-shutdown-button 专注于解决这一操作层面的痛点。
插件简介¶
这是一个由 Yelloooooow 维护的客户端插件。它通过在 DSH Web GUI 的侧栏脚部添加关机按钮,将 DSH 启动器提供的关机能力暴露给前端用户。安装后,用户无需在命令行或系统进程管理器中操作,即可通过图形界面触发安全退出。
核心功能¶
- 固定位置与交互:按钮固定位于侧栏脚部,设置按钮上方。支持展开与收起状态,收起时为圆形图标,展开时显示图标与文字。
- 确认弹窗:点击按钮后弹出「确认关机?」对话框,防止误触。
- 有界优雅关机:确认后走
ctx.appExit流程。插件会整体释放应用 Fiber,有序收尾持久化、服务、连接,并在超时后兜底,最终以退出码 0 正常结束进程。 - 自动装载:以
dsh.bundle形式装入 profile,无需手动批准或装载。
安装与启用¶
本插件是 dsh 的 out-of-tree bundle。安装时,dsh plugin 会将仓库作为插件包安装到 profile,并因包声明了 dsh.bundle.patch 而自动加入 dsh.profile.bundles。
执行以下命令安装:
dsh plugin --profile web add github:Yelloooooow/dsh-shutdown-button
安装完成后重启 Harness,左下角即会出现关机按钮。
使用方法¶
- 在 DSH Web GUI 的左下角找到电源图标。
- 点击图标,在弹出的对话框中确认。
- 确认后 DSH 将执行安全退出。
注意事项¶
- 许可:MIT 许可。
- 卸载:移除插件需要执行以下命令:
dsh plugin --profile web remove dsh-shutdown-button
- 源码检查:插件以当前 dsh 进程权限运行,安装前建议检查源码与许可证。