前言¶
DSH 的 web GUI 由一個本地 dsh web 進程提供。修改插件、調整配置或宿主需要刷新時,重啓這個進程是常見操作。手動重啓需要確認當前命令行、端口、profile 和 workspace,也容易打斷當前會話。
dsh-restart-fab 是 DSH 的一個 web 插件:它在 DeepSeek Harness web GUI 的右下角增加一個懸浮按鈕,點擊確認後在當前頁面就地重啓宿主,並等待新宿主響應後自動回到頁面。
這是什麼¶
下面介紹這個插件的基本信息。
- 插件名:
dsh-restart-fab - 維護者:
miisaka19800 - 平臺:
web - 許可證:MIT
- 作用:爲 DeepSeek Harness web GUI 提供右下角的一鍵重啓按鈕,不依賴額外啓動腳本。
核心功能¶
下面列出插件已說明的能力。
- 右下角懸浮按鈕:第一次點擊用於確認,第二次點擊觸發重啓。
- 自包含重啓:重啓後的宿主使用啓動當前宿主的相同命令行,保留 workspace、port、profile 和 flags。
- 跨平臺:Windows 使用
taskkill;macOS/Linux 使用SIGTERM,然後使用SIGKILL。 - 快速重啓:舊進程在確認約 1.6 秒後被終止,新宿主立即啓動。
- 可視化等待:重啓期間顯示全屏 overlay、spinner 和 elapsed timer;頁面每秒輪詢宿主,新宿主響應後自動 reload;60 秒後出現 refresh-now 兜底。
- 會話恢復:DeepSeek Harness 會持久化 sessions,重啓後會話自動恢復。
- 同源限制:restart route 只接受同源 POST,拒絕來自其他 origin 的請求。
安裝與啓用¶
README 給出三類安裝方式。如果從 npm 安裝,README 標註爲 package 發佈後使用;也可以直接安裝 GitHub 倉庫或本地 checkout。
從 GitHub 安裝:
dsh plugin --profile web add github:miisaka19800/dsh-restart-fab
從本地目錄安裝:
dsh plugin --profile web add /path/to/dsh-restart-fab
如果 package 已發佈,README 給出:
dsh plugin --profile web add dsh-restart-fab
安裝完成後,重啓一次 DeepSeek Harness。按鈕隨後在 web GUI 中可用。
卸載插件:
dsh plugin --profile web remove dsh-restart-fab
典型用法¶
經過上面的步驟後,典型使用流程如下。
1、打開 DSH web GUI,頁面右下角出現重啓按鈕。
2、第一次點擊按鈕,進入確認狀態。
3、第二次點擊按鈕,觸發就地重啓。
4、頁面顯示全屏 overlay 和計時器,同時每秒檢查新宿主是否響應。
5、新宿主響應後頁面自動 reload;如果 60 秒後仍未響應,頁面提供 refresh-now 兜底。
重啓過程與邊界¶
這個插件的重啓對象是當前 dsh web 進程。確認後,舊進程會被終止,隨後用相同命令行啓動新宿主。DeepSeek Harness 的 sessions 依賴持久化恢復,而不是靠舊進程保持運行。
需要區分兩種情況:
- 會話可以恢復:DSH 持久化 sessions,重啓後對話可繼續。
- 正在執行的任務會被中斷:重啓會停止當前宿主進程,進程內運行中的工作不會在舊進程中繼續。
適用場景與注意¶
下面說明它適合的使用位置,以及安裝前需要確認的事項。
適合:
- 在 DSH web profile 中需要重啓宿主進程的開發者。
- 希望保留當前 port、profile、flags 和 workspace,而不用手動複製啓動命令的場景。
- 只需要 web GUI 內重啓入口,不需要額外啓動器的場景。
需要謹慎:
- 當前宿主中正在運行且無法中斷恢復的工作。
- 需要依賴 npm 安裝,但未確認 package 是否已發佈的場景;此時可使用 GitHub 或本地 checkout 命令。
- restart route 只接受同源 POST;插件以當前 DSH 進程權限運行,能終止並重啓宿主進程。安裝前應檢查源碼,並確認接受 MIT 許可證和運行環境可信。
鏈接¶
- 插件目錄頁:https://www.skillhub.cn/plugins/miisaka19800/dsh-restart-fab
- GitHub:https://github.com/miisaka19800/dsh-restart-fab