Ephemeral-AI-Lab/dsh-plugins--plugins-work-bench-ui48

dsh-workbench-ui

为 DSH 客户端插件提供的右侧可调大小的工作台容器面板插件。

AI 分析

核心用途是提供一个统一的右侧工作台外壳和注册表,供其他插件挂载自定义标签页。是开发 DSH 右侧面板插件的必要基础组件。

包名
dsh-workbench-ui
版本
0.1.0
许可证
MIT
最近更新
2026年9月4日

安装

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:Ephemeral-AI-Lab/dsh-plugins#d7a605ff4fc307d0345499e81956c831fac013a8&path:plugins/work-bench-ui

dsh-workbench-ui

Reusable resizable right-side Workbench surface for DeepSeek Harness Web plugins.

The package owns the panel shell and exposes a client registry. Feature plugins register their own tab and React content without modifying the Workbench UI. The panel occupies the host's block-level details column; opening it reduces the conversation width, and the host drag handle controls the panel width.

import type { ClientContext } from '@deepseek-ai/dsh-client-runtime/client'
import type { WorkbenchService } from 'dsh-workbench-ui/client'
import type {} from 'dsh-workbench-ui/client'
import { TerminalPanel } from './TerminalPanel.js'

export const inject = ['workbench']

export function apply(ctx: ClientContext): void {
  const workbench = ctx.get('workbench') as WorkbenchService
  ctx.effect(() => workbench.register({
    id: 'terminal',
    label: 'Terminal',
    component: TerminalPanel,
  }), 'terminal: Workbench panel')
}

Registered components receive { close } and own the complete display area. Use workbench.open('terminal'), workbench.close(), or workbench.toggle('terminal') from another client component to control the surface. Opening and closing also drives the host details column. Registration is disposed with the owning plugin fiber.

Install it into the Web profile with:

dsh plugin --profile web add ./plugins/work-bench-ui