DSH Plugins Marketplace

DSH Plugins

Plugins

/

dsh-sidebar-fold-zxp

z

dsh-sidebar-fold-zxp

Discovered

把 DSH 左侧那排插件入口折成一行「插件列表」,按组归类、自定义顺序,把高度还给工作区与会话列表。

dsh-sidebar-fold-zxp

把 DSH 左侧那排插件入口折起来、按组归类、按你定的顺序排,把高度还给工作区与会话列表。

装上之后左栏大致是这样:

▾ 插件列表                 ← 点一下,下面全部收起

▾ 日常  2
│   打开工作台(任务 / 日历 / 知识库 / 点子)
│   插件市场
▾ 开发  2
│   任务看板
│   自动化任务
▸ 统计与记忆  2            ← 收起状态,箭头朝右

(「更多」这类外壳自己的入口会被隐藏)

为什么需要它

DSH 的 sidebar.panellist 是一个列表槽:每装一个带入口的插件就多一行,每行约 46px。装到七八个之后,光这排入口就吃掉三分之一的高度,下面的工作区/会话列表被压得只剩一点。

外壳对这批入口没有任何折叠或溢出逻辑——panels.map() 有几个排几个,也没有「隐藏他人」的接口。所以只能由插件自己做。

怎么用

侧栏:点「插件列表」收起整块;点某个组标题收起/展开那个组。

设置 → 插件列表:

  • 新建分组、改名、删除、调整组顺序
  • 把条目拖到别的组,或拖到某一行前面换位置
  • 也可以用下拉框和 ↑ ↓ 精确调整(键盘更顺手)
  • 每行还有一个三态选择:跟随折叠(默认,折叠时一起收起)/ 折叠时仍显示(折叠后它还在)/ 始终隐藏(一直不出现)

它是怎么做到的

外壳用 React 渲染那些行,所以:

  • 排序用 CSS order,不移动 DOM 节点——移动会被下一次渲染复原;
  • 隐藏用内联 display,不用 hidden 属性——行上的类设了 display: flex,会盖掉浏览器对 [hidden] 的默认样式;
  • 组标题是本插件自己创建的节点,插进外壳的 nav 里;外壳重渲染把它冲掉时,观察者会补回来;
  • 点组标题在捕获阶段拦截并 stopPropagation,否则外壳会拿本插件的 id 去 selectPanel,而它没有对应的面板;
  • 折叠状态先存本地再往宿主保存——保存失败不该让一次点击看起来毫无反应。

配置存在 ~/.dsh/dsh-sidebar-fold-zxp/settings.json(分组与顺序),折叠状态和设置页的交互状态存在当前页面。

接口

宿主侧只有三个:

GET  /api/dsh-sidebar-fold-zxp/settings       读配置
PUT  /api/dsh-sidebar-fold-zxp/settings       写配置(原子写)
GET  /api/dsh-sidebar-fold-zxp/plan?entryIds= 按当前条目算布局

排序规则全部在 src/plan.js 与 src/edits.js 里,是纯函数,node --test 覆盖(40 项)。

边界与已知限制

  • 需要 DSH ≥ 0.2.1-rc.1。
  • 改完代码要彻底退出桌面端再打开,只刷新页面不够:客户端插件按 ?rev=<文件元数据哈希> 加载,响应头是 immutable(缓存一年),桌面端会一直吃旧缓存。
  • 它只动自己之外的兄弟行的样式,不改任何插件的注册、图标或点击行为;卸载时把改过的行原样还回去。
  • 如果 DSH 换了左栏的 DOM 结构(行不再是 nav > button),折叠会失效——失效方式是「什么都不做」,不会弄坏界面。

许可

MIT

Comments

Loading…

Similar plugins

dsh-sidebar-manager

by zuojinxin

让 DSH 的扩展入口和视图标签支持折叠、排序、隐藏。Collapse, reorder and hide the DSH sidebar extensions and the conversation view tabs.

UI & ExperienceDevelopment & InfrastructureManifest valid

★ 5

↓ 857/wk

MIT

JavaScript

Oct 26, 2026

dsh plugin --profile web add dsh-sidebar-manager

by Alail691

把 DSH 侧栏的「插件」整体收进设置:在「设置 → 插件」里新增一个「插件管理」标签页,内嵌官方插件面板的全部能力(浏览 / 安装 / 开关 / 卸载)。Bring the sidebar's Plugins page into Settings as a tab, embedding the official plugin manager.

Terminal & ClientsManifest valid

★ 0

MIT

JavaScript

Oct 16, 2026

dsh plugin --profile web add dsh-plugins-in-settings

by AsakuraAOI

DSH 待办清单:左侧导航、Agent 工具与可置顶的独立窗口。

Terminal & ClientsManifest valid

★ 0

MIT

JavaScript

Oct 18, 2026

dsh plugin --profile web add dsh-todo

by imshz6669

DSH 插件:把任意会话作为完整对话开进右侧栏,主区 + 右栏可同时对话(最多 3 个)。DSH plugin: open any session as a full chat tab in the right sidebar.

Sessions & MessagesManifest valid

★ 0

MIT

JavaScript

Oct 26, 2026

dsh plugin --profile web add dsh-split-chat

by lumine-423

让你可以从侧边栏拖拽会话,使其成为一个独立窗口,省得来回切换会话的插件!

UI & ExperienceDevelopment & InfrastructureManifest valid

★ 5

NOASSERTION

JavaScript

Oct 20, 2026

dsh plugin --profile web add dsh-session-popout

by jipika

DSH 插件中心(本地改版):插件管理/市场额外提升为设置窗口左侧导航的独立分栏(settings.section#plugin-console),原「设置 → 插件」tab 保留。基于上游 0.3.63。

Development & InfrastructureManifest valid

★ 0

MIT

JavaScript

Sep 27, 2026

dsh plugin --profile web add @noob-stupid/dsh-plugin-console