DeepSeek Harness (DSH) 的左侧会话栏在收起时,其宽度逻辑写死在 @deepseek-ai/dsh-client-ui-layout 的 AppFrame 中。在 macOS 上,收起后宽度为 0;但在 Windows/Linux 上,收起后始终保留 56px 的空轨道,挤占对话区的可用空间。dsh-rail-zero 是一个用于修复这一问题的浏览器端补丁插件。
这是什么¶
该插件由 HelloQingTao 维护,属于“趣味换装”类别。它通过纯浏览器端的 CSS/DOM 操作,将这条 56px 的空轨道清零,把空间还给对话区。插件不修改 DSH 的任何源码或 Bundle 文件,也不依赖任何宿主 API 或 Peer 依赖。
核心功能¶
只改写首段 grid-template-columns
插件只改写左侧栏容器内联样式的首段 grid-template-columns,使用 !important 覆盖原有内联样式,右侧面板的轨道不受影响。为了对抗 React 的重渲染,插件内部使用 MutationObserver 重新应用样式,并加入了防循环机制。
三级展开控制,绝不重复
插件提供展开按钮,并根据环境自动选择最佳实现,避免与现有按钮冲突:
- 优先复用 dsh-qol:如果安装了
dsh-qol,插件会自动检测并使用其顶栏常驻汉堡按钮(.astb-sidebar-toggle),本插件自身的按钮会隐藏。 - 使用官方按钮:如果没有安装
dsh-qol,则使用 DSH 官方的侧边栏 Toggle 按钮。 - 兜底按钮:如果既没有
dsh-qol也没有官方按钮,左上角会出现一枚 26px 的浮点按钮「»」作为最后的展开手段。
零依赖与纯浏览器端
插件不 require 任何宿主模块,避免了 client-modules 的版本漂移问题,完全运行在浏览器端。
安装与启用¶
在终端执行以下命令安装:
dsh plugin --profile web add dsh-rail-zero
安装完成后,重启 dsh web 即可生效。卸载该插件会完全还原原始状态。
适用场景与注意¶
该插件适合希望在 Windows/Linux 环境下最大化利用 DSH 对话区宽度的开发者。
- 平台差异:仅 macOS 完全隐藏侧边栏轨道;在 Windows/Linux 上,收起后轨道宽度为 0,但视觉上会留出空间。
- 共存性:与
dsh-qol、dsh-better-sidebar、dsh-sidebar-qa可以共存,不会产生冲突。
总结¶
对于追求界面整洁、希望最大化对话区宽度的 DSH 用户,dsh-rail-zero 提供了一个轻量级的解决方案。它不侵入 DSH 源码,安装即用,卸载即还原。
- 插件目录:SkillHub 目录页
- 源码地址:GitHub