跳过主要内容
W

dsh-split-view

weiaisuyan/dsh-split-view

把 DSH 主区换成多栏标签工作区:最多四栏会话并排,每栏自带标签条、输入框和宿主视图切换条。不能与 luckybilly 的 dsh-split-view 同时启用;安装的包名是 dsh-multipane。

安装

dsh plugin --profile web add github:weiaisuyan/dsh-split-view

README

dsh-multipane(多栏视图)

把 DeepSeek Harness 的主区换成一个多栏标签工作区:最多四栏并排,每一栏都有自己的标签条、自己的输入框,栏与栏之间可以拖动分隔、拖标签即可分栏。

English · 更新记录 · 安装

双栏总览:左栏三个标签、右栏两个标签,每栏自带标签条与输入框

上面的图是按插件真实布局与配色渲染的示意图,不是屏幕截图。


它解决什么问题

DSH 默认一次只能看一个会话。真要对照着干活——左边问方案、右边同步试运行;上面读日志、下面改代码——就得来回切,切一次丢一次上下文。

多栏视图把这些会话摆到同一屏上,并且每栏独立:标签、输入框、视图切换条都归自己那一栏管,互不干扰。

主要能力

能力说明
最多四栏MAX_PANES = 4,超出的标签留在原栏
每栏独立标签条拖拽排序、双击关闭(可关掉这个行为)、右键锁定
每栏独立输入框在哪一栏打字就发给哪一栏的会话,不用先抢焦点
拖拽分栏把标签或侧栏会话拖到某栏正文的最外侧 20%,就在那一侧新开一栏
侧栏状态配色只给「焦点 / 打开 / 隐藏」三种行上色,普通行一个像素都不动
视图切换条每栏标题栏里的「会话 / 编排 / 成本…」一排,位置可放顶部/底部/隐藏,顺序可调
附件定向把文件拖到某一栏,就只在那一栏插入附件
中英双语跟随宿主语言,切语言即时生效,不用重启
布局持久化栏宽、栏内标签、各栏当前标签都记住,下次打开还在

安装

npm(推荐)

npx @deepseek-ai/dsh plugin --profile desktop add dsh-multipane

GitHub 直装

npx @deepseek-ai/dsh plugin --profile desktop add github:weiaisuyan/dsh-split-view

包名和仓库名不一样:仓库叫 dsh-split-view,npm 包名是 dsh-multipane。装的时候用包名,别搜混。

装完要重启 DSH

插件自己的客户端代码改动可以被宿主热替换,但 package.json 里的导出一类清单变更,宿主只在 entry 启动或重启时读取。如果你是从旧版本升级上来、并且没看到插件列表里的中文名,重启一次宿主即可。

⚠️ 不要和 dsh-split-view(作者 luckybilly)同时启用

两个插件都会往 cordis.patch.yml 里插入 id: split-view 的 loader entry,entry id 直接撞车,同时启用会让主区渲染错乱。要装这个就先卸那个。

升级 / 卸载

# 升级
npx @deepseek-ai/dsh plugin --profile desktop add dsh-multipane@latest

# 卸载
npx @deepseek-ai/dsh plugin --profile desktop remove dsh-multipane

怎么用

你想干什么怎么做
分栏拖标签(或侧栏会话)到某栏正文的最外侧 20%,松手即新开一栏
把标签挪到别的栏拖到目标栏的中间区域,落进那一栏
关闭标签双击标签(设置里可关掉双击关闭);或点标签右侧的 ✕
锁定栏右键标签 → 锁定,锁住后该栏不会被拖走、标签不能被关
调栏宽拖两栏之间的分隔条
关掉侧栏入口设置 → 侧栏 → 在侧栏显示入口

拖拽分栏:把标签拖到正文最外侧 20%,出现虚线落区,松手就新开一栏

设置

设置页在 DSH 设置里,也可以直接点侧栏的「多栏视图」入口。

设置页:外观、视图切换条、侧栏三组设置

分组能调什么
外观全局线条颜色(7 个预设色 + 自定义)、栏间分隔条的粗细与浓度、标签焦点线、栏内标签悬停底色;每一项都可以「跟随全局」或单独设
视图切换条位置(顶部 / 底部 / 不显示)、顺序、隐藏哪些视图
侧栏是否在侧栏显示入口、会话行状态配色开关、焦点/打开/隐藏三档颜色的强弱
行为双击关闭标签、拖拽分栏的落区大小
数据导出当前设置成 JSON / 从 JSON 恢复 / 一键恢复默认

所有设置都存在本机 localStorage(键名 dsh-split-view:prefs:v1),不上传、不联网。

语言

插件跟随宿主语言,不需要单独设置:

宿主语言侧栏入口插件列表卡片设置页标题
中文多栏视图多栏视图 (dsh-multipane)多栏视图 (Multi-pane)
EnglishMulti-paneMulti-pane多栏视图 (Multi-pane)

设置页标题故意固定双语,方便在两种界面下都能认出是哪个插件;页面里的每一个设置项都跟随宿主语言切换,无需重启。

检查更新

设置页底部会显示当前版本,并可以点「检查更新」:

  • 比对 https://registry.npmjs.org/dsh-multipane/latest 的版本号;
  • 有新版本时,可以点一键更新——宿主侧的 POST /dsh-multipane/update 路由会拉 npm tarball、解到临时目录、备份旧文件后覆盖,失败自动回滚;
  • 这个自更新只在你点击时触发,不点击不会联网,也不写你的 profile 清单(它绕过 pnpm,不改 lock、不受 pnpm 冷却期限制;只会在 pnpm-workspace.yaml 里已有的那一行后面补一个 || <当前版本> 的允许分支)。

兼容性

  • DSH >= 0.2.1-rc.5(desktop / web profile 均可)
  • 客户端平台:web(DSH 桌面端内嵌 Chromium)
  • 最多四栏;栏宽按容器宽度归一化保存,换窗口尺寸不会错位

已知限制

  • 分栏只在正文最外侧 20% 触发,中间区域是「并入本栏」,别把标签扔在正中还想分栏;
  • 四栏是硬上限,第五个标签会留在当前栏;
  • 与 luckybilly 的 dsh-split-view 互斥(见上);
  • 停用插件后,宿主会话列表会恢复官方样式,但已打开的多栏工作区不会自动收回(切回单栏视图请点视图切换条里的「会话」)。

反馈与支持

渠道适合说的事地址
GitHub Issues(首选)报 bug、提需求、问用法。有记录、能跟进、别人也搜得到https://github.com/weiaisuyan/dsh-split-view/issues/new/choose
邮箱不方便公开说的(含安全类问题、涉及隐私的日志)1450719125@qq.com
插件市场条目页看简介、安装命令、当前版本https://awesome-dsh-plugin.com/p/weiaisuyan/dsh-split-view/

报问题顺手带上这几样,能少一轮来回:

  • 版本号:设置页最下面「已是 最新版本(1.0.x,…)」那一行,或 ~/.dsh/profiles/<profile>/node_modules/dsh-multipane/package.json 里的 version
  • DSH 版本与系统(Windows / macOS / Linux)
  • 界面语言(中文 / English)——本插件文案是两套,有些问题只在一种语言下复现
  • 复现步骤,以及 F12 Console 里以 [split-view] 开头的报错(有就贴,没有也说明一下)

开发

源码就是运行时代码,没有构建步骤:

lib/index.js    宿主侧:自更新路由(GET /dsh-multipane/status、POST /dsh-multipane/update)
lib/client.js   客户端:整个多栏工作区 + 设置页 + 侧栏标记(单文件,约 9400 行)
locale/*.json   插件列表卡片的中英文标题与描述(meta.title / meta.description)
cordis.patch.yml  插入 id: split-view 的 loader entry

改完直接重启宿主即可生效。提 PR 前建议跑一下仓库自带的静态检查:

node scripts/check-names.cjs     # 包名 / 版本 / 冷却豁免三处是否一致

更新记录

1.0.35(2026-11-10)

  • 修掉会话列表呼吸卡顿:呼吸不再逐帧重算样式、重绘整行,改成行内一层伪元素做透明度动画,交给合成器跑——视觉一样,开销降到零头
  • 设置页去掉失效的「未打开行文字亮度」滑杆:1.0.34 删掉把普通行压暗的规则后,它已经不影响任何东西
  • 文档重写:中文完整版 + 英文完整版(README.en.md)
  • 新增三张界面示意图:总览、拖拽分栏、设置页(按真实布局与配色渲染,不是屏幕截图)
  • npm 包描述重写,插件列表里的中英描述同步对齐
  • 新增「反馈与支持」:Issue 模板、邮箱、插件市场页链接
  • 仓库不再包含作者本机脚本(发布脚本、令牌脚本、样式对照表),并加了 scripts/check-privacy.cjs 与 CI 门禁,防止个人信息再次进仓库

1.0.34(2026-11-10)

  • 中英双语:侧栏入口、设置页全部设置项、标签条与右键菜单、提示文案,共约 300 条;跟随宿主语言,切换即时生效
  • 插件列表显示中文名:新增 locale/zh.json + locale/en.json 与 ./locale/*.json 导出,插件列表卡片显示「多栏视图 (dsh-multipane)」/「Multi-pane」
  • 修掉设置页丢样式:停用状态下心跳不再删除样式表;设置页不再先闪一帧无样式
  • 修复关掉总开关后仍改宿主会话列表:停用时立即清除行标记,普通行完全恢复官方样式
  • 修复会话行发暗:删掉把整行压暗的三条 opacity 规则——置顶行和悬浮操作按钮终于看得见了;只保留焦点/打开/隐藏三档着色
  • 修复停用后拖放与「+」插入文件失效:拖放监听与输入框附件槽位改为跟着总开关装卸,且没有接收者时不再吞掉 drop 事件

1.0.33 及更早

见 GitHub Releases 与仓库提交历史。

许可

MIT

相关插件