PastSheep
dsh-right-drawer
Right-side drawer host for DeepSeek Harness Web: dockPanels registry, edge-tab stacking, resizable width. 右侧抽屉宿主:dockPanels 注册表、边缘标签堆叠、宽度拖拽。
- Stars
- 0
- Language
- JavaScript
- Created
- Aug 17, 2026
- Updated
- Aug 17, 2026
Introduction
@deepseek-ai/dsh-right-drawer
右侧抽屉宿主(DeepSeek Harness Web / dsh 宿主)。任何注册进 dockPanels 客户端注册表的条目都会成为一个全高抽屉:自带边缘竖排标签(按实际测量高度紧密堆叠、居中成组),宽度可拖拽调整。内容插件(dsh-soln-panel、dsh-agent-shell)通过 dockPanels 注册接入。
Right-side drawer host for DeepSeek Harness Web: every entry registered into the dockPanels client registry becomes a full-height drawer with its own edge tab (auto-stacked by measured height and group-centered), resizable width. Content plugins register via the dockPanels client registry.
功能 Features
- dockPanels 注册表 — 客户端服务,内容插件用
ctx.get('dockPanels').register({ id, label, order, render })接入,支持退订 - 标签自动堆叠 — 测量每个标签的真实高度,紧密排列为 50% 垂直居中成组;开合抽屉只改变 X 位置,不跳动
- 宽度拖拽 — 左缘手柄 280–900px(且不超过视口 80%),切换抽屉共享同一宽度
- 与方案面板协调 — 检测
dsh-soln-panel的.soln-panel位置,打开的抽屉/剩余标签自动贴到其左缘,互不遮挡 - 免构建 — 手写 JS,
file:或 npm 安装均可直接使用
安装 Install
dsh plugin --profile web add @deepseek-ai/dsh-right-drawer
未发布时可用本地目录:
dsh plugin --profile web add file:C:/path/to/dsh-right-drawer
然后重启 DeepSeek Harness。安装后右侧出现竖排标签(如「Shell」),点击展开对应抽屉。
卸载:
dsh plugin --profile web remove @deepseek-ai/dsh-right-drawer
内容插件接入 Registering a content plugin
// 在内容插件的 client 半(apply 内):
const dock = ctx.get('dockPanels')
if (dock !== undefined) {
const dispose = dock.register({
id: 'shell',
label: 'Shell',
order: 1,
render: () => React.createElement(ShellContent, { connection }),
})
}
注册表 API:register(entry) → disposer、unregister(id)、subscribe(fn) → disposer、snapshot()。
架构 Architecture
- 浏览器半(
lib/client.js):提供dockPanels服务,通过slots.inject('shell.overlay')挂载DockHost - Node 半(
lib/index.js):空实现,仅为让 bundle 行干净解析 - 内容插件通过
dockPanels/available/dockPanels/unavailable事件或轮询自愈注册(宿主重载时注册表重建)
License
MIT