dsh-ui-optimize:为 DSH 整套界面提供独立开关的主题与侧栏优化

前言

DeepSeek Harness(DSH)的界面会随宿主版本迭代;多数插件只改某块屏幕或某段逻辑,很少从「整套壳层」上统一调色、收纳侧栏或补上桌面端常用操作。若你希望在不改布局结构的前提下换一套配色、把左侧一长串面板收成一个入口,或在桌面客户端侧栏底部直接刷新界面或重启应用,@moonsand/dsh-ui-optimize 把这类能力做成彼此独立的开关,在 Settings → UI Optimize 里逐项打开。下面介绍它做什么、如何安装与使用,以及和同类插件并存时的注意点。

这是什么

@moonsand/dsh-ui-optimize 由维护者 MoonSand 发布,npm 包名为 @moonsand/dsh-ui-optimize(当前资料中的版本为 0.9.31,许可证 MIT)。定位是:一组开关,用于调节 DSH 整体观感与行为——每个开关单独生效,并随宿主能力增长继续增加。社区目录归类为「趣味换装」;GitHub 仓库:https://github.com/MoonSand/dsh-ui-optimize。

配色只通过 ctx.theme.overrideTokens 写入一层主题变量,不注入结构性 CSS,也不读取其他插件的 DOM;上游改版最坏情况是颜色不生效,而不会把布局弄乱。

核心功能

主题画廊

内置八套极简主题:Celadon、Linen、Cream、Graphite、Indigo、Slate、Sage、Rose。点选卡片即可为整套界面换色;选 Default 恢复默认外观。每套主题同时为浅色与深色各定义一套色板,与 Appearance 切换联动,无需再单独选「浅色版 / 深色版」主题。

主题选择保存在浏览器 localStorage 中,清除站点数据或浏览器配置文件后会丢失。

侧栏面板收纳

打开对应开关后,左侧栏多行面板入口会收成单行 Panels;点击后打开双列启动器,展示面板图标、标题与数量;面板超过七个时出现搜索框。支持键盘:↑ / ↓ 移动,Enter 打开,Esc 关闭。实现上调用宿主自带的 panel 选择 API,而非模拟点击;折叠行在挂载后与每次 resize 会做测量,若无法测量则开关自行关闭并恢复原生侧栏。

More 行保持原生单行显示(折叠 More 的尝试因宿主溢出菜单需可信点击等原因未采用)。启动器中的面板顺序与宿主一致,不提供排序、置顶或重排。后续注册的面板(含其他插件注册的)在下次打开启动器时会被纳入列表。

侧栏底部的 Reload / Restart(仅桌面应用)

两个开关控制侧栏底部的按钮行为:

  • Reload UI:仅重载页面与客户端插件,Host 与运行中的任务继续。仅桌面应用可用;浏览器壳(如 fnOS)自带刷新入口,该开关在此环境下保持关闭且无法打开。
  • Restart app:重启整个应用(含 Host),会中断当前对话。仅桌面应用可用;浏览器会话无法重启底层进程。

在浏览器中上述两个开关均不可用,侧栏底部也不会渲染这两颗按钮。

安装与启用

资料中的安装方式为:在 DSH GUI 插件管理器中安装 @moonsand/dsh-ui-optimize。依赖要求:

engines.dsh >= 0.2.1-rc.3

插件在当前 DSH 进程权限下运行;安装前请自行查看仓库源码与 MIT 许可证。社区插件目录为独立站点,与 DeepSeek / 幻方无官方从属关系,并非官方应用商店。

典型用法

  1. 在 GUI 插件管理器中安装 @moonsand/dsh-ui-optimize,确认宿主版本满足 >= 0.2.1-rc.3。
  2. 打开 Settings → UI Optimize。
  3. 在 Themes 区域选择一套主题,或选 Default 还原;按需切换 Appearance 验证深浅色是否一致跟随。
  4. 若侧栏面板较多,打开侧栏收纳开关,通过 Panels 启动器切换面板。
  5. 若使用 DSH 桌面客户端,可按需打开 Reload UI 或 Restart app(知晓重启会中断对话)。

适用场景与注意

适合长期使用 DSH、希望统一换肤或精简左侧栏的开发者;桌面端用户若需要不退出宿主即可刷新界面或整应用重启,可使用底部按钮相关开关。

务必注意:

  • 侧栏收纳与社区插件 dsh-sidebar-shelf 会改写同一条侧栏轨道,两者只启用其一。
  • Reload / Restart 为桌面应用专属;浏览器环境开关禁用。
  • Restart 属于进程级操作,无法被自动化测试完整验证。

维护者在仓库中提供组装契约层面的冒烟测试(不校验配色观感或启动器是否可打开):

node scripts/smoke.mjs

结尾

@moonsand/dsh-ui-optimize 把主题、侧栏收纳与桌面端刷新/重启收成独立开关,面向的是整套 DSH 界面而非单屏补丁。目录页:https://www.skillhub.cn/plugins/MoonSand/dsh-ui-optimize;源码与说明:https://github.com/MoonSand/dsh-ui-optimize。

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

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

小夜