- Startseite
- Plugins
- UI-Erweiterungen
- dsh-quad-layout
dsh-quad-layout
lmmcsb/dsh-quad-layout
Four-column layout: split the DSH left sidebar into a 56px icon rail plus a full-height workspace column, and keep the icon rail visible when the sidebar is collapsed.
Installation
dsh plugin --profile web add github:lmmcsb/dsh-quad-layoutREADME
dsh-quad-layout
Four-column layout for DeepSeek Harness: split the left sidebar into a 56px icon rail plus a full-height workspace column.
把 DSH 左侧栏拆成「图标轨 + 工作区列」两段,形成四栏布局:
┌────┬─────────────┬──────────────────┬──────────┐
│icon│ workspace │ main chat │ right │
│rail│ /sessions │ │ panel │
└────┴─────────────┴──────────────────┴──────────┘
What it solves / 解决什么问题
The built-in sidebar stacks the panel icons and the workspace session list vertically inside one 264–420px column, so session titles get squeezed down to a few characters. This plugin turns that column sideways: 56px of icons on the left, the whole column height left for the session list.
On Windows desktop the built-in sidebar also sets display: none on the icon list when collapsed, leaving only two small buttons in the title bar — the panels become unreachable. This plugin keeps the 56px icon rail in the collapsed state and keeps the expand button at the top of the rail.
原生侧栏把「面板图标」和「工作区会话列表」上下堆在同一个 264–420px 的列里,会话标题被挤到只剩几个字。本插件把这个列横过来:左边 56px 只放图标,右边整列高度都给会话列表。另外,原生在 Windows 桌面端折叠侧栏时会把图标列表整个 display:none,只剩两个贴在标题栏的小按钮,没法再从图标进入面板;本插件让折叠态保留 56px 图标轨,并在轨道顶部保留展开按钮。
Install / 安装
dsh plugin --profile <profile> add dsh-quad-layout@https://github.com/lmmcsb/dsh-quad-layout/releases/latest/download/dsh-quad-layout.tgz
Or straight from the repository source (no build step, no allowBuilds approval needed):
dsh plugin --profile <profile> add github:lmmcsb/dsh-quad-layout
Replace <profile> with your profile name (desktop for the desktop app). Restart the DSH desktop app once after installing: the host snapshots its boot injection list at process start, so a freshly installed client plugin only reaches the page after a restart. (After the restart <script src="dsh-app://app/plugins/dsh-quad-layout/client.js?rev=..."> shows up and the CSS is injected automatically.)
装完需要重启一次 DSH 桌面 App 才会生效:桌面端在 host 进程启动那一刻把注入清单(boot injections)快照下来,之后页面刷新拿到的都是这份快照,所以新装的客户端插件必须重启才进页面。
How it works / 实现方式
One injected stylesheet. No host code changes, no slot registration, no React tree takeover:
- Targets the built-in class prefixes: sidebar
.wtg9ga_*, frame.mP3x-q_*. .wtg9ga_rootgoes fromflex-direction: columnto a two-column grid: 56px on the left (logo / new session / panel list / footer),minmax(0,1fr)on the right for the workspace at full column height.- Panel items keep only a 38×38 icon in the 56px column; the name floats out on hover via
::after { content: attr(aria-label) }(the built-in UI renders text and icon into the DOM and then hides the text, so readingaria-labelis the cheapest path). - Collapsed state (
[data-sidebar-collapsed]) widens the frame's first grid column from 0 back to 56px and undoes the three built-indisplay: nonerules. - Every colour comes from
--dsw-*theme tokens, so light and dark themes both follow. All failures are fail-open: if injection fails the UI falls back to the native layout.
Layout / 目录
dsh-quad-layout/
├── cordis.patch.yml # inserts this package into the profile's loader list
├── package.json # dsh.bundle.patch + dsh.client (platform: web)
├── lib/
│ ├── index.js # host half: empty placeholder so the patch resolves
│ └── client.js # client half: injects the CSS
└── README.md
Known limits / 已知边界
- Sidebar width is still controlled by the built-in drag handle (264–420px). The workspace column is that width minus 56px.
- The CSS depends on the built-in class prefixes
wtg9ga_/mP3x-q_. If a DSH upgrade renames them the plugin silently stops applying and the native layout returns — it never breaks functionality. - Sidebar width is not persisted (the built-in behaviour does not persist it either; a reload returns to the default 280).
License
MIT
Ähnliche Plugins
dsh-web (dsh-task-board)
zhu1090093659/dsh-web
dsh-web (dsh-web-all)
zhu1090093659/dsh-web
dsh-TUI
ccch1mneyyy/dsh-tui
dsh-web-ui (dsh-task-board)
zhu1090093659/dsh-web-ui