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 仓库。

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

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

小夜