dsh-right-dock:DeepSeek Harness Web 右側欄平臺

前言

DeepSeek Harness(DSH)的理念是“一切皆插件”。在 Web UI 中擴展右側面板時,常見的痛點是面板的入口依賴於特定 Tab 插件的按鈕,導致通用性不足。dsh-right-dock 解決了這個問題,它提供了一個容器級的常駐入口,讓其他插件能夠通過坐席機制掛載標籤頁,且面板採用推擠模式,不會遮擋主對話區。

插件介紹

dsh-right-dock 是 DeepSeek Harness Web UI 的右側欄平臺。該插件由 Momojie-S 維護,採用 MIT 許可證。

它通過右緣常駐的圖標 Rail(類似 VS Code 的 activity-bar)提供容器級入口。當 Dock 打開時,面板會向左側推擠對話區域,壓縮主區寬度而非遮擋;在窄屏模式下(<1024px),面板會自動切換爲浮層抽屜。其他插件可以通過 rightdock.tab 坐席掛載自己的標籤頁。

環境要求

  • DeepSeek Harness: >= 0.1.0-rc.6(已驗證至 0.1.1-rc.2)
  • Node.js: >= 20(僅構建期需要,構建過程零 npm 依賴)

核心功能

  • 容器級 Rail:右緣常駐圖標 Rail,有 Tab 時顯示。點圖標可打開/切換 Dock,點當前激活圖標可收起。Rail 在 Dock 關閉後依然存在。
  • 推擠式 Dock:面板與 Rail 並排佈局。寬屏下 Rail 固定佔用 40px,Dock 打開時再向左推擠主對話區。
  • 多標籤掛載:允許其他插件通過 rightdock.tab 坐席註冊標籤頁。
  • 響應式抽屜:窗口寬度小於 1024px 時,Dock 自動變爲浮層抽屜,點擊背景可關閉。

安裝與啓用

在項目目錄下執行安裝命令,然後啓動 Web 服務。

dsh plugin --profile web add ./plugins/dsh-right-dock
dsh web

使用方法

插件提供了 rightdock 服務供其他插件調用。

1. 掛載標籤頁

插件作者通過 slots.inject 註冊標籤頁,並利用掛載回調中的 ctx.get('rightdock') 設置圖標和渲染邏輯。

// 你的插件 client 部分
const inject = ['slots']

function apply(ctx) {
  const slots = ctx.get('slots')

  slots.inject('rightdock.tab', () => {
    // 掛載回調觸發時 dock 服務必然已就緒
    const dock = ctx.get('rightdock')

    // 設置標籤頁圖標
    dock?.setTabIcon('my-tab', MyIcon16)

    // 註冊標籤頁內容
    return slots.register(
      {
        name: 'rightdock.tab',
        id: 'my-tab',
        order: 10,
        label: '我的標籤'
      },
      (props) => {
        // props.activeTabId: 當前激活的 tab id
        // props.dockWidth: 寬屏模式下的寬度
        return React.createElement('div', {
          style: {
            display: props.activeTabId === 'my-tab' ? 'flex' : 'none',
            height: '100%'
          }
        }, '...')
      }
    )
  })
}

2. 控制面板

任意插件的 client 部分可以通過獲取服務來控制 Dock 的打開、切換或關閉。

// 獲取 dock 服務(未安裝時爲 undefined)
const dock = ctx.get('rightdock')

// 打開指定標籤頁
dock?.openTab('my-tab')

注意事項

  • 已廢棄:該插件已於 2026-09-11 標記爲廢棄。DSH 0.1.5 重構了側欄體系,提供了官方的 rightbar 槽位與內置面板。建議新開發的 0.1.5+ 面板類插件改用官方側欄槽位體系。
  • 權限與安全:作爲 DSH 進程運行,安裝前請檢查源碼與許可證。

結尾

dsh-right-dock 曾是構建 DSH Web 右側面板的一種實現方案,其推擠式佈局和容器級入口的設計具有一定的參考價值。隨着 DSH 生態的發展,目前推薦使用官方 0.1.5+ 版本的 rightbar 體系。更多技術細節可參考 GitHub 倉庫。

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

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

小夜