# toomuch-plugins
**给 DSH Web 侧栏腾点地方。** · *Too many plugins, too little room.*
[](https://github.com/rivenshanghai/dsh-toomuch-plugins/blob/main/LICENSE)
[](https://nodejs.org)
[](https://github.com/rivenshanghai/dsh-toomuch-plugins)
[](https://github.com/topics/dsh-plugin)
[English](README.md) | [简体中文](README.zh-CN.md)
---
给 [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness)(DSH)Web
侧栏做减法的小插件集。
目前只内置一个插件:
| 插件 | 作用 |
| --- | --- |
| 侧栏面板收起 | 把工作区上方的「全局面板入口」列收成侧栏底部的一个开关 |
## 为什么
DSH Web 侧栏从上到下依次是:品牌行 → 新会话 → **全局面板入口** → 工作区 → 设置。
每个往侧栏加一项的插件都会在这列里加一行:插件、插件市场、定时任务、MCP
Studio、上下文、技能管理器、系统监控……七行大概 280px,工作区区域被压得只剩几个会话。
这个插件只做一件事:**把这一列全局面板入口收起来**,需要时再展开。
## 特性
- **默认收起** —— 装上之后工作区立刻多出约 280px。
- **只要一个开关** —— 放在侧栏底部,「设置」那一行的上面。
- **记住选择** —— 存在 `localStorage`,刷新、重启都保持。
- **不碰别的东西** —— 不动任何面板、工作区或 Host 行为,只切换侧栏本来就会渲染的那个列表元素的显示状态。
- **跟随主题** —— 只用 `--dsw-alias-*` 主题变量,明暗主题都一致。
- **窄栏友好** —— 侧栏收成 56px rail 时,开关变成一个圆形图标按钮。
## 安装
本插件是「仓库根即包」的形式:根 `package.json` 里就声明了 `dsh.bundle` 清单,
所以 DSH 可以直接从 GitHub 安装。
```sh
# 从 GitHub 安装
dsh plugin --profile web add github:rivenshanghai/dsh-toomuch-plugins
# 或者从本地 clone
git clone https://github.com/rivenshanghai/dsh-toomuch-plugins.git
dsh plugin --profile web add /path/to/dsh-toomuch-plugins
```
`dsh plugin` 实际是把参数转交给 profile 里的 `pnpm`。装完之后还要在 DSH 的插件设置里
**启用它**(它会被写进 profile 的 `dsh.profile.bundles`),然后刷新页面。
如果已经被收录进插件市场:在 DSH 里打开 **设置 → 插件市场**,搜索 `toomuch-plugins`。
**验证方式:** 侧栏底部「设置」上面会多出一行「收起全局面板 / 展开全局面板」,
同时那列全局面板入口消失。
环境要求:带 `web` profile 的 DSH(DeepSeek Harness);Node.js ≥ 20。
## 实现原理
`src/client.js` 做三件事:
1. 在侧栏底部插槽 `sidebar.footer.action` 注册一个开关按钮(即「设置」旁边那一行);
2. 从自己的根节点向上回溯,找到侧栏根节点下的直接子元素 `