mandarin715/dsh-autostart

前言

在 Windows 環境下使用 DeepSeek Harness (DSH) 時,重啓服務是一個常見操作。常規做法中,重啓後如果看護進程異常或端口探測失敗,DSH 可能無法自動恢復,導致對話中斷。

mandarin715/dsh-autostart 是一個 Windows 專用的 DSH 插件。它通過常駐看護進程接管重啓邏輯,解決了“重啓失敗導致 DSH 停擺”的問題。同時,它提供無控制台窗口的運行環境,並支持一鍵開機自啓。

核心功能

  1. 一鍵開機自啓:通過寫入註冊表實現開機自動運行。
  2. 一鍵重啓且保證恢復:重啓失敗時,插件會拒絕關閉 DSH,確保服務始終在線。
  3. 常駐看護進程無控制台窗口:DSH 依附於隱藏控制台啓動,避免彈窗。
  4. 服務狀態監控與端口探測:實時探測服務狀態。
  5. 支持鉤子腳本:服務啓動後可執行自定義腳本。
  6. 註冊表自啓管理:管理啓動項的讀寫。

安裝與啓用

通過命令行安裝插件:

dsh plugin --profile web add "github:Mandarin715/dsh-autostart#v0.2.1"

安裝後重啓 DSH,進入「設置 → 通用設置」,在頁面下方找到插件卡片。

  1. 點擊「啓用自啓」,插件會將配置寫入註冊表 HKCU\...\Run。
  2. 在卡片中點擊「重啓服務」進行測試。

配置

插件配置位於 profile 的 cordis.patch.yml 文件中:

- id: dsh-autostart
  name: dsh-autostart
  config:
    hookScript: ''                 # 可選,服務起來後執行的腳本絕對路徑
    dshPort: 3080
    allowedHosts: []               # 必須顯式填寫,如 ['derp.example.com']

重要說明:hookScript 等配置項在啓用自啓時會被快照寫入配置文件。因此,修改配置(如 hookScript)後,必須重新在設置頁點擊「啓用自啓」才能生效。

關於 allowedHosts:默認爲空數組,即不信任任何非迴環的 Host。若通過反向代理訪問,必須將域名顯式填入白名單,否則寫操作會被拒絕。

注意事項

  • 系統限制:僅支持 Windows 系統。
  • 運行環境:需要 Node.js >= 20 和 DSH >= 0.1.0-rc.6。
  • Agent 影響:重啓時會中斷正在執行的 Agent 回合,結果可能未落盤。
  • 配置生效:配置修改需重新啓用自啓。
  • 重啓保底:重啓失敗時不會關閉 DSH,但可能產生競態條件(與其他自啓項同時啓動)。
  • 安全軟件:寫入註冊表可能被安全軟件攔截,導致「啓用自啓」失敗。

短結尾

該插件通過常駐看護機制,解決了 Windows 環境下 DSH 重啓不可靠的痛點。安裝後需在設置頁重新啓用以應用配置。更多細節可參考項目目錄頁或 GitHub 倉庫。

羽毛球分组比赛记分
小程序二维码

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

小夜