dsh-ui-workspace:爲 DeepSeek Harness 瀏覽器插件提供可組合工作區原語

前言

在 DSH 的瀏覽器插件場景裏,工作區類界面通常會反覆出現幾類基礎交互:面板堆疊、文件樹、標籤式編輯器、文檔渲染和操作入口。dsh-ui-workspace 把這些能力做成一組可組合的 UI 原語,先解決“界面骨架怎麼搭”的問題,再把產品特定的導航、數據提供者、命令和樣式留給使用方。

它建立在 dsh-ui-container 之上。下面介紹它的定位、能力、安裝方式和典型引用方式。

這是什麼

@ch4acko3/dsh-ui-workspace 是由 CH4ACKO3 維護的 DeepSeek Harness UI 插件,資料中的包版本爲 0.1.0。它的描述是:

Composable workspace primitives for DeepSeek Harness UI plugins

它面向瀏覽器插件,提供可組合的工作區原語,並把產品特定部分留給消費者實現。依賴關係也是有意保留的:Workspace 的 document surfaces 在運行時調用 container 的 useUiSurface(),並共享其 DocumentRef 和 DocumentSnapshot contracts。

核心功能

下面列出的能力來自已覈實的 README 與包信息:

  • Draggable pane stacks
  • Recursive tree views
  • Tabbed document editors
  • Document renderers
  • Actions
  • VS Code-style explorer behavior
  • Client 導出可被瀏覽器插件導入,並組合爲產品特定頁面

與 dsh-ui-container 的分工如下:

  • Container 仍是獨立安裝的插件,擁有提供共享 uiContainer service 的單個 bundle row。
  • Workspace 消費該 service。
  • Workspace 啓用時,Container 需要保持安裝。

安裝與啓用

先在同一 DSH profile 中安裝 Container,再安裝 Workspace:

dsh plugin --profile web add github:CH4ACKO3/dsh-ui-container
dsh plugin --profile web add github:CH4ACKO3/dsh-ui-workspace

這些命令是 profile-scoped,可以在任意目錄執行。

如果從 Git 依賴安裝,兩個包都會運行 prepare builds。使用 pnpm 10 或更高版本時,需要批准第一次安裝報告出的精確 package keys,批准位置是該 profile 的 pnpm-workspace.yaml,之後重複安裝命令。Registry releases 和 packed artifacts 不需要這個批准。

環境要求如下:

engines.node: ^22.19.0 || >=24.0.0
packageManager: pnpm@11.19.0

peerDependencies 聲明如下:

@ch4acko3/dsh-ui-container ^0.1.0
@deepseek-ai/dsh-client-runtime 0.1.0-rc.6
@deepseek-ai/dsh-client-ui-primitives 0.1.0-rc.6
react ^18.2.0

package.json 中的 dsh.client 配置如下:

{
  "dsh": {
    "client": {
      "immediately": true,
      "platform": "web",
      "inject": [
        "@deepseek-ai/dsh-client-runtime",
        "@deepseek-ai/dsh-client-ui-primitives",
        "@ch4acko3/dsh-ui-container"
      ]
    }
  }
}

典型用法

經過上面的安裝步驟後,瀏覽器插件代碼可以從 client 導出中引用組件。README 給出的示例是:

import {
  DocumentSurface,
  ExplorerPaneStack,
  TabbedEditor,
  TreeView,
} from '@ch4acko3/dsh-ui-workspace/client'

這個包保持可被瀏覽器插件導入,用於把這些原語組合爲產品特定頁面。

適用場景與注意

適合在 DSH web profile 中構建瀏覽器 UI 的開發者,尤其是希望複用 pane stack、tree view、tabbed editor、document renderer、actions 和 VS Code-style explorer behavior 的場景。

使用前注意:

  1. dsh-ui-workspace 依賴 dsh-ui-container 提供的共享 service;Workspace 啓用時,Container 需要保持安裝。
  2. 產品特定導航、數據提供者、命令和樣式沒有由 Workspace 代爲實現,需要消費者接入。
  3. 該插件以當前 dsh 進程權限運行;安裝前應先檢查源碼與許可證。
  4. 資料未明確許可證類型,僅 package.json 的 files 中出現 LICENSE。
  5. 從 Git 安裝時需要關注 prepare builds 和 pnpm 批准流程。

結尾

dsh-ui-workspace 的價值在於把瀏覽器插件裏常見的工作區界面拆成可組合原語:面板、樹、編輯器、渲染器、操作和 explorer 行爲可以先落地,再由產品側補齊數據、命令、導航和樣式。

GitHub:https://github.com/CH4ACKO3/dsh-ui-workspace。社區目錄(獨立站點)可按包名查找;本文資料未提供具體目錄頁 URL。

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

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

小夜