dsh-workspace-resizer
Manifest validDraggable splitter between the sidebar panel list and the workspace region, so the session list can grow. Double-click restores the default layout.
dsh-workspace-resizer
给 DeepSeek Harness 侧边栏加一条可拖动分隔条,夹在「全局面板导航」(插件 / 插件市场 / 自动化任务 / …)和「工作区」会话区之间。
为什么需要
侧边栏是一列 flex 布局:导航 flex: none 且自身不滚动,工作区 flex: 1 吃掉剩下的全部高度。窗口不高时,七八行导航会把高度占满,工作区只剩两三百像素,会话列表必须滚动才能看全。原先没有调整手段——要腾地方只能改窗口大小,或者去「更多」里逐个取消固定导航项。
用法
- 拖动 分隔条:向上拖 → 导航变矮、内部自己滚动,工作区立刻拿到省下来的高度;向下拖 → 导航变高。
- 双击 分隔条恢复默认布局。
- 键盘:分隔条聚焦后
↑/↓微调(Shift加大步长),Home或0恢复默认。
拖动结果存在浏览器 localStorage(键 dsh.workspace-resizer.navHeight),重启沿用。默认不动布局——装好之后什么都不变,直到你第一次拖动。
在「插件」面板里的显示
侧边栏点「插件」进插件管理页,这个插件会以一张卡片出现,卡片上写的名字和一句话说明来自 locale/*.json:
| 字段 | 中文 | English |
|---|---|---|
| 标题 | 工作区分隔条 | Workspace splitter |
| 说明 | 上拖细线,让工作区会话列表变高 | Drag the line above it to grow the workspace list |
| 图标 | icon.svg | — |
面板读的是 package.json 的 icon 字段与 locale/<语言>.json 里的 meta.title / meta.description(见 @deepseek-ai/dsh-app-boot 的 readPluginMeta),缺失时回退到包名 + package.json 的 description。说明在卡片上只显示一行并截断,所以文案刻意压短。
改了源码之后
pnpm 把这个 file: 依赖按硬链接铺进 profile,改动源文件会换掉 inode,装好的那份不会跟着变。改完要同步一次:
bash C:/Users/siyin/Documents/deepseek-harness/default-workspace/_test/sync-plugin.sh
同步后重启应用(宿主每次列插件都会重读这些元数据,但客户端脚本要重新加载才生效)。
实现
lib/client.js,纯客户端;宿主半 lib/index.js 是空插件。
- 不依赖任何构建期 hash 的 class 名(
.wtg9ga_*之类跨版本会变)。定位靠结构特征:flex 列容器里那个带多个按钮的<nav>,紧邻的兄弟是overflow: hidden+flex-grow: 1的工作区容器。找不到就静默不做事。 - 只改
nav的 inlinemax-height/overflow-y,工作区靠原有flex: 1自动变大——不碰 React 管理的节点结构,不插入新节点(分隔条挂在body上,position: fixed跟着导航底边)。 - DOM 变化只做一次廉价的连通性检查,重新定位交给
ResizeObserver/resize,避免聊天流式输出时每帧强制排版。
已知限制
- 侧边栏收起成图标条时,分隔条自动隐藏。
- 工作区至少保留 132px、导航至少保留 34px,超出范围会被夹住。
- 依赖侧边栏当前的结构(
<nav>+flex:1的工作区容器)。DSH 大版本改了侧边栏结构的话,插件会静默失效而不是报错。
Comments
Loading…
From the same category
by anywhere-labs
为 DeepSeek Harness (DSH) 插件生态打造的现代化桌面端解决方案。万物皆「插件」,桌面本身也是「插件」。
★ 34.6k
↓ 96/wk
MIT
TypeScript
Nov 2, 2026
dsh plugin --profile web add dsh-plugin-desktopby zhu1090093659
DeepSeek Harness (DSH) Web Plugin Aggregation Ecosystem · Everything is a plugin, distributed via the Creative Workshop
★ 10k
↓ 89/wk
Apache-2.0
TypeScript
Nov 3, 2026
dsh plugin --profile web add dsh-webA collection of independent Web UI plugins and skins, including task boards, Git graphs, mobile access, and live token stats.
★ 8.6k
↓ 89/wk
Apache-2.0
TypeScript
dsh plugin --profile web add dsh-webby PC2005-cloud
DSH 桌面宠物:一行命令装好即用的透明动画小桌宠,支持多开、大小位置随心配置;还内置 DIY 素材链,能用 AI 视频自造专属宠物
★ 5.4k
↓ 23.7k/wk
MIT
TypeScript
Nov 3, 2026
dsh plugin --profile web add dsh-petby omdsh-dev
开放的侧边栏底座,支持三方拓展注册新侧边栏页面。内置文件渲染编辑/终端/侧边对话/Git/子代理页面 | Open sidebar foundation, supports third-party extensions to register new sidebar pages. Built-in file rendering/editing, terminal, side chat, Git,
★ 4.8k
↓ 46.8k/wk
MIT
TypeScript
Oct 30, 2026
dsh plugin --profile web add dsh-better-sidebarby bowenliang123
The best DeepSeek Harness plugin for context insight and management, with context dashboard / browser / sidebar and context command, for context statistics, composition, breakdown, evolution details,
★ 4k
↓ 41.2k/wk
Apache-2.0
TypeScript
Nov 2, 2026
dsh plugin --profile web add dsh-context