dsh-sidebar-panel-fold:侧边栏面板按需保留,其余收入 More

前言

在 DeepSeek Harness(DSH)里,每装一个会在左侧边栏注册全局面板的插件,侧边栏就会多一行启动器。自动化任务、任务看板、Skill Center、SSH、Context Insights、Agents 等插件各自占位,工作区和会话列表能用的纵向空间会被挤占。

dsh-sidebar-panel-fold 不改面板本身的功能,只调整「哪些面板在侧边栏露出行、哪些收进 More 菜单」。下面介绍它的定位、安装方式和配置落盘位置。事实以 GitHub 仓库 README 与 bundle 元数据为准;社区目录见 SkillHub 条目。

这是什么

  • 名称:@lisongjianustc/dsh-sidebar-panel-fold(bundle 名 sidebar-panel-fold)
  • 维护者:lisongjianustc(GitHub:lisongjian)
  • 分类:客户端(Web GUI)
  • 版本(package.json):1.2.0,许可证 MIT
  • 一句话:DeepSeek Harness 插件——只保留你选中的全局面板在左侧边栏,其余面板折叠进侧边栏的 More 菜单。

插件无独立 Host 业务能力、无第三方依赖,通过公开扩展点操作 @deepseek-ai/dsh-client-ui-sidebar。

核心功能

偏好开关

设置 → 侧边栏面板(Settings → Sidebar panels)为每个已注册的全局面板提供一行开关:

  1. 打开 → 侧边栏保留该面板的启动器行(界面文案:Shown in the sidebar)
  2. 关闭 → 隐藏启动器行,面板出现在侧边栏 More 中;点击后照常打开面板(Folded into More)

Plugins 入口始终保留在侧边栏,属于 Shell 自身,不受折叠规则影响。

默认策略

尚未保存用户偏好时:

  • 保留:Context Insights、Agents
  • 其余已注册面板:折叠进 More

设置页提供 Restore defaults,可恢复上述出厂默认。

行为边界(README Limits)

  • 折叠只影响启动器行;面板主体、主面板注册、快捷键、当前选中项不变;折叠的面板随时可从 More 打开。
  • 偏好按用户存储,不按 profile 或 workspace 区分。
  • 若未来 Harness 改动侧边栏 nav / aria-label 结构,折叠用的 CSS 规则可能失效,启动器行会重新显示,其余功能不受影响;大版本升级后建议复查本插件。

环境与依赖

  • DeepSeek Harness 0.2.2-rc.1 或更高(侧边栏 More 菜单与设置页分区依赖该版本能力)。
  • 需在 Web GUI(dsh web 或桌面应用)中使用;bundle 的 dsh.client.platform 为 web。

安装与启用

从本机 checkout 目录安装,安装后即启用,对当前 profile 下所有会话生效。

命令行(路径替换为你的绝对路径):

plugin_manager install_bundle  target = /absolute/path/to/dsh-sidebar-panel-fold

图形界面:Plugins → Add plugin,选择该目录并启用。

卸载:同一页面卸载,或:

plugin_manager remove_bundle @lisongjianustc/dsh-sidebar-panel-fold

卸载会移除全部折叠规则与设置页,不改动其他配置。

安装前请自行查看仓库源码与 MIT 许可证;插件在 DSH 进程权限下运行,与装任何社区插件一样,应先确认来源与代码范围。

典型用法

  1. 打开 Settings(侧边栏底部账户菜单 → Settings)→ Sidebar panels。
  2. 按需拨动各面板开关,侧边栏即时更新;被折叠项出现在 More 中。
  3. 需要时点击 Restore defaults 恢复默认保留 Context Insights 与 Agents 的策略。

选择会在应用重启、Web GUI 端口变更、浏览器 profile 变更后保留。

偏好文件与 API

偏好写在:

$DSH_HOME/plugin-state/sidebar-panel-fold/visible-panels.json

默认路径示例:~/.dsh/plugin-state/sidebar-panel-fold/visible-panels.json

内容格式:

{ "visible": ["dsh-context", "agents"] }

visible 数组列出仍显示在侧边栏的 panel id;未列出的已注册面板一律折叠。未安装的面板 id 会被忽略。删除该文件即回退到默认策略。

Host 半通过同源路由 /sidebar-panel-fold/api/state(GET/POST JSON)读写上述状态;不注册工具、不持有会话状态。

实现要点(供排查与二次开发)

纯 JavaScript,无构建步骤。主要文件:index.js(Host:偏好文件与 state 路由)、client.js(浏览器:折叠规则、More 菜单行、设置页)、locale/*.json、cordis.patch.yml。

客户端使用的扩展点(摘自 README):

  1. sidebar.panellist — 读取各面板 id、顺序、标签;对折叠项注入样式隐藏对应启动器行(按无障碍名称匹配标签);面板注册/标签变更/语言切换时重算规则。
  2. sidebar.panellist.actions — 在 More 中列出折叠面板,onOpen(id) 打开面板,onDismiss() 关闭菜单。
  3. settings.section + settings.section.icon — 设置页与导航图标。

修改 Host 半后需在插件管理器中禁用再启用 bundle 以重新加载模块;修改浏览器半后刷新页面即可。

适用谁

适合长期在 Web GUI 中装多个侧栏面板插件、希望固定保留少数常用入口(其余从 More 进)的开发者。不适合指望按 workspace 保存不同侧栏布局的场景——当前设计是单用户全局偏好。

社区插件目录 SkillHub 与 DeepSeek / 幻方无官方从属关系;DSH 生态是「一切皆插件」,本插件是客户端侧栏收纳类小工具之一。

结尾

经过上面的步骤,你可以在不动各面板功能的前提下,把侧栏收成「常用行 + More」。仓库与说明:https://github.com/lisongjianustc/dsh-sidebar-panel-fold;目录页:https://www.skillhub.cn/plugins/lisongjianustc/dsh-sidebar-panel-fold。

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

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

小夜