前言¶
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” 區域。
典型用法¶
- 重啓進程:進入 Settings → Restart,點擊 “Restart now”。頁面會在新實例啓動後自動刷新。
- 開關插件:在插件列表中點擊開關切換狀態。若狀態有變更,行內會顯示 “Restart to apply” 標籤,頂部通知欄也會提供重啓按鈕。
- 安裝更多插件:點擊 “Browse more plugins” 直接跳轉至 Community plugins 頁面。
- 切換本地分支:對於本地檢出插件,點擊 ⎇ 圖標進入 Git 面板,選擇倉庫和分支進行切換。
- 重裝本地檢出:在 Git 面板下方的 “Reinstall” 區域,選擇來源(Local/Remote/Plugin)並確認,即可重置代碼或切換到最新包。
- 修復鏈接:如果某行顯示 “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