dsh-panel-collapse:侧栏一键收起全局面板列表

前言

在 DeepSeek Harness(DSH)里,侧栏除了会话列表,还会挂一整组「全局面板」入口:Plugins、Scheduled tasks、Context insight、Memory,以及其它插件注册的侧栏面板。面板行数一多,纵向空间被占满,工作区和会话列表能用的高度就变少。DSH 生态里常见做法是各自做面板或改主题,很少专门做「整块面板区可折叠」这种只动 UI、不动宿主逻辑的客户端小插件。下面介绍社区插件 dsh-panel-collapse(维护者 RiddanceY,分类:客户端),它在侧栏底部增加一个按钮,用来收起或展开上述全局面板列表,并把状态记在浏览器里。

这是什么

dsh-panel-collapse 是一个体量很小的 DSH 客户端插件:在侧栏 footer、紧挨设置等图标按钮右侧,增加一个切换按钮。点击后隐藏或恢复 global panel list(全局面板列表)占用的行,把纵向空间让给工作区与会话列表。折叠状态按浏览器 profile 持久化,重启应用后仍有效。

插件不导入、不 patch 宿主代码,仅使用公开的 sidebar.footer.action 插槽与主题 token(--dsw-alias-* 等),随浅色/深色与侧栏宽/窄态变化。

核心功能

  1. 侧栏 footer 按钮
    在 sidebar.footer.action 列表中注册 id: "panel-collapse"、order: 40,排在内置 Cordis 面板按钮之后。

  2. 展开 / 收起全局面板区
    - 默认展开:按钮显示「收起」向外的双 chevron,点击后隐藏面板列表。
    - 收起后:按钮显示「展开」双 chevron,点击恢复列表。
    - 侧栏处于窄轨(rail)模式时,按钮放大为 36×36,与宿主 rail 按钮一致。

  3. 状态持久化
    当前是否收起写入 localStorage,键名为 dsh.panel-collapse.collapsed。

  4. 实现方式(视觉折叠)
    收起时在客户端注入 CSS,隐藏包含 sidebar.panellist 出口的 nav(并辅以 aria-label 为「全局面板」/「Global panels」的 fallback)。宿主仍认为面板已挂载,切换可逆且无需重载;因此会收起列表中的 所有 行,包含其它插件注册的面板行,且不做按行过滤。

  5. 国际化
    apply(ctx) 注册 panel-collapse 语言的 zh、en 词典,随插件卸载释放。

安装与启用

安装命令须指定 profile,且 --profile 必须紧跟在 plugin 之后(dsh plugin add x --profile y 会被拒绝)。

dsh plugin --profile <your-profile> add dsh-panel-collapse

DSH 仅在启动时加载新一代客户端模块,安装后需要 重启应用,按钮才会出现。

卸载:

dsh plugin --profile <your-profile> remove dsh-panel-collapse

若从本地目录以 link: 方式挂到 profile,改 client.js 后同样需重启应用生效;具体 link 用法见仓库 README。

典型用法

  1. 按上一节安装并重启 DSH。
  2. 在侧栏底部找到新增按钮(位于现有 footer 图标右侧)。
  3. 需要更多纵向空间时点击收起;需要进入 Plugins、Memory 等入口时再点击展开。
  4. 同一浏览器 profile 下,下次打开仍保持上次选择。

无需额外配置文件;行为完全由按钮与 localStorage 驱动。

适用场景与注意

适合谁

  • 侧栏面板较多、希望默认把空间留给会话与工作区的日常使用者。
  • 需要在不改宿主、不拆其它插件的前提下,临时「整块」隐藏面板列表的开发者。

运行与信任

客户端插件随当前 DSH 进程在本地执行,安装前建议阅读 client.js 与 MIT 许可证,确认符合你的使用习惯。

已知限制(摘自上游 README)

  • 折叠纯靠 CSS 隐藏,对宿主是视觉层效果,不是卸载面板。
  • 主选择器使用 :has(),依赖较新的 Chromium(桌面端一般满足);aria-label fallback 不依赖 :has()。
  • 无按行隐藏:收起即隐藏整个面板列表区域。

兼容性摘要

项 说明
DeepSeek Harness >= 0.2.0-rc.2
使用插槽 sidebar.footer.action(list)
运行时依赖 无(React 由应用模块表提供)

结尾

dsh-panel-collapse 用侧栏 footer 上的一个按钮,把全局面板列表整块收起,把纵向空间还给工作区与会话列表,状态留在本机 localStorage。若要在自己的 profile 里试用,可按官方命令安装并重启;细节与开发校验脚本见 GitHub README。

  • 目录页:https://www.skillhub.cn/plugins/RiddanceY/dsh-panel-collapse
  • GitHub:https://github.com/RiddanceY/dsh-panel-collapse

社区插件目录由 skillhub 等站点维护,与 DeepSeek / 幻方无官方从属关系;安装与升级以仓库与 dsh plugin 文档为准。

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

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

小夜