Workbench UI
Web 端工作台框架:提供 workbench client 服务,供 Sidechat 等插件注册标签页。仅 Web 端;需先于依赖它的插件安装。
来源:官方 official · 状态:beta
安装
sh
dsh plugin --profile <name> add 'github:Ephemeral-AI-Lab/dsh-plugins#main&path:plugins/work-bench-ui'在 Mayfly 中:/plugin install workbench-ui(或 /plugin 浏览)。安装后重启并新建会话生效。
前端支持
| ⚠️ 工具 | 无贡献(纯 dsh Web 面板) |
| ✅ | dsh Web:工具 + 专属面板 |
提供
- 工具: 无
- 命令: 无
审核信息
审核版本: dsh-workbench-ui@0.1.0(2026-09-04) 收录是披露与审查,不是沙箱——安装第三方插件等同于安装任意 npm 包。
链接
README
# 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.
```ts
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:
```sh
dsh plugin --profile web add ./plugins/work-bench-ui
```