READMESource: main@74f1a3a2
dsh-simplify-panel · DSH 简化面板
把 DeepSeek Harness Web 左侧栏里过多的全局面板收进一个可展开、可配置的分组里,把空间还给「工作区」和会话列表。
安装后侧栏从 10 行变成 4 行,工作区整体上移约 200px。
效果
| 默认 | 安装后 | |
|---|---|---|
| 侧栏面板行数 | 10 行 | 4 行(配置菜单 / 插件 / 插件市场 / 智能体) |
| 面板区高度 | 416px | 188px |
| 工作区起始位置 | y=512 | y=310 |
点「配置菜单」会在原位展开被收起的面板,再点收起;展开列表末尾的「配置…」可以逐项勾选哪些面板常驻在外、哪些默认收起,选择保存在 localStorage,刷新后保持。
安装
本仓库是一个 DSH bundle 包(dsh.bundle.patch 指向 cordis.patch.yml),通过 plugin_manager 安装:
plugin_manager install_bundle target=<本仓库绝对路径>
也可以把本目录链接进 profile 的 node_modules 后在 profile package.json 的 bundles 列表里追加 @local/sidebar-compact。
安装或更新后刷新 Web 页面生效。
卸载
plugin_manager set_bundle target=@local/sidebar-compact enabled:false
或 remove_bundle 彻底移除。
文件
client.js— 全部逻辑:注入样式、注册「配置菜单」入口、用 MutationObserver 维护就地展开列表与配置区。index.js— Host 侧占位(渲染全在 Client)。cordis.patch.yml— bundle 补丁,插入本插件。package.json— 包清单,dsh.client.inject声明依赖的三个客户端包。
自定义
- 改默认常驻项:
client.js里的DEFAULT_OUTSIDE(默认['插件', '插件市场', '智能体'])。 - 改分组入口文案:
TOGGLE_LABEL(默认配置菜单)。 - 想收纳更多/更少面板:
DEFAULT_OUTSIDE之外的面板默认都会被收起,无需改数组。 - 清空已保存的选择:浏览器控制台执行
localStorage.removeItem('dsh.sidebarCompact.outside')。
实现要点(踩过的坑)
ctx.slots.register(...)必须包在ctx.slots.inject('<slotName>', () => …)里,裸调会让 cordis fiber 永远停在 LOADING,整站白屏并报web boot: 1 entry did not activate。- 不要复用已注册面板的 id 去覆盖条目,会触发
list slot "sidebar.panellist" already has an entry with id ...冲突,并连带卡住其他插件。 package.json的dsh.client.inject必须显式声明用到的客户端包(dsh-client-ui-sidebar/dsh-client-ui-layout/dsh-client-locale),只写immediately同样会白屏。- 隐藏规则要用后代选择器:部分面板(如「更多」)包在
span.wtg9ga_moreAnchor里,不是nav的直接子元素。 - 依赖的
wtg9ga_*是 DSH Web 的 CSS Module 哈希类名,上游改版后需要同步。
兼容性
在 DeepSeek Harness Web(@deepseek-ai/dsh-web-app 0.2.2-rc.1 时代)实测通过。因为依赖 wtg9ga_panelList 等哈希类名,DSH 升级后若侧栏样式重构可能失效,届时按上面的「实现要点」第 5 条对齐类名即可。
License
MIT
No comments yet. Be the first to write one.