dsh-sidebar-tidy:DSH 侧栏收纳插件

前言

DeepSeek Harness (DSH) 采用插件化架构,侧栏通常会加载大量面板图标(插件、自动化任务、上下文洞察等)。默认布局下,这些图标会占据固定高度,导致「工作区」(会话列表)被挤压,视觉重心下移。

dsh-sidebar-tidy 插件通过收纳面板图标至侧栏底部的可折叠入口,将「新会话」置于顶部,「工作区」居中显示,从而恢复侧栏的整洁与核心功能的可见性。

核心功能

  • 收纳与布局:将面板图标收进侧栏底部的折叠入口,让新会话置顶、工作区居中。
  • 交互方式:提供三种展开方式(悬停展开、悬停「更多」、点击展开),支持键盘操作。
  • 状态指示:折叠状态下,若被隐藏的面板处于选中状态,入口图标右上角会显示指示点。
  • 定制化:支持在设置中逐个开关入口,将其移出折叠区或保留在折叠区内。
  • 兼容性:跟随 DSH 语言与原生主题样式。

安装与启用

本插件通过手动链接方式安装。请将仓库放置在本地目录,并执行以下步骤:

  1. 放置仓库:将插件源码放置到任意目录,例如 ~/dsh-plugins/dsh-sidebar-tidy。
  2. 链接到 node_modules:
    • Windows:
        mklink /J "%USERPROFILE%\.dsh\profiles\desktop\node_modules\dsh-sidebar-tidy" "C:\path\to\dsh-sidebar-tidy"
*   macOS / Linux:
        ln -s ~/dsh-plugins/dsh-sidebar-tidy ~/.dsh/profiles/desktop/node_modules/dsh-sidebar-tidy
  1. 配置 package.json:
    在 ~/.dsh/profiles/<profile>/package.json 中添加依赖和 bundle:
    {
      "dependencies": {
        "dsh-sidebar-tidy": "link:<源码目录>"
      },
      "dsh.profile.bundles": [
        "dsh-sidebar-tidy"
      ]
    }
  1. 生效:刷新页面即可生效(desktop profile 通常无需重启;若环境特殊,可重启 DSH)。

使用方法

安装完成后,进入 DSH 的设置页面。

  1. 切换展开方式:
    在「侧栏收纳」设置项中,选择交互模式:
    • 悬停展开(默认):鼠标移入「⋯ 更多」行即展开,移开后约 220ms 收起。
    • 悬停「更多」:只有指针靠近「更多」文字或图标时才展开,扫过行内其他位置不展开。
    • 点击展开:点击该行切换展开/收起状态,支持「记住展开状态」。
  2. 管理折叠区内容:
    在同一设置页下方,可以查看当前所有面板图标。逐个开关右侧的按钮,可以将对应的入口移出折叠区,使其回到新会话下方、工作区上方,不再参与折叠。

技术实现与限制

  • 依赖机制:插件利用 CSS order 属性调整 DOM 元素顺序,使用 display: contents 拆解图标组的外壳,从而实现逐行排序与折叠。
  • 兼容范围:仅处理 sidebar.panellist 面板图标,不影响设置行等其它侧栏元素。
  • 潜在风险:依赖 display: contents,若上游 DSH 为面板组添加了新建包含块或裁剪相关的样式(如 transform、filter、overflow),移出功能可能失效。
  • 清理机制:卸载时会自动移除插入的样式表、事件监听与 localStorage 键。

结语

dsh-sidebar-tidy 是一个轻量级工具,旨在解决 DSH 侧栏图标过多导致工作区拥挤的问题。通过折叠非核心面板,它帮助开发者保持界面整洁,聚焦于会话与上下文管理。

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

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

小夜