dsh-split-panes
by lehhair
DSH 对话分屏插件(PiUI 风格):把信息流分成多个可独立操作的窗格,每个窗格绑定自己的会话——分屏/层叠、四向拖拽分配、侧边栏会话拖入、单行融合 header。信息流本体完全复用原生渲染,插件只做容器与交互。
A DSH conversation split-pane plugin (PiUI style): splits the stream into independently operated panes, each bound to its own session — split/stack, four-way drag assignment, drag sessions in from the sidebar, single-line fused header. The stream itself fully reuses native rendering; the plugin only provides containers and interaction.
安装
dsh plugin --profile web add github:lehhair/dsh-split-panesGitHub 源码安装:首次需按提示配置 allowBuilds 构建授权后重试
安装与环境配置指引、插件开发教程见 DSH 中文社区文档 ↗
安装即在你的机器上以你的权限运行第三方代码——它可读写文件、使用凭据、访问网络,DSH 的工具审批不会为插件代码加沙箱。「检测到 manifest」仅代表发现 dsh.bundle / dsh.plugin 清单,不构成兼容性或安全审查;安装前请审阅源码,不熟悉的插件先在不含密钥的环境试用。
README
dsh-split-panes
DSH 对话分屏插件(PiUI 风格):把信息流分成多个可独立操作的窗格,每个窗格绑定自己的会话——分屏/层叠、四向拖拽分配、侧边栏会话拖入、单行融合 header。信息流本体完全复用原生渲染,插件只做容器与交互。
功能
- 分屏组合:header 操作行分屏按钮 +
mod+shift+方向键(左右/上下),mod+shift+w关闭窗格;分隔条可拖拽、可键盘调节(比例 0.1–0.9) - 每窗格独立会话:通过框架的
SessionScope座位把每个窗格绑定到各自的会话;分屏是纯视图操作——新窗格是"新建对话"占位(不创建 host 会话),在占位窗格里开始对话时才真正创建会话并绑定到该窗格,互不干扰 - 侧边栏拖拽分配:把侧边栏会话拖到窗格上——中心落下替换该窗格会话,四条边缘落下向该侧分屏(被拖会话进新窗格,焦点跟随);拖拽通道完全插件化(capture dragstart 反查)
- 原生视觉:未分屏时逐字节等同原生(无边框、无 chrome);分屏后窗格带焦点蓝边框(选中
deepseek-500/ 未选中灰);header 单行化 + PiUI 渐变 + 内容留白
效果预览

前置:渲染器会话绑定能力
分屏的核心依赖渲染器能按 id 绑定会话(SessionScope 全局座位 + by-id 座位)以及包裹原生会话列的 conversation.panes 缝。官方 DeepSeek Harness(含当前 0.1.0-rc.5 发行版)尚未内置这两项能力(提案已发官方讨论区:deepseek-harness/discussions/604),安装插件前需要运行环境具备它们:
| 方式 | 说明 |
|---|---|
| 官方合入后 | 纯插件安装,无需任何前置(讨论帖 604 推进中) |
| 带能力的 DSH | 使用已内置该能力的内测发行版 |
| 渲染器补丁 | 对官方 0.1.0-rc.5 基线应用 patches/dsh-session-scope-and-panes-rc5.patch(约 500 行纯新增,应用方法见 patches/README) |
安装
git clone https://github.com/lehhair/dsh-split-panes.git
dsh plugin --profile web add link:/path/to/dsh-split-panes
重启 dsh web 即可使用(右上角/header 出现分屏按钮)。
使用
- 分屏:点 header 的分屏按钮,或拖侧边栏会话到对话区域边缘
- 替换:拖侧边栏会话到窗格中心,替换该窗格会话
- 新建:分屏出的新窗格是当前工作区的新建对话(相互独立),直接在窗格内开始对话
- 关闭:窗格 header 的关闭按钮或
mod+shift+w
开发
pnpm install # devDeps link 到 ../dsh2026/deepseek-harness(DSH 源码,需先构建其 client 包)
pnpm run check # typecheck + test + build
src/client/:浏览器半(槽位注册、分屏树 store、拖拽、全局 chrome)src/index.ts:node 半(空)- 构建产物
lib/client.js由 harness 以/plugins/<id>/client.js提供
布局
src/client/
PaneWorkspace.tsx # 槽位入口:单窗格/分屏树、拖拽 drop、SessionScope 绑定
pane-layout-store.ts # 分屏树 store(split/close/ratio/splitPaneToSide)
PaneDropOverlay.tsx # 拖拽 drop-zone 高亮(ref 驱动)
SplitContainer.tsx # 分隔条容器(拖拽/键盘调节)
global-seats.ts # GlobalStandardProps 类型合并(SessionScope/by-id 座位)
PaneGlobal.module.css # 插件全局 chrome(单行 header、渐变、内容留白、侧边栏融合)
patches/
dsh-session-scope-and-panes-rc5.patch # 核心能力补丁(官方 rc.5 基线,应用方法见 patches/README.md)
dsh-renderer-session-scope-0809.patch # 存档:旧快照(20260807)参考
License
BSD-3-Clause
友情链接 / Friend Links
- DSHFind — DeepSeek Harness 插件市场与学习社区
原始 README: https://github.com/lehhair/dsh-split-panes/blob/main/README.md ↗
同类插件
查看全部 →
dsh-web-ui-all
DSH Web UI 插件与皮肤合集:任务看板、git 图、右侧面板、远程移动端 UI、桌宠、实时 token 统计与皮肤中心。

dsh-web-ui
DSH Web UI 插件与皮肤合集:任务看板、git 图、右侧面板、远程移动端 UI、桌宠、实时 token 统计与皮肤中心。

dsh-TUI
Claude Code 风格全屏终端 UI:像素鲸鱼顶栏、实时工作状态行、思考流式展开。

DSH-better-sidebar
侧边栏完整工作台:内置文件渲染编辑、终端、Git 与子代理,支持三方插件注册新 Tab。

working-activity
让 agent 的"工作状态行"活过来——实时工具动态与进度、俏皮文案、模型自述、上下文预警。同一套想法,适配两个平台: pi CLI 与 DeepSeek Harness(DSH) 。

deepseek-idesign
可视化设计工作室,支持网站、App 原型、海报、信息卡、报告和杂志的模板创建、元素编辑、选区级 AI 草稿衔接与导出。