前言¶
DeepSeek Harness (DSH) 採用插件化架構,但在開發擴展功能時,開發者往往需要在 Core 代碼中修改佈局以適配側邊欄或底部面板。relay-dsh-plugin-workbench 插件提供了一個通用的 Workbench 容器,允許其他插件在不觸碰 DSH 核心代碼的情況下,註冊和管理右側與底部的面板視圖。
插件定位¶
該插件由 yangbobo2021 維護,是一個擴展性的 Workbench Shell 插件。它爲 DSH Web UI 提供了通用的面板區域和註冊機制,確保了不同功能插件間佈局的一致性。
核心能力¶
- 通用面板區域:提供右側面板和底部面板的通用容器。
- 公開註冊表:通過
ctx.workbench提供註冊接口,供視圖插件使用。 - 公開契約:在
relay-dsh-plugin-workbench/contracts導出公共契約。 - 冪等性:支持多次激活,多個功能插件可以安全地引入同一個 Workbench 佈局。
安裝與啓用¶
安裝前請確保已安裝 DeepSeek Harness 0.1.2-rc.1 版本,並停止正在運行的 DSH Web 進程。
使用以下命令安裝 Workbench 插件:
npx @deepseek-ai/dsh@0.1.2-rc.1 plugin --profile web add relay-dsh-plugin-workbench@0.2.2
安裝完成後,重新啓動 DSH Web:
npx @deepseek-ai/dsh@0.1.2-rc.1 web
典型用法¶
該插件本身不直接展示可見功能,它作爲一個“殼”供其他插件使用。以下是幾種典型使用場景:
- 獨立測試 Shell:在開發過程中,單獨安裝此插件以驗證側邊和底部面板的容器結構是否正常。
- 開發視圖插件:開發新的 DSH 插件時,利用
ctx.workbench和 DSH 關鍵槽位註冊視圖。 - 開發環境依賴:在使用 GitHub 開發構建版的
relay-dsh-plugin-files或relay-dsh-plugin-terminal時,需要手動安裝 Workbench,因爲 DSH 的 pnpm Profile 會阻止 GitHub 包作爲依賴傳遞。 - 功能插件集成:安裝 Files 或 Terminal 插件後,Workbench 會自動承載這些插件註冊的側邊或底部視圖。
注意事項¶
- 權限與源碼:DSH 處於開發者預覽階段,可能引入破壞兼容性的變更。
- 插件邊界:功能插件應使用
ctx.workbench、關鍵 DSH 槽位以及公開契約入口,不應直接導入 Workbench 的源文件。 - 交互邏輯:安裝 Workbench 後,如果未安裝其他功能插件(如 Files 或 Terminal),界面佈局不會發生變化。
- 修改前停止:在修改 Profile 插件列表之前,必須停止正在運行的 DSH Web 進程。
結語¶
該插件解決了 DSH 生態中面板佈局共享的痛點,通過提供標準化的註冊機制,降低了開發難度。更多細節與源碼可參考下方鏈接。
- GitHub 倉庫:https://github.com/yangbobo2021/relay-dsh-plugin-workbench
- 插件目錄:https://www.skillhub.cn/plugins/yangbobo2021/relay-dsh-plugin-workbench