dsh-restart:DeepSeek Harness 桌面端一鍵重啓

前言

開發或調試 DSH 插件時,改完 bundle 或 client 代碼後往往需要「完全退出應用再打開」才能加載新版本。macOS 上常見做法是 ⌘Q 退出後再從 Dock 或啓動器點開,兩步且容易漏掉「完全退出」。下面介紹社區插件 dsh-restart:在側欄頂部增加常駐「重啓」按鈕,確認後由獨立腳本完成退出、等待進程結束並自動重新打開 DSH。

這是什麼

dsh-restart 由維護者 Arc-huangjingtong 發佈,分類爲客戶端插件。倉庫簡介爲:One-click restart plugin for DeepSeek Harness desktop(package.json 中描述爲桌面端一鍵重啓按鈕)。它不改變 DSH 核心邏輯,只在界面側欄頂欄、摺疊按鈕左側放置 72×28 的膠囊按鈕,點擊經確認後觸發完整重啓流程。

社區目錄頁:https://www.skillhub.cn/plugins/Arc-huangjingtong/dsh-restart
源碼與說明:https://github.com/Arc-huangjingtong/dsh-restart

核心功能

以下能力均來自倉庫 README 與實現說明。

一鍵重啓
點擊按鈕彈出確認;確認後 Host 以 detached: true 啓動 scripts/restart-dsh.sh,由 helper 執行「正常退出 → 等待進程消失 → 重新打開」。界面會先消失,約 4–6 秒後應用自動回來。

失敗兜底
helper 先嚐試正常退出,最多等 10 秒;不行再發 TERM,再不行 KILL,確認完全退出後才 open 重開。重開前會清理 Electron/Node 相關環境變量(避免新實例以 Node 模式啓動導致無窗口);失敗每 2 秒重試,最多 3 次。

日誌
每次重啓寫入 ~/.dsh/restart.log,便於排查「關了沒起來」的情況。

平臺與安全
僅 macOS:非 macOS 上按鈕自動隱藏,接口返回 501。POST /api/dsh-restart/restart 只接受迴環來源,降低跨站誤觸發風險。

Host / Client 分工
- GET /api/dsh-restart/status 返回 { canRestart, platform }
- Client 通過 shell.overlay 註冊按鈕,測量側欄頂欄摺疊按鈕位置並隨側欄寬度、窗口大小、全屏狀態對齊;全屏下摺疊按鈕移到左側時,重啓按鈕改放到其右邊。

安裝與啓用

本倉庫是標準 DSH bundle 插件(dsh.bundle + dsh.client)。安裝後必須完全退出並重新打開 DSH 一次,插件纔會加載,按鈕纔會出現。

方式一:插件頁安裝(推薦)

  1. 打開 DSH → 設置 → 插件 → 添加插件
  2. 選擇本倉庫目錄(包含 package.json 的那一層)
  3. 完全退出 DSH 再打開

方式二:命令行

將路徑換成本機倉庫目錄的絕對路徑(README 示例):

dsh plugin --profile desktop add /absolute/path/to/this/repo

裝完同樣需要完全退出 DSH 再打開。

卸載示例(README 原文):

dsh plugin --profile desktop remove @local/dsh-restart

卸載後也需完全退出並重新打開 DSH。

典型用法

DSH 重啓並加載插件後,側欄左上角會出現環形箭頭按鈕:

  • 懸停提示「重啓 DeepSeek Harness」
  • 點擊彈出確認,說明正在運行的會話與任務會中斷
  • 點「立即重啓」後應用退出並自動重新打開

調試 helper 時可幹跑,只打印識別到的主進程 PID、不退出應用:

DRY_RUN=1 bash scripts/restart-dsh.sh

package.json 還提供:

npm run dry-run

(等價於上述 DRY_RUN=1 調用。)

適用場景與注意

適合誰
經常在 macOS 桌面端改插件、需要頻繁「全量重啓 DSH」的開發者;希望省掉 ⌘Q 再手動點開的一步。

務必知曉的限制
- 重啓會中斷當前會話里正在運行的任務。
- 若 helper 退出後 open -a 失敗,DSH 不會自動回來,需查看 ~/.dsh/restart.log 並手動打開。
- 插件只對安裝它的 profile 生效(文檔示例爲 desktop)。
- 僅在 macOS 桌面端測試;Web 端因 canRestart: false 隱藏按鈕。
- 按鈕佈局依賴 DSH 0.2.1-rc.5 側欄頂欄結構,DSH 大版本改版後選擇器可能需要維護者微調。

安裝前建議
插件在 DSH 進程權限下運行,安裝前應閱讀倉庫源碼與許可證(MIT)。Skillhub 目錄爲社區站點,與 DeepSeek / 幻方無官方從屬關係,並非官方應用商店。

結尾

dsh-restart 把桌面端「完全退出再打開」收成側欄一次確認操作,並用獨立 helper、進程等待、環境清理與日誌降低重啓失敗概率。需要安裝或貢獻時,可訪問目錄頁與 GitHub 倉庫覈對最新 README 與版本(當前 package.json 爲 0.1.0)。

  • 目錄頁:https://www.skillhub.cn/plugins/Arc-huangjingtong/dsh-restart
  • GitHub:https://github.com/Arc-huangjingtong/dsh-restart
羽毛球分组比赛记分
小程序二维码

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

小夜