前言¶
DeepSeek Harness (DSH) 的宿主代碼只在進程啓動時加載一次,沒有熱替換功能。修改插件後,DSH 的界面通常只提示“更改將在下次啓動生效”,但不會自動重啓應用,也不會在重啓後把對話接回來。dsh-self-restart 插件將這一套手工流程變成一次工具調用:通過調用工具重啓 DSH,並在同一條會話裏繼續執行任務。
核心功能¶
該插件提供了一組工具和兩個半側代碼:
* 宿主半側:提供工具 dsh_status、dsh_stale_check、dsh_apply、dsh_restart、dsh_ui_reload 和 dsh_selfcheck。
* 客戶端半側:補上打包版桌面端缺失的「刷新頁面」入口,並提供宿主在頁面裏的代理。
安裝與啓用¶
該插件使用 MIT 許可證。在 Windows 平臺上,使用 DSH 的插件管理器安裝:
plugin_manager install_bundle "%USERPROFILE%\.dsh\dsh-plugins\dsh-self-restart"
安裝後,插件會自動加載宿主半側與客戶端半側。
典型用法¶
安裝完成後,可以通過 agent 調用以下流程驗證:
-
檢查狀態:
調用dsh_status,查看宿主進程、窗口殼進程、端口以及插件配置是否正常。 -
執行重啓檢查:
使用理由 “install check” 調用dsh_restart。 -
驗證重啓結果:
重啓完成後,調用dsh_selfcheck確認插件功能正常。
適用場景與注意¶
- 平臺限制:僅在 Windows 平臺可用。
- 重啓行爲:調用
dsh_restart會關閉並重新啓動整個 DSH 應用。這會丟失 DSH 起過的子進程(如 shell、MCP server)、未保存的頁面狀態,但會保留會話日誌。 - 依賴要求:DSH 只在進程啓動時加載插件宿主代碼。該插件沒有運行時依賴,也沒有構建步驟。
- 構建要求:需要宿主進程與窗口殼進程分離的 DSH 構建(桌面版即爲此類)。
結尾¶
該插件通過工具調用解決了 DSH 插件修改後需要手動重啓且無法恢復會話上下文的痛點,適合需要在插件更新後立即生效的開發調試場景。