darkchaox/dsh-restart-control

darkchaox★ 0JavaScript最后同步: 2026-08-20

在 GitHub 打开

為 DSH Web 提供跨平台、受控的「重啟 DSH」設定頁面。不執行任意 shell 命令,也不需要 root 或 sudo 權限。

README 摘要

dsh-restart-control 為 DSH Web 提供跨平台、受控的「重啟 DSH」設定頁面。管理者可以在 Web UI 發出固定格式的重啟請求,插件會先保存狀態,再依主機環境選擇交由外部服務管理器重啟,或由內建的 portable helper 重新拉起 DSH。 [!WARNING] 若 DSH 已由 PM2、Docker、Windows Service、systemd 或其他服務管理器負責自動重啟,請使用 DSH RESTART CONTROL MODE=external ,避免外部管理器與 portable helper 同時拉起多個 DSH 進程。若 DSH 是在 Windows、macOS 或沒有服務管理器的 Linux 上手動啟動,預設的 auto 模式會使用跨平台 portable helper。 功能 - Web 設定頁: 在 DSH Web 的設定頁加入「重啟 DSH」區塊,提供確認、狀態顯示與重新整理按鈕。 - 跨平台重啟: 支援 Windows、macOS 及 Linux;沒有 systemd 或其他外部管理器時,可由內建 helper 重新拉起原本的 DSH 進程。 - 外部管理器整合: 在 systemd、PM2、Docker、Windows Service 等環境中,可只退出並返回固定的 exit code 75,讓既有管理器依其重啟策略接管。 - 受控重啟: 瀏覽器只提交 settings 狀態,不接受 shell 命令、檔案路徑或服務管理器參數。 - 可靠確認: 宿主端先保存 scheduled 狀態;新進程產生新的 bootId 後才會將狀態標記為 success 。 - 失敗可見: 請求逾期、時間格式錯誤、連續重啟過快、狀態保存失敗或 helper 無法啟動時,UI 會顯示失敗原因,不會偽報成功。 - 無需廣泛權限: 插件不要求為 DSH Web 授予 root、sudo、systemd 或 shell 執行權限。 重啟策略 插件讀取環境變數 DSH RESTART CONTROL MODE 。只接受下列固定值;未設定或填入未知值時會回到 auto : 值 行為 適用情境 auto (預設) Windows 直接使用 portable;macOS/Linux 偵測到 systemd 管理環境時使用 external,否則使用 portable。 手動啟動的 DSH,或希望由插件自動判斷的環境。 portable 啟動內建 helper,等待目前 DSH 進程退出後,以原本的 Node executable、參數、工作目錄與環境重新拉起 DSH。 Windows、macOS、沒有服務管理器的 Linux。 external 保存 scheduled 後以 exit code 75 結束目前進程,不自行啟動子進程。…

在 GitHub 查看完整 README →
工具/开发cordis-plugindeepseek-harnessdshdsh-pluginweb ui

分类