dsh-toomuch-plugins:折叠 DSH Web 侧栏全局面板列

前言

在 DeepSeek Harness(DSH)里用 Web 界面时,左侧侧栏从上到下依次是品牌行、新建会话、全局面板入口、工作区、设置。插件市场、MCP Studio、上下文、技能管理器等每多装一个带侧栏入口的插件,就多占一行。资料里提到大约七行会占到约 280px,工作区能显示的会话条数会被明显压缩。

如果你不想改 DSH 本体、也不想动各个面板插件,只是希望把「全局面板」那一整列先收起来、需要时再展开,可以看一下维护者 rivenshanghai 的客户端插件集 dsh-toomuch-plugins。仓库简介是:给 DSH Web 侧栏腾点地方(Too many DSH plugins, too little room.)。

这是什么

dsh-toomuch-plugins 是一个带 dsh.bundle 清单的仓库根包,目前只内置一个客户端能力:侧栏全局面板折叠(Sidebar panel collapse)。它把侧栏里、工作区上方的「全局面板入口」整列默认折叠,在侧栏底部(设置上方)提供一个开关,再展开或收起。

分类上属于客户端插件:逻辑跑在 DSH Web 前端,不依赖 Host 侧能力(Host 半部分的 apply 为空)。许可证为 MIT,npm 包版本在资料中为 0.1.1。

核心功能

下面介绍插件实际会改动的范围,以及行为细节(均来自仓库 README 与 package.json 说明)。

折叠对象

只处理侧栏根节点下、对应 nav.panelList 的那一段全局面板列表的显示(通过切换该 <nav> 的 display)。品牌行、新建会话、设置行不动;也不改任何面板内部、工作区或 Host 行为。

默认与记忆

  • 安装并启用后,默认折叠,工作区大约能多出 README 所述的 ~280px 高度。
  • 开关在侧栏 footer 的 sidebar.footer.action 插槽,紧挨在「设置」上方;文案为 “Collapse global panels / Expand global panels”(插件列表里有中英文 locale)。
  • 展开/折叠状态写在浏览器 localStorage,刷新页面或重启 DSH 后仍保留。

主题与窄侧栏

样式只使用 DSH 的 --dsw-alias-* 主题变量;侧栏收成约 56px 的 rail 时,开关会变成圆形图标按钮。

已知限制

  • 若未安装任何全局面板,侧栏可能不渲染该 <nav>,开关存在但无实际折叠对象(no-op)。
  • README 写明目前仅在 DSH Web(Linux) 上验证过。
  • Linux / Windows 上品牌行里的「折叠侧栏」仍是收拢整条侧栏的入口,本插件不会隐藏品牌行。

安装与启用

环境要求:DSH 带 web profile;Node.js ≥ 20。安装命令须使用资料原文(--profile web):

# 从 npm 安装(预构建,无需本地 build 审批)
dsh plugin --profile web add dsh-toomuch-plugins

# 从 GitHub 安装
dsh plugin --profile web add github:rivenshanghai/dsh-toomuch-plugins

# 从本地目录安装(需自行 clone 到本机路径)
dsh plugin --profile web add /path/to/dsh-toomuch-plugins

dsh plugin 会在 profile 内转发到 pnpm。装完后还要在 DSH 插件设置里启用该包(会写入 profile 的 dsh.profile.bundles),然后刷新页面。

若插件市场已收录,也可在 DSH 里打开 Settings → Plugin Market,搜索 dsh-toomuch-plugins 安装。社区目录由 awesome-dsh-plugin 等独立站点聚合,与 DeepSeek / 幻方无官方从属关系,不要当成官方应用商店。

自检: 侧栏底部、设置上方出现折叠/展开全局面板的行,且全局面板列默认不可见。

典型用法

没有单独的配置文件或 CLI 子命令;启用插件后日常使用就是点 footer 里的开关。

  1. 完成安装并在插件设置中启用,刷新 Web 界面。
  2. 需要进插件市场、调度、MCP Studio 等全局入口时,点 footer 展开全局面板列。
  3. 用完再点一次收起,把垂直空间还给工作区会话列表。

实现上,src/client.js 注册 footer 开关、向上遍历 DOM 找到侧栏根下的全局面板 <nav> 并切换显示,再把状态写入 localStorage;依赖 DSH 自带的 @deepseek-ai/dsh-client-ui-sidebar 结构,不 import DSH 内部包、不改 DSH 仓库文件。更完整的 DOM 约定见仓库内 docs/design.md。

适用场景与注意

适合: 已在 Web 侧栏堆了多个带入口的 DSH 插件,主要痛点是全局面板列占高、会话区太矮,且你愿意用「默认折叠 + 一键展开」而不是改每个插件。

注意:

  • 插件以当前 DSH 进程及 Web 前端上下文运行;安装前建议阅读 GitHub 仓库 源码与 MIT 许可证,确认符合你的环境策略。
  • 与侧栏相关的其它社区插件(如折叠 footer 其它行、抽屉式侧栏等)可能叠加交互,选用前最好在测试 profile 里试一遍。

同作者 README 还列出了若干相关侧栏插件(如 dsh-sidebar-quiet、dsh-sidebar-buttons 等),分工不同:本仓库只负责全局面板列这一段的折叠。

结尾

dsh-toomuch-plugins 用一个小开关把 DSH Web 侧栏里最占纵向空间的全局面板入口列收起来,把空间还给工作区,状态留在本机 localStorage。需要查分类与简介时,可看 SkillHub 目录页 rivenshanghai/dsh-toomuch-plugins;安装细节与实现说明以 GitHub 仓库 为准。

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

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

Xiaoye