dsh-sidebar-entry-manager:按需显示 DeepSeek Harness 左侧栏面板入口

前言

在 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 中文页 与仓库说明一致):

  1. 按行隐藏:可关闭任意非 plugins 的面板行;关闭后该行从侧栏主列消失,但仍列在底部「更多」菜单中(隐藏项带「已隐藏」标记)。
  2. 偏好持久化:键名为 dsh-sidebar-entry-manager:prefs,存在本机浏览器。
  3. 双入口管理:左侧栏新增的「左侧栏入口」图标行,以及 DSH 设置页中的「左侧栏入口」一节,共用同一份偏好。
  4. 立即生效:在管理面板切换开关后,侧栏行即时更新;「全部显示」可一键清空偏好。

做不到的事(宿主硬编码,非本插件范围):

  • 无法隐藏「插件」行(管理面板中该行显示为只读「始终显示」)。
  • 无法隐藏「更多」按钮(本插件会向 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 中的步骤自测:

  1. 点击左侧栏 「左侧栏入口」 图标,打开管理面板。
  2. 关闭不需要常驻侧栏的入口(例如「自动化任务」);当前打开的面板行若被关闭,会立刻从主列消失。
  3. 需要时再点侧栏底部 「更多」 → 选择带「已隐藏」标记的项打开;或点 「管理左侧栏入口…」 回到管理面板。
  4. 在 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
羽毛球分组比赛记分
小程序二维码

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

小夜