前言¶
DeepSeek Harness(DSH)把扩展能力做成插件,左侧栏里会堆叠「全局面板按钮条」——插件、任务看板、技能中心等各占一行。每装一个面板插件,按钮条就多 36px 高度,且宿主侧栏不会把这条区域折叠或滚动,工作区与会话列表可用高度就被一点点挤没。若你已经在用多个客户端面板插件,却不想改 DSH 本体,社区里有一个只做折叠开关的客户端插件可以试:dsh-sidebar-collapse(维护者 lakejason0)。下面介绍它是什么、怎么用,以及和宿主版本、内部类名相关的注意点。
这是什么¶
dsh-sidebar-collapse 是 DSH 客户端插件(npm 包名 dsh-sidebar-collapse,当前版本 0.1.1,MIT 许可)。它在侧栏 「工作区」标题右侧、搜索图标左侧 增加一个折叠按钮:点一下收起整条全局面板按钮条,把列高度让给工作区与会话列表;再点一下恢复。不替换宿主组件,也不改动其他插件的注册逻辑。
插件目录页:skillhub.cn/plugins/lakejason0/dsh-sidebar-collapse。源码与说明:github.com/lakejason0/dsh-sidebar-collapse。DSH 生态强调「一切皆插件」;社区目录是独立站点,与 DeepSeek / 幻方无官方从属关系。
它解决什么问题¶
DSH 左侧栏自上而下大致是:品牌行 → 新会话 → 全局面板按钮条 → 工作区/会话列表 → 底部。按钮条里每一行由各个插件注册,占 36px 且不会被压缩——插件越多,列表区域越扁,而按钮条本身在宿主里既不能折叠也不能滚动。
本插件只做上述折叠开关一件事;README 中用展开/折叠对比图说明了视觉差异(见仓库 docs/expanded.png、docs/folded.png)。
核心功能与行为¶
以下均来自项目 README,安装前可在 GitHub 核对。
- 出现条件:全局面板按钮达到 5 个 时,折叠按钮才显示;少于 5 个时不显示。
- 折叠效果:收起后整条插件按钮条不可见,工作区列表占用整列高度;折叠按钮仍留在标题行,可随时展开。
- 状态持久化:折叠状态写入浏览器
localStorage,键名dsh-sidebar-collapse:collapsed,刷新或重启 DSH 后保持。 - 自动让位与暂停:
- 侧栏收成 56px 图标栏时,折叠功能自动暂停(该模式下按钮条是唯一导航)。
- 工作区标题行搜索框展开时,折叠按钮自动让位。 - 边界:不设侧栏高度上限、不增加第二条滚动条;折叠通过纯 CSS 隐藏按钮条子元素,不在组件树外写 DOM。
安装与启用¶
任选其一(命令与步骤以 README 为准,不要自行拼接 github:owner/repo 形式的 add 参数)。
方式一:插件页(推荐)
- 打开 DSH 设置 → 插件 → 添加。
- 填入包名
dsh-sidebar-collapse并完成安装。
也可让 DSH 代理调用 plugin_manager 的 install_bundle,target 填 dsh-sidebar-collapse。
方式二:命令行
需要本机 dsh CLI 已在 PATH 中:
dsh plugin --profile <你的 profile 名> add dsh-sidebar-collapse
将 <你的 profile 名> 换成你实际使用的 profile。
卸载:在插件页禁用或卸载;或 plugin_manager 的 remove_bundle,target 填 dsh-sidebar-collapse。
插件以当前 DSH 进程权限在客户端运行;安装前建议浏览 client.js 与许可证,确认符合你的安全策略。
典型用法¶
安装并启用后无需额外配置文件。当全局面板按钮不少于 5 个时,在工作区标题行搜索图标左侧会出现折叠控件;点击即可在「按钮条占满侧栏」与「按钮条隐藏、列表变高」之间切换。若按钮未出现,先确认面板数量是否达到阈值,以及侧栏是否处于 56px 图标栏模式(该模式下折叠会暂停)。
兼容性与实现要点¶
在 DSH 0.2.1-rc.3(Electron 44 / Chromium ~144)上开发并验证。实现依赖宿主两处内部命名(类名子串):
| 依赖 | 用途 |
|---|---|
nav 上的 …_panelList |
判断折叠范围与「5 个按钮」阈值 |
工作区标题行搜索槽的 …_searchSlot |
定位锚点(测量回退也用它) |
若未来 DSH 重命名这些选择器,最坏情况是按钮位置错误或不再出现,README 说明不会破坏侧栏或影响其他插件;届时可改 client.js 顶部常量:FOLD_THRESHOLD、BUTTON_SIZE、GUTTER、ANCHOR_SELECTOR。
工作原理简述:控件注册在宿主 sidebar.footer.action 座位,用绝对定位脱离 footer 行流;优先用 CSS 锚点把按钮放在搜索槽左侧 32px;引擎不支持锚点时用 getBoundingClientRect() 与 position: fixed 回退,并在窗口尺寸变化、折叠操作后重新测量。折叠本身由 html:has([data-dsh-sidebar-collapse][aria-expanded="false"]) … 将按钮条子元素设为 display: none。
适用场景与注意¶
- 适合:常装多个 DSH 客户端面板插件、侧栏按钮条挤占工作区与会话列表高度的用户。
- 不适合:面板少于 5 个时本插件不会显示按钮(按设计如此);依赖窄图标栏导航时不应依赖折叠(宿主会暂停折叠)。
- 安全与信任:客户端插件注入 UI 与样式,安装前请自行审阅源码与 MIT 许可;社区目录与 GitHub 星标(截至资料抓取为 0)仅作参考,不代表官方背书。
结尾¶
dsh-sidebar-collapse 用一个小按钮换侧栏纵向空间,逻辑单一、可卸载即消失。需要安装入口可看 插件目录页,行为细节与截图以 GitHub README 为准。