前言¶
在使用 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 進程權限運行,安裝前建議檢查源碼與許可證。