DeepSeek Harness 插件:dsh-client-ui-details-host

前言

DeepSeek Harness 的 AppFrame 詳情列是承載插件視圖的基礎設施。在沒有擴展的情況下,該列通常處於閒置狀態。dsh-client-ui-details-host 提供了將此列轉換爲多標籤 Dock 的能力。這是一個平臺爲 Web 的 UI 基礎設施,不需要 Electron 或 Node 運行時即可在標準 DSH Web 主機中運行。

這是什麼

這是一個便攜式 DSH Client 詳情欄基礎設施。它由 cherrchen 維護,旨在 AppFrame 詳情列中承載活動的 surface。該插件通過 ShellDetailsController API 提供了管理標籤頁、Launcher 和 Dock 可見性的能力。

核心功能

該插件提供以下功能:

  • AppFrame 詳情列多標籤 Dock:將詳情列改造爲支持多標籤切換的 Dock。
  • Launcher 頁面支持:提供卡片式入口,支持註冊自定義 Launcher 貢獻。
  • ShellDetails API:提供完整的標籤頁管理接口,包括 tabs、launcher、tabClose 和 dockVisibility。
  • Header Actions 槽位支持:在詳情欄頭部提供操作按鈕槽位。
  • 便攜式 Web UI 基礎設施:純 Web 實現,不依賴 Electron 或 Node 環境。
  • 無需額外依賴:客戶端邏輯通過 exports["./client"] 條目解析,依賴項作爲 Peer Dependencies 存在。

安裝與啓用

安裝方式取決於運行環境。

DeepSeek Harness Desktop

Details Host 已內置在 DeepSeek Harness Desktop 中。無需單獨安裝步驟,直接可用。

DSH Web

在 Web 環境下,可以通過以下命令直接從 GitHub 安裝:

dsh plugin --profile web add github:cherrchen/dsh-client-ui-details-host

或者,若需手動構建 lib/ 目錄,可先執行構建腳本,再使用本地路徑安裝。

典型用法

插件通過全局 ctx.shellDetails 提供操作接口。以下爲常用操作示例。

註冊 Surface

其他插件通過注入 shell.details.surface 槽位來註冊可渲染的 Surface。

ctx.slots.inject('shell.details.surface', () =>
  ctx.slots.register({
    name: 'shell.details.surface',
    id: 'example.alpha',
    label: 'Example Alpha',
  }, ExampleSurface))

ShellDetails API

通過 ctx.shellDetails 實例調用以下方法:

// 打開指定 surface,創建或複用標籤頁
ctx.shellDetails.open({ surfaceId: 'example.alpha', payload: {}, navigation: {} })

// 關閉當前標籤頁
ctx.shellDetails.close()

// 切換 Dock 的可見性
ctx.shellDetails.toggleDock()

// 顯示 Launcher 頁面
ctx.shellDetails.showLauncher()

適用場景與注意

  • 適用場景:需要在 DeepSeek Harness 詳情列中擴展自定義視圖的開發者;需要實現多標籤管理體驗的 Web UI 基礎設施開發者。
  • 維護狀態:該項目已不再維護。DeepSeek Harness 現已提供官方側邊欄並移除了 Details 頁。Details Host 將在近期歸檔。
  • 依賴要求:安裝前需確保已滿足所有 Peer Dependencies(如 @deepseek-ai/dsh-api-session-controller、React 等)。
  • 版本兼容:main 分支針對 DeepSeek Harness v0.1.2。若使用 v0.1.1-rc.2,需指定特定 commit。

結尾

該插件是 DeepSeek Harness 生態中用於詳情列擴展的舊有基礎設施。儘管其功能完整,但鑑於官方側邊欄的推出及項目歸檔計劃,新項目應優先考慮官方方案。

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

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

小夜