前言¶
在 DeepSeek Harness 開發中,有時需要重啓 Desktop 進程以刷新環境或重新加載插件。重啓後,持久化會話通常會斷開。dsh-self-restart 插件解決了這個問題:它允許一個會話請求 Desktop 重啓,並在重啓後自動恢復相同的會話並繼續執行任務。
這是什麼¶
dsh-self-restart 是一個社區插件,由 NecromanAlbert 維護。它僅運行在 Host 進程中。它讀取交接文件,恢復會話,併發送後續任務。
核心功能¶
- 請求 Desktop 重啓。
- 恢復持久化會話。
- 發送後續任務。
- 讀取交接文件。
安裝與啓用¶
使用官方命令安裝:
dsh plugin --profile desktop add github:NecromanAlbert/dsh-self-restart
安裝後重啓 Desktop。
典型用法¶
插件暴露了一個 Agent 工具,配置包含三個參數:
mission:必填。自包含的下一輪指令。reason:可選。存儲在交接文件中。sessionId:可選。默認爲currentInitiator。
示例配置:
{
"mission": "Reload plugin copies, then verify the notes pad still opens.",
"reason": "reload-client"
}
運行機制¶
Desktop 重啓後,插件執行以下步驟:
- 讀取
$DSH_HOME/self-restart/handoff.json(最大年齡 30 分鐘)。 - 如果會話不活躍,調用
agents.resume。 - 發送帶有
mission的插件通知。 - 清空文件。
適用場景與注意¶
- Host-only:插件僅在 Host 進程中運行,無客戶端界面。
- 交接文件:一次只能存在一個交接文件。後續調用會覆蓋之前的文件。
- 手動重啓:如果 Host 不支持
desktopActions.requestRestart,插件會寫入交接文件並提示用戶手動重啓 Desktop。 - 邊界:這不是一個
dsh web進程殺手、側邊欄重啓按鈕或 systemd 集成。
短結尾¶
該工具通過處理交接文件和會話恢復,簡化了重啓後的工作流。適合需要重置環境但保持會話連續性的場景。
- GitHub 倉庫:https://github.com/NecromanAlbert/dsh-self-restart
- 生態目錄:https://www.skillhub.cn/plugins/NecromanAlbert/dsh-self-restart