DeepSeek Harness (DSH) 的 Web 界面通常以独立进程运行。在开发或运维场景中,有时需要完全停止 dsh web 进程以释放端口,或强制进行冷启动。dsh-restart-button 插件在 Web 界面的右下角添加了一个浮动退出按钮,允许用户通过图形界面完成这一操作。
核心功能¶
- 浮动按钮:固定在右下角,悬停时呈红色高亮。
- 确认机制:点击后弹出主题确认卡片,防止误操作。
- 完全退出:触发
dsh web进程终止,释放其监听端口。 - 冷启动就绪:进程退出后,下次启动将作为冷启动。
安装与启用¶
使用 DSH 的插件管理工具安装:
dsh plugin --profile web add "dsh-restart-button"
安装完成后,重启 dsh web 进程即可生效。
使用流程¶
- 点击界面右下角的退出按钮。
- 在弹出的确认卡片中点击确认。
dsh web进程完全退出,端口释放。
工作机制与安全¶
- 服务器端:注册了
POST /api/dsh-restart/quit路由,该路由仅接受回环请求。在返回 200 响应后调用ctx.appExit。 - 客户端:使用原生 DOM 操作,不依赖 React,通过
window.__ModuleLoader__加载。 - 超时机制:如果退出清理过程挂起,插件会在 8 秒后触发强制退出,以确保资源释放。
- 安全性:不生成文件,不生成新进程,仅通过 DSH 的
ctx.appExit退出。
前置要求¶
插件要求 DeepSeek Harness 版本不低于 0.1.1-rc.1。
总结¶
该插件通过简单的 UI 操作实现了进程的完全退出,适用于需要频繁重启或进行冷启动的场景。代码托管在 GitHub 上,遵循 MIT 许可证。