前言¶
DSH 的擴展方式偏插件化,很多界面入口和宿主能力都可以通過插件掛載。對於 web profile 的使用者來說,重啓服務如果還要切回終端,操作會多一步。dsh-setting-restart 提供的是一個通用設置頁內的一鍵重啓入口:在 Settings → General 底部出現“一鍵重啓”行,點擊後執行 DSH 服務重啓,並在瀏覽器端自動重連。
下面介紹它的定位、核心功能、安裝啓用方式、典型用法和配置注意事項。
插件定位¶
dsh-setting-restart 是 893413974-bit 維護的 DSH 插件,許可證爲 MIT。它面向已經使用 DeepSeek Harness web profile 的開發者,把重啓動作放進設置頁,減少在瀏覽器和終端之間來回切換。
運行要求如下:
- DeepSeek Harness
dsh ≥ 0.1.0-rc.6(web profile) - Node.js
≥ 20
核心功能¶
- 在
Settings → General頁面底部提供“一鍵重啓”行。 - 該重啓行通過最大 slot order 固定顯示在頁面最底部。
- 重啓爲真實進程重啓:宿主啓動 detached helper,退出後 helper 重新拉起相同的
dsh命令。 - 瀏覽器標籤頁在新實例綁定同一端口後自動重連。
- 提供簡體中文 / English 雙語 UI 文案。
- 通過 DSH Typert RPC registry 執行嚴格調用
settingRestart/restart。
安裝與啓用¶
1、先安裝到 web profile:
dsh plugin --profile web add dsh-setting-restart
2、在 profile 的用戶補丁層添加 insert 條目。將下面的條目添加到 $DSH_HOME/profiles/web/cordis.patch.yml:
# $DSH_HOME/profiles/web/cordis.patch.yml
- insert:
- id: setting-restart
name: dsh-setting-restart
3、啓動或重啓服務:
dsh web
4、打開 Settings → General,確認頁面底部出現“一鍵重啓”行。點擊“重啓”後,服務進入上述重啓流程,頁面在新實例綁定同一端口後自動重連。
如果希望同一插件對所有 profile 生效,也可以將相同的 patch 添加到 home-level $DSH_HOME/cordis.patch.yml。
典型用法¶
先執行 dsh web 啓動服務。隨後打開 Settings → General,頁面底部會出現“一鍵重啓”行。
點擊“重啓”後,宿主會啓動 detached helper,隨後退出當前進程;helper 會重新拉起相同的 dsh 命令。新實例綁定同一端口後,原瀏覽器標籤頁會自動重連。
配置¶
insert 條目支持可選 config 塊。下面示例給出可配置項和默認值:
- insert:
- id: setting-restart
name: dsh-setting-restart
config:
exitDelayMs: 1200
waitForExitMs: 30000
respawn: true
exitDelayMs默認1200。waitForExitMs默認30000。respawn默認true;如果服務已由systemd、pm2等 supervisor 自動重啓,可將其設爲false。
適用場景與注意¶
適合以下場景:
- 已使用 DSH
webprofile,希望在瀏覽器設置頁內重啓服務。 - 需要把重啓入口固定放在
Settings → General底部。 - 服務不由外部 supervisor 管理,希望插件完成真實進程重啓和自動重連。
需要注意:
- 插件以當前
dsh進程權限運行,安裝前應檢查源碼、接口和許可證。 - 如果已有
systemd或pm2等 supervisor 管理進程,建議把respawn設爲false,避免重複拉起。 - 使用前確認本機滿足
dsh ≥ 0.1.0-rc.6與 Node.js≥ 20的版本要求。
結尾¶
dsh-setting-restart 的價值在於把 DSH 服務重啓收斂到通用設置頁:入口固定、動作明確、頁面可自動重連。GitHub 倉庫:https://github.com/893413974-bit/dsh-setting-restart。