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 許可證。