dsh-right-drawer:DeepSeek Harness 右側抽屜宿主

前言

DeepSeek Harness(DSH)採用插件化架構。在 Web 端開發智能體或工具時,經常需要在界面右側掛載額外的面板(如 Shell、調試器等)。dsh-right-drawer 提供了一個宿主方案,通過 dockPanels 註冊表管理這些面板,使其以全高抽屜形式呈現,並自動處理邊緣標籤的堆疊與寬度調整。

功能說明

該插件主要解決右側面板的佈局與交互問題:

  1. dockPanels 註冊表
    插件作爲宿主,提供 dockPanels 客戶端服務。內容插件(如 dsh-soln-panel、dsh-agent-shell)通過註冊表接入,無需自行處理底層佈局邏輯。

  2. 標籤自動堆疊
    抽屜邊緣的標籤會根據實際測量高度緊密排列,並垂直居中成組。展開或收起抽屜時,僅改變 X 軸位置,標籤組不會跳動。

  3. 寬度拖拽
    抽屜左側設有手柄,支持拖拽調整寬度。寬度範圍在 280–900px 之間,且不會超過視口寬度的 80%。切換不同抽屜時,寬度狀態會被保持。

  4. 與方案面板協調
    插件會檢測 dsh-soln-panel 的位置。打開的抽屜和剩餘標籤會自動貼到方案面板的左緣,避免內容相互遮擋。

安裝與啓用

通過官方命令安裝插件:

dsh plugin --profile web add @deepseek-ai/dsh-right-drawer

如果插件尚未發佈,可使用本地目錄安裝:

dsh plugin --profile web add file:C:/path/to/dsh-right-drawer

安裝完成後重啓 DeepSeek Harness。右側將出現豎排標籤,點擊即可展開對應的抽屜。

卸載命令如下:

dsh plugin --profile web remove @deepseek-ai/dsh-right-drawer

典型用法

內容插件需要在 client 側(apply 內)註冊到 dockPanels 服務:

// 在內容插件的 client 側代碼中
const dock = ctx.get('dockPanels')
if (dock !== undefined) {
  const dispose = dock.register({
    id: 'shell',
    label: 'Shell',
    order: 1,
    render: () => React.createElement(ShellContent, { connection }),
  })
}

註冊表 API 支持 register、unregister、subscribe 和 snapshot。

架構與依賴

  • 瀏覽器端:提供 dockPanels 服務,通過 slots.inject('shell.overlay') 掛載 DockHost 組件。
  • Node 端:爲空實現,僅確保 bundle 解析順利。
  • 依賴:
    • @deepseek-ai/dsh-tools
    • @deepseek-ai/dsh-client-connection
    • @deepseek-ai/dsh-client-ui-slots
    • react (版本要求 ^18.2.0)

注意事項

該插件以當前 DSH 進程的權限運行。安裝前建議檢查源碼與許可證(MIT)。

總結

dsh-right-drawer 爲 DSH Web 插件提供了標準化的右側抽屜宿主能力,通過註冊表模式解耦了內容插件與佈局邏輯。適合需要構建全高側邊欄或複雜 UI 佈局的開發者。

插件目錄 | GitHub 倉庫

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

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

小夜