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 生态中用于详情列扩展的旧有基础设施。尽管其功能完整,但鉴于官方侧边栏的推出及项目归档计划,新项目应优先考虑官方方案。

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

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

小夜