dsh-restart:DSH Web 進程重啓與插件管理工具

前言

DeepSeek Harness (DSH) 採用插件化架構,管理已安裝插件、切換本地開發分支以及重啓 Web UI 通常是分散的操作。對於開發者而言,頻繁的手動重啓和配置修改效率較低。dsh-restart 插件在 Settings 中新增了“Restart”模塊,通過圖形化界面集中處理進程重啓、插件開關、分支切換及重裝等任務,簡化日常開發流程。

核心功能

該插件爲 DSH Web UI 提供了以下管理能力:

  • 一鍵重啓進程:通過獨立的輔助進程啓動新的 Web 實例,等待舊進程釋放端口(最長 20 秒)後再接管,避免端口占用導致的啓動失敗。
  • 插件開關:在設置中列出所有第三方插件,通過開關切換啓用/禁用狀態,修改後需重啓生效。
  • 社區插件跳轉:提供快捷入口直接跳轉到 Community plugins 頁面,或一鍵安裝 dsh-community-plugins。
  • Git 分支切換:針對本地 Git 檢出項,提供跨倉庫(Local/origin/upstream)的分支切換功能。
  • 本地重裝:支持從 Local(本地代碼)、Remote(遠程倉庫)或 Plugin(npm 包)三種來源對本地檢出項進行“乾淨重裝”。
  • 鏈接健康檢查:檢測 node_modules 與插件清單的匹配情況,修復因替換導致的斷鏈或過期符號鏈接。
  • 卸載管理:從 bundles 和 dependencies 中移除插件(內置包不可卸載)。

安裝與啓用

安裝前請確保環境已滿足要求(Node.js >= 20 且已安裝 pnpm)。

dsh plugin --profile web add github:dujar/dsh-restart

安裝完成後,在瀏覽器中刷新頁面,Settings 側邊欄底部會出現 “Restart” 區域。

典型用法

  1. 重啓進程:進入 Settings → Restart,點擊 “Restart now”。頁面會在新實例啓動後自動刷新。
  2. 開關插件:在插件列表中點擊開關切換狀態。若狀態有變更,行內會顯示 “Restart to apply” 標籤,頂部通知欄也會提供重啓按鈕。
  3. 安裝更多插件:點擊 “Browse more plugins” 直接跳轉至 Community plugins 頁面。
  4. 切換本地分支:對於本地檢出插件,點擊 ⎇ 圖標進入 Git 面板,選擇倉庫和分支進行切換。
  5. 重裝本地檢出:在 Git 面板下方的 “Reinstall” 區域,選擇來源(Local/Remote/Plugin)並確認,即可重置代碼或切換到最新包。
  6. 修復鏈接:如果某行顯示 “Link broken” 警告,點擊 “Repair link” 可通過 dsh plugin install 重新生成正確的符號鏈接。

適用場景與注意

  • 環境要求:運行此插件需要 Node.js >= 20 和 pnpm。
  • 重啓生效:插件的開關、卸載等狀態變更必須通過重啓 dsh web 才能生效。
  • 內置保護:DeepSeek 內置包(如 @deepseek-ai/* 和 cordis:*)無法被卸載。
  • 安全機制:所有接口均執行同源或 localhost 檢查,防止跨域訪問。

總結

dsh-restart 解決了 DSH 日常開發中繁瑣的進程管理和插件維護問題。通過將 git 操作、插件開關和鏈接修復集成到 Web 界面,它減少了命令行操作,提升了管理效率。該插件遵循 MIT 協議,由社區維護,適合所有需要頻繁管理 DSH 插件生態的開發者使用。

  • GitHub 倉庫: https://github.com/dujar/dsh-restart
  • 官方目錄: https://www.skillhub.cn/plugins/dujar/dsh-restart
羽毛球分组比赛记分
小程序二维码

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

小夜