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(),并共享其 DocumentRefDocumentSnapshot 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.jsonfiles 中出现 LICENSE
  5. 从 Git 安装时需要关注 prepare builds 和 pnpm 批准流程。

结尾

dsh-ui-workspace 的价值在于把浏览器插件里常见的工作区界面拆成可组合原语:面板、树、编辑器、渲染器、操作和 explorer 行为可以先落地,再由产品侧补齐数据、命令、导航和样式。

GitHub:https://github.com/CH4ACKO3/dsh-ui-workspace。社区目录(独立站点)可按包名查找;本文资料未提供具体目录页 URL。

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

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

小夜