前言¶
DSH(DeepSeek Harness)的 dsh-claude-style 主题界面样式由上游模块控制,只留了一个对话字号钩子。想调整侧栏字号、顶部导航字号、背景图或透明度,没有原生入口。dsh-fonttune 曾尝试统一调整界面字号与行高,但最终退役,因为那些 ladder token 只被对话区的 widget 消费,对侧栏无效。
dsh-bg-studio 插件通过原生设置分区,直接对侧栏 CSS module 选择器下手,为 dsh-claude-style 主题增加背景图、内容透明度、侧栏与顶部导航字号、顶部导航独立折叠等功能。
插件定位¶
这是一个 DSH 插件,维护者为 yomo1024,分类为「趣味换装」。它为 dsh-claude-style 主题提供一个原生设置分区,用于调整背景图、透明度、多处字号与导航折叠状态。所有配置走 DSH 自身的 settings.section 插槽,界面语言随主题走,不修改上游 CSS 文件。
核心功能¶
插件提供以下设置项:
- 背景图:任意图片,存入
localStorage,转成 webp 后内联为 CSS 变量 - 内容透明度:0 – 100,让底色透出背后的图
- 标题字号:9 – 24 px,对话区标题
- 元信息字号:8 – 20 px,对话区次要文字
- 时间戳字号:8 – 20 px,消息时间
- 侧栏字号:8 – 20 px,左侧栏整体
- 顶部导航字号:11 – 22 px,顶部导航列
- 顶部导航折叠:开 / 关,独立开关,收起面板列表,文件树与新会话按钮不受影响
设置入口为:设置 → 背景与字号。
顶部导航折叠实现¶
原生侧栏只能整条收成 36px 宽的图标 rail(._2H3hWW_collapsed),收起后文件树也消失。本插件只切 panelList 这一层——它是原生 DOM 边界,把「导航项」和「新会话 / 文件树」隔开。没有走纯 CSS(无法点击切换),也没有修改 React 树,而是往 panelList 前面插入一个兄弟 <button>。MutationObserver(120ms 节流)会检测侧栏重渲染并补回按钮。折叠状态记在 localStorage 的 dsh-bg-studio:nav-collapsed,刷新后保持。
安装与启用¶
cd <你的 DSH profile 目录>
pnpm add dsh-bg-studio
然后在 profile 的 package.json 里把它加进 dsh.profile.bundles:
"bundles": [
"...",
"dsh-bg-studio"
]
重启 DSH。
本地开发¶
"dependencies": {
"dsh-bg-studio": "link:E:/path/to/dsh-bg-studio"
}
使用 link: 指向源码目录后,改完源码立刻生效,不用再手动复制,也不会被 pnpm install 当成野包清掉。
兼容性¶
- DSH
>= 0.2.1-rc.2 - 依赖
dsh-claude-style主题的背景层
侧栏的字号与折叠依靠 [class*="_panelList"] 这类哈希类名匹配。DSH 上游如果重命名这套 CSS module,需要跟着改插件里的选择器。
适用场景与注意¶
适合希望在 dsh-claude-style 主题中自定义背景、透明度与多处字号的 DSH 用户。插件以当前 DSH 进程权限运行,安装前建议检查源码与许可证。
结尾¶
通过原生设置分区,dsh-bg-studio 为 dsh-claude-style 主题提供了背景图、透明度、侧栏与顶部导航字号、顶部导航折叠等调整能力,不依赖上游 CSS 修改。更多信息可参考插件目录页或 GitHub 仓库。