dsh-sidebar-fold:把侧栏顶部的全局面板图标收成一行

前言

DeepSeek Harness(DSH)把插件、插件市场、自动化任务、上下文洞察、技能中心、记忆系统等能力拆成独立插件,各自往侧栏的 sidebar.panellist 槽位注册图标。装得越多,侧栏顶部那排按钮就越长,占掉不少竖向空间。社区里有人用「趣味换装」类插件做界面整理;下面介绍维护者 XiaoSHang05 的 dsh-sidebar-fold(当前 package 版本 1.0.1,MIT),在列表最前面加一行「全局面板」,用开合控制其余图标是否显示,而不改其它插件的注册与顺序。

这是什么

dsh-sidebar-fold 是仅面向 Web 客户端(dsh.client.platform: "web")的 DSH 插件。它在侧栏全局面板区域增加一行可折叠的标题(中文界面为「全局面板 ▾/▸」),点击后把同一列里、除标题行以外的面板按钮藏起来或再展开。插件只注册自己的这一行,不替换槽位、不依赖 dock 或其它具体插件;新装的插件图标也会自动落在折叠范围内。

目录页:https://www.skillhub.cn/plugins/XiaoSHang05/dsh-sidebar-fold
源码与说明:https://github.com/XiaoSHang05/dsh-sidebar-fold

侧栏变长时它具体做什么

DSH 侧栏顶部每个全局面板入口对应一个独立按钮。本插件在最前面插入一行「全局面板」:

  • 收起时:只保留标题行,插件、插件市场、自动化任务等图标视觉上隐藏(折叠状态下点不到,需先展开)。
  • 展开时:标题行与其余图标一起显示,行为与未装插件前一致。

实现上,折叠状态写在 <html> 的 data-sbf-fold 属性上;收起时通过 CSS 隐藏 nav 内 sidebar.panellist 区域里、不含插件标题标记的按钮,因此不需要逐个登记插件 id,后续新注册的图标也会进入同一折叠范围。

安装与启用

在 desktop profile 下执行官方 README 中的安装命令:

dsh plugin --profile desktop add "github:XiaoSHang05/dsh-sidebar-fold"

装完后重启 DSH。浏览器侧 client 代码在进程重启时才会重新加载。

安装前建议自行浏览 GitHub 仓库中的 client.js 与 LICENSE,确认行为与许可证(MIT)符合你的环境;插件在 DSH 进程权限下运行,与从社区目录安装的任何插件一样,需要自行评估信任边界。

典型用法

  1. 安装并重启后,侧栏顶部会出现「全局面板」一行;默认是展开,不会突然把所有图标藏起来。
  2. 点击整行即可开合,不必只点小箭头。
  3. 折叠状态保存在浏览器 localStorage,键名为 dsh-sidebar-fold:collapsed,刷新页面后仍保持。
  4. 在 设置 → 侧栏整理 中也可以切换同一开关。

与其它插件的关系

本插件刻意只做 UI 折叠:

  • 不修改其它侧栏条目的注册、顺序或槽位;
  • 未安装某个面板插件时,没有对应按钮,折叠逻辑不受影响;
  • 卸载或禁用时,侧栏立即恢复原样,<html> 上的折叠状态属性也会被清掉。

手工卸载时:从 profile 的 package.json 里删除 dsh.profile.bundles 中的 "dsh-sidebar-fold" 以及 dependencies 中对应行,再删除 node_modules/dsh-sidebar-fold(软链),然后重启 DSH。

适用场景与注意

适合:经常在 Web 界面使用 DSH、侧栏全局面板装得较多、希望默认保留入口但偶尔收成一行的人。

边界(来自 README):

  • 仅在 Web 界面生效;非 web 客户端不会加载该 client 包。
  • 侧栏收成约 56px 宽轨道时,折叠仍有效,标题行可能只剩箭头。
  • 折叠时被隐藏的图标无法点击,需先展开再操作。

社区插件目录(如 SkillHub)与 DeepSeek / 幻方无官方从属关系;安装命令与行为以仓库 README 为准。

结尾

dsh-sidebar-fold 用一行「全局面板」和纯 CSS 折叠,在不动其它插件注册的前提下缩短侧栏顶部的视觉占用。需要安装步骤与卸载说明时,可直接查阅 GitHub 仓库 或 SkillHub 目录页。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye