前言¶
在 DeepSeek Harness(DSH)里装多了 Web 客户端插件之后,左侧栏 sidebar.panellist 上注册的面板行会一行接一行变长——插件、自动化任务,以及后续插件各自占一行。宿主默认会把这些入口都摊在侧栏主列里,没有「只保留常用项、其余收进菜单」的开关。
若你只想精简侧栏视觉、又不想失去入口,需要一层和宿主侧栏机制对齐的显示控制。下面介绍社区插件 dsh-sidebar-entry-manager(维护者 yanli-nyan,GitHub 3 stars,SkillHub 分类为客户端,当前目录页标注版本 v1.1.0)。
这是什么¶
dsh-sidebar-entry-manager 是 DSH Web 客户端插件:在左侧栏各面板入口行上提供显示开关,界面中文名为「左侧栏入口显示」(见包内 locale/zh.json)。插件不改动宿主或其他插件源码,只注册自己的 slots,样式类名使用 dsem_ 前缀。
它解决的是:哪些面板行出现在侧栏主列、哪些收起来但仍可从「更多」菜单打开,并把选择写入浏览器 localStorage,刷新与重启后仍保留(v1.1.0 起首屏即可按偏好渲染,无需先点开「更多」)。
核心功能¶
以下能力来自插件 README(社区目录 awesome-dsh-plugin.com 中文页 与仓库说明一致):
- 按行隐藏:可关闭任意非
plugins的面板行;关闭后该行从侧栏主列消失,但仍列在底部「更多」菜单中(隐藏项带「已隐藏」标记)。 - 偏好持久化:键名为
dsh-sidebar-entry-manager:prefs,存在本机浏览器。 - 双入口管理:左侧栏新增的「左侧栏入口」图标行,以及 DSH 设置页中的「左侧栏入口」一节,共用同一份偏好。
- 立即生效:在管理面板切换开关后,侧栏行即时更新;「全部显示」可一键清空偏好。
做不到的事(宿主硬编码,非本插件范围):
- 无法隐藏「插件」行(管理面板中该行显示为只读「始终显示」)。
- 无法隐藏「更多」按钮(本插件会向
sidebar.panellist.actions注册「管理左侧栏入口…」菜单项,因此「更多」会保持可见)。 - 无法把多行合并为单一入口(需重写侧栏外壳,超出本插件设计)。
左栏最少仍保留「插件 + 更多」两行形态。
安装与启用¶
DSH 生态里客户端能力以插件形式挂载;社区目录 SkillHub(yanli-nyan/dsh-sidebar-entry-manager)与第三方索引 DSH Get 均列出同一安装方式。安装前请自行阅读 GitHub 仓库 源码与 MIT 许可证——插件与 DSH 进程同权运行,能访问本机文件、凭据与网络。
命令行(Web profile)
DSH Get 页面给出的命令如下;从 GitHub 源码安装时,若 pnpm 拦截构建脚本,需按终端提示在对应 profile 的 pnpm-workspace.yaml 中配置 allowBuilds 后重试(社区目录安装说明中有说明)。
dsh plugin --profile web add github:yanli-nyan/dsh-sidebar-entry-manager
其他方式(README 原文)
- DSH 桌面端 → 左侧栏「插件」→ 安装 → 填写
dsh-sidebar-entry-manager-1.1.0.tgz的绝对路径(Release 或本地npm pack --pack-destination build产物)。 - 手工挂载:将 tgz 放入 profile 的
.plugin-manager/,在package.json的dependencies与dsh.profile.bundles中登记@local/dsh-sidebar-entry-manager,再在该 profile 目录执行pnpm install并完全退出后重启 DSH。
cordis.patch.yml 中 dsh.client.immediately: true 表示 Web 客户端启动即加载 client.js;改配置或升级版本后需重启 DSH。
典型用法¶
经过上面的安装并重启后,可按 README 中的步骤自测:
- 点击左侧栏 「左侧栏入口」 图标,打开管理面板。
- 关闭不需要常驻侧栏的入口(例如「自动化任务」);当前打开的面板行若被关闭,会立刻从主列消失。
- 需要时再点侧栏底部 「更多」 → 选择带「已隐藏」标记的项打开;或点 「管理左侧栏入口…」 回到管理面板。
- 在 DSH 设置 → 左侧栏入口 中可进行相同操作;与侧栏面板读写同一份偏好。
浏览器控制台调试接口(插件提供):
__dshSidebarEntryManager.get()
__dshSidebarEntryManager.set('schedules', false)
__dshSidebarEntryManager.reset()
卸载插件后侧栏 UI 由宿主恢复;localStorage 中的 dsh-sidebar-entry-manager:prefs 可能仍存在,可用 localStorage.removeItem('dsh-sidebar-entry-manager:prefs') 清理。
适用场景与注意¶
适合:侧栏插件较多、希望主列只留常用面板,又需要保留从「更多」进入隐藏项的能力的 DSH Web/桌面客户端用户。
注意:
- 插件依赖宿主侧栏实现(README 引用
@deepseek-ai/dsh-client-ui-sidebar等槽位行为);DSH 大版本升级后若宿主改动setPinned/inject契约,可能需要等待插件适配。 - 安装等于在本机运行第三方 JavaScript;仅在你信任维护者与源码时使用,并优先锁定 commit(如
github:owner/repo#sha)以降低供应链风险。 - SkillHub 为社区独立目录站点,与 DeepSeek / 幻方无官方从属关系;索引页信息(如星标 3、v1.1.0)以各站点与仓库当时公示为准。
结尾¶
dsh-sidebar-entry-manager 把「侧栏面板行是否显示在主列」做成可持久化的开关,并与宿主「更多」菜单机制对齐,适合在插件变多后整理左侧栏。进一步了解可访问 SkillHub 目录页与 GitHub 仓库:
- https://www.skillhub.cn/plugins/yanli-nyan/dsh-sidebar-entry-manager
- https://github.com/yanli-nyan/dsh-sidebar-entry-manager