前言¶
DeepSeek Harness(DSH)左侧栏默认是上下两段:上方是全局面板列表,下方是「工作区」会话树。面板列表高度由内容撑开、不能手动调节。窗口较矮时,工作区经常被压到几乎看不见;想给会话树多留一点空间时,也没有现成的调节方式。
社区插件 dsh-sidebar-left-split 只改一件事:在面板列表与工作区之间加入按行磁吸的可拖动分隔条。下面介绍它的定位、能力与安装用法。
这是什么¶
dsh-sidebar-left-split(目录名 yhprime/dsh-sidebar-left-split)由维护者 yhPrime 发布,分类为客户端插件。它不改 node_modules 里的第三方包,也不改 DSH 本体;通过标记属性与 CSS 变量驱动样式,不往 React 管理的子树里插节点,避免上游重渲染冲掉分隔条。
插件在插件管理里显示为「侧栏工作区分隔 / Sidebar workspace splitter」。当前包版本为 0.3.0,许可证 MIT,要求 Node.js ≥ 22。
核心功能¶
DSH 原生侧栏里,「更多」按钮下方即是工作区上缘。本插件在交接处提供 2px 细分隔线与上下拖动光标,行为要点如下。
拖动与高度记忆
- 按住交接处上下拖动时,面板列表以「一个按钮」为一格跳变:往下拖露一行,往上拖收一行,不停在半行上。
- 最小状态只露一行,其余靠
overflow-y: auto滚动;最大状态为全部按钮可见,再往下拖不再增加。 - 记忆的是「留几行」而非像素,刷新或重启后仍按行对齐;窗口变矮时自动回收,保证工作区至少约 120px。
- 双击交接处恢复「按内容自适应」,清除记忆的行数。
滚动磁吸
面板列表被压小后,滚轮一格对应一行;触控板细碎滚动会先累积再跳行。拖滚动条或键盘操作停下后,自动对齐到最近整行。全部按钮已露出时不拦截滚轮,页面照常滚动。
与宿主 UI 的衔接
侧栏收成窄轨(带 *_collapsed 状态时)自动让开,不影响图标列。滚动条外观沿用宿主;分隔线使用 --dsw-alias-border-l1/-l2,不另设主题色。选择器依赖上游 CSS Module 类名后缀 _regionArea、_panelList 及结构位置,不依赖哈希前缀。
安装与启用¶
插件以当前 DSH 进程权限在浏览器端注入逻辑(client.js,platform: web,immediately: true)。安装前应自行浏览源码与 MIT 许可证,确认可接受其行为与依赖边界。
官方 README 给出的获取与安装步骤如下。
- 将仓库克隆到本地(安装命令来自项目 README):
git clone https://github.com/yhPrime/dsh-sidebar-left-split.git
-
在 DSH 中通过插件管理安装:使用
plugin_manager→install_bundle,target 填克隆目录的绝对路径。 -
刷新页面;在插件管理中应能看到「侧栏工作区分隔 / Sidebar workspace splitter」。
建议先在该目录执行 pnpm pack 生成 tarball,再用 tarball 的绝对路径作为 target。直接传目录会建立 pnpm link(link:),卸载时可能连带删掉源码目录。若安装新版本后 application 报 restart-required(清单层版本号变更),需重启 DSH 才会加载新 bundle。
典型用法¶
| 操作 | 效果 |
|---|---|
| 悬停在「更多」与工作区之间 | 出现分隔线与上下拖动光标 |
| 按住上下拖动 | 按行磁吸:一格对应一个按钮;往下露一行、往上收一行 |
| 往上拖到底 | 只留一行,其余靠滚动条 |
| 往下拖到底 | 所有按钮显示,不再下移 |
| 压小后在列表里滚动 | 一行一步;拖滚动条停下后对齐最近整行 |
| 双击交接处 | 恢复自适应(清除记忆行数) |
项目自带自检,可在克隆目录执行:
node test/check.mjs
node test/client.test.mjs
或 npm test(等价于上述两条串联)。
适用场景与注意¶
适合谁
- 经常在矮窗口或多面板场景下使用 DSH,需要固定给会话树留出可视高度的人。
- 希望面板列表与工作区边界清晰、且调节粒度与「一行一个面板」一致的用户。
实现边界(README 已说明)
- 交接处为几何命中(距工作区上边缘 ±5px),没有可聚焦的 DOM 抓手,键盘无法直接操作分隔条;无障碍需依赖上游提供真控件。
- 磁吸格距按实测行高与行距计算,换主题或字号仍应对齐行;面板行数变化时,记忆行数会被夹到当前上限。
- 若上游重命名
regionArea/panelList相关 CSS Module 类名,插件会静默不生效(不报错、不改布局)。
DSH 生态奉行「一切皆插件」;社区目录站点与 DeepSeek / 幻方无官方从属关系,本文介绍的是社区维护的客户端扩展,非官方应用商店内置能力。
结尾¶
dsh-sidebar-left-split 用最小改动补上左侧栏上下分区的手动调节:行级磁吸拖动、滚动对齐与高度记忆,解决窗口变矮时工作区被挤没的常见问题。
- 社区目录页:https://www.skillhub.cn/plugins/yhPrime/dsh-sidebar-left-split
- 源码与说明:https://github.com/yhPrime/dsh-sidebar-left-split