dsh-restart:爲 DSH 增加可控重啓與恢復入口

前言

DSH 的理念是「一切皆插件」。修改 profile 的 cordis 組合、settings 等配置後,通常需要重啓整個 DSH 進程才能生效。如果只是手動停進程再啓動,agent 側缺少統一入口,頁面也需要手動刷新。

dsh-restart 把重啓做成插件:提供模型工具、斜槓命令、設置卡片和「立即重啓」按鈕,並支持重啓後自動繼續的提示詞,以及可選的看門狗自動拉起。

這是什麼

dsh-restart 是一個 DSH 重啓插件,用於重啓整個 DeepSeek Harness 進程,以重新加載插件與配置。它是 host + client 雙半:host 側提供重啓接口,client 側在設置頁提供配置卡片和按鈕。

當前已覈實信息包括:

  • 倉庫路徑:https://github.com/anweat/dsh-restart
  • package.json 版本:0.1.2
  • 許可證:MIT
  • Node 版本要求:^22.19.0 || >=24.0.0
  • client 平臺:web
  • bundle patch:./cordis.patch.yml

核心功能

模型工具 restart_harness

restart_harness 是模型工具,讓 agent 直接安排一次進程重啓。可選參數 delayMs 可用於延遲重啓。

/restart 斜槓命令

/restart 是 UI 裏的斜槓命令,用於手動觸發一次 DSH 重啓。

配置卡片

配置卡片位於:

設置 → 插件 → 插件配置 → 「DSH 重啓」

在卡片中編輯配置後,改動即時寫入 settings.yaml。可編輯項包括:

  • legacyRestart:舊 PowerShell/WMI/taskkill 重啓方式,默認關閉,默認使用 Node 原生方式。
  • continuePrompt:重啓後自動繼續時注入給 agent 的提示詞。
  • watchdogEnabled:崩潰/關閉時自動拉起 DSH,默認關閉,需謹慎。
  • watchdogCooldownMs / watchdogPollMs:看門狗冷卻與輪詢間隔。

「立即重啓」按鈕

「立即重啓」按鈕會先讀取當前進程身份,安排重啓後等待新進程恢復,並自動刷新頁面。

相關接口行爲如下:

  • 只讀 GET 返回 { pid, startedAt }
  • 重啓 POST 僅接受來自環回地址(127.0.0.1 / localhost)的同源請求。
  • 經反向代理或遠程訪問時會被拒絕,返回 403

安裝與啓用

已覈實資料沒有提供可直接複製的一行安裝命令,提供的是 profile 配置方式:把包加入 profile 依賴,並掛進 bundle。

先確認當前環境滿足 Node 版本要求:

"engines": {
  "node": "^22.19.0 || >=24.0.0"
}

profiles/<profile>/package.json 中加入依賴和 bundle:

// profiles/<profile>/package.json
{
  "dependencies": {
    "dsh-restart": "0.1.2"
  },
  "dsh": {
    "profile": {
      "bundles": [
        "dsh-restart"
      ]
    }
  }
}

如果 profile 中已有其他 bundle,在 bundles 數組中追加 "dsh-restart" 即可。

接着重啓 DSH,可通過 /restartrestart_harness 觸發。刷新頁面後可以看到配置卡片;之後通過卡片重啓時會自動等待並恢復頁面。

典型用法

1、首次啓用

在 profile 中加入 dsh-restart 依賴並掛進 bundle,然後重啓 DSH。刷新頁面後進入「設置 → 插件 → 插件配置 → DSH 重啓」,即可看到配置卡片。

2、讓 agent 安排重啓

agent 可調用 restart_harness。需要延遲重啓時,可傳入 delayMs

3、手動重啓

在 UI 中執行:

/restart

4、配置重啓後繼續

在卡片中設置 continuePrompt。重啓後自動繼續時,該提示詞會注入給 agent。

5、適配舊重啓方式

在卡片中開啓 legacyRestart,使用舊 PowerShell/WMI/taskkill 重啓方式。該項默認關閉,默認使用 Node 原生方式。

6、開啓可選看門狗

在卡片中謹慎開啓 watchdogEnabled,並按需設置:

  • watchdogCooldownMs
  • watchdogPollMs

看門狗默認關閉。

本地構建

如果需要本地構建,已覈實命令如下:

pnpm install
node scripts/link-dsh-workspace.mjs --source <path-to-deepseek-harness>
pnpm run build

構建時,host 半由 tsc 輸出到 lib/index.js@deepseek-ai/* 保持外部依賴;client 半由 tsdown 打成單文件 lib/client.js

適用場景與注意

適合以下情況:

  • 需要頻繁修改 profile 的 cordis 組合、settings 後重啓 DSH。
  • 希望 agent 能在任務中安排一次進程重啓。
  • 希望重啓後根據 continuePrompt 自動繼續。
  • 需要適配舊 PowerShell/WMI/taskkill 重啓方式。
  • 需要可選的看門狗自動拉起 DSH。

使用前注意:

  • dsh-restart 會以當前 DSH 進程權限運行,並會重啓進程。安裝前應檢查源碼與 MIT 許可證。
  • legacyRestart 默認關閉。
  • watchdogEnabled 默認關閉,需謹慎開啓。
  • 重啓 POST 僅接受來自環回地址的同源請求,經反向代理或遠程訪問會返回 403
  • package.jsonpeerDependencies 包含 @deepseek-ai/*;其中 @deepseek-ai/dsh-llm 的完整版本在已覈實資料中被截斷,部署前應按當前 DSH 環境覈對。

鏈接

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

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

小夜