前言¶
在 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)为每个已注册的全局面板提供一行开关:
- 打开 → 侧边栏保留该面板的启动器行(界面文案:Shown in the sidebar)
- 关闭 → 隐藏启动器行,面板出现在侧边栏 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 进程权限下运行,与装任何社区插件一样,应先确认来源与代码范围。
典型用法¶
- 打开 Settings(侧边栏底部账户菜单 → Settings)→ Sidebar panels。
- 按需拨动各面板开关,侧边栏即时更新;被折叠项出现在 More 中。
- 需要时点击 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):
sidebar.panellist— 读取各面板 id、顺序、标签;对折叠项注入样式隐藏对应启动器行(按无障碍名称匹配标签);面板注册/标签变更/语言切换时重算规则。sidebar.panellist.actions— 在 More 中列出折叠面板,onOpen(id)打开面板,onDismiss()关闭菜单。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。