dsh-rail-zero:清零 DSH 左侧栏收起后的 56px 空轨道

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 重新应用样式,并加入了防循环机制。

三级展开控制,绝不重复

插件提供展开按钮,并根据环境自动选择最佳实现,避免与现有按钮冲突:

  1. 优先复用 dsh-qol:如果安装了 dsh-qol,插件会自动检测并使用其顶栏常驻汉堡按钮(.astb-sidebar-toggle),本插件自身的按钮会隐藏。
  2. 使用官方按钮:如果没有安装 dsh-qol,则使用 DSH 官方的侧边栏 Toggle 按钮。
  3. 兜底按钮:如果既没有 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 源码,安装即用,卸载即还原。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye