dsh-self-restart:DeepSeek Harness 的桌面自重啓與會話交接

前言

在 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 重啓後,插件執行以下步驟:

  1. 讀取 $DSH_HOME/self-restart/handoff.json(最大年齡 30 分鐘)。
  2. 如果會話不活躍,調用 agents.resume。
  3. 發送帶有 mission 的插件通知。
  4. 清空文件。

適用場景與注意

  • 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
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜