dsh-theme-neo-brutalist:为 DSH Web 界面换上 Neo-Brutalist 硬边主题

前言

DeepSeek Harness(DSH)的 Web 界面默认走偏中性的浅色/深色设计。若你长期在浏览器或桌面端里跑 agent、盯设置与工具卡,有时希望外壳一眼可辨、结构感更强,又不想把对话区的字号、行宽和排版搅乱。社区插件 dsh-theme-neo-brutalist(维护者 Jimxinfang,GitHub:Jimxinfang/dsh-theme-neo-brutalist)做的是纯展示层换装:参考 StyleKit 的 Neo-Brutalist 规范,只改外壳与控件视觉,阅读区保持相对安静。下面介绍它是什么、能做什么,以及如何安装与切换。

这是什么

dsh-theme-neo-brutalist 是面向 DSH Web GUI 的主题 bundle 插件,分类属于社区目录里的「趣味换装」(theme)。它在 npm 上的包名为 dsh-theme-neo-brutalist,当前资料中的版本为 0.1.0,许可证 MIT,零外部依赖(不加载网络字体、图片、音频)。

插件兼容 DSH Web 0.2.1 线(README 写明在 0.2.1-rc.3 上完成端到端验证)。它是纯展示插件:不注册任何模型可见的工具,不影响 agent 行为。安装后会在 Host 启动时参与插件清单扫描;换主题本身可即时生效,新增插件仍需重启一次 dsh web 或桌面应用。

核心功能

两套主题与出厂恢复

设置里提供两套可切换主题:

  • 白纸 BRUTAL:纯白底、黑框、酸绿主色。
  • 黑板 BRUTAL:纯黑底、白框、荧光信号色。

首次安装加载时,会按当前明暗自动套用对应版本,之后记住选择。不需要主题时,在 设置 → 通用 → Neo-Brutalist 主题 点 出厂外观,可完全恢复 DSH 内置的浅色/深色/跟随系统;之后再选内置外观,插件不会抢回主题。

偏好写在浏览器 localStorage 的 dsh-theme-neo-brutalist.preference;主题通过 DSH 官方 ctx.theme 服务注册与切换。

视觉与结构约定

README 归纳的 neo-brutalist 结构包括:

  • 4px 硬边、8px 无模糊偏移阴影、零圆角、150ms ease-out 硬切。
  • 侧栏与输入区顶部有 45° 酸绿/黑警示斜纹;发送键按下有「物理压碎」效果(位移并压平阴影)。
  • StyleKit 信号色:酸绿 #ccff00、荧光粉 #ff006e、电蓝 #00d9ff、橙 #ff9500,纯黑/纯白做结构。

阅读区策略是只给外壳、输入区、弹层、工具卡、Goal 条、代码块加硬边,不改对话排版、字号、行宽,不做全局渐变或模糊。

可访问性与生命周期

资料中写明:正文对比度 ≥ 7:1、链接 ≥ 4.5:1、主按钮 ≥ 4.5:1(test/theme.test.mjs 自动校验);键盘焦点 3px 荧光粉描边;遵循 prefers-reduced-motion。主题注册、样式表、body 标记、监听器挂在插件生命周期上,禁用或卸载即恢复原样。

已知边界

DSH 聊天气泡、Markdown 根节点、工具卡内部等使用 CSS-module 哈希类名;主题只改稳定语义 hook 和设计 token,气泡圆角等细节仍由 DSH 自身决定。头像、状态点等圆形未强制改成方形;按钮、输入、弹层、卡片一律零圆角。

安装与启用

安装前建议自行查看仓库源码与 LICENSE。插件随当前 dsh 进程与 Web profile 运行,权限与宿主一致。

从 npm 安装(推荐)

dsh plugin --profile web add dsh-theme-neo-brutalist@0.1.0

装完重启对应的 dsh web 或桌面应用。npm 包与 GitHub Release 包内容一致,插件市场「发现」索引也会识别 npm 版本。

从 GitHub Release 安装(备选)

dsh plugin --profile web add https://github.com/Jimxinfang/dsh-theme-neo-brutalist/releases/download/v0.1.0/dsh-theme-neo-brutalist-0.1.0.tgz

同样需要在装完后重启 dsh web 或桌面应用。

本地目录与压缩包(开发或固定版本)

在插件目录内可用 ./scripts/install-local.sh 安装到 Web profile;桌面端先完全退出应用,再 ./scripts/install-local.sh desktop。也可:

dsh plugin --profile web add /absolute/path/to/dsh-theme-neo-brutalist

或 npm pack 后:

dsh plugin --profile web add ./dsh-theme-neo-brutalist-0.1.0.tgz

Host 只在启动时扫描浏览器插件清单,新增插件需重启一次;之后换主题即时生效。

典型用法

  1. 打开 设置 → 通用,滚动到 Neo-Brutalist 主题。
  2. 点 白纸 BRUTAL 或 黑板 BRUTAL。选择立即生效并跨重启保留。
  3. 点 出厂外观 恢复 DSH 内置外观。

卸载命令:

dsh plugin --profile web remove dsh-theme-neo-brutalist

卸载或热禁用会移除主题注册、样式和 body[data-dsh-neo-brutalist] 标记。

适用场景与注意

适合已经在用 DSH Web 0.2.1 线、希望界面更「硬边、高对比、零圆角」、又需要一键回到默认皮肤的开发者。不适合指望改遍所有 CSS-module 内部细节的场景——README 已说明刻意不碰那些结构。

社区插件目录在独立站点 skillhub.cn 与 awesome-dsh-plugin 生态中收录,与 DeepSeek / 幻方无官方从属关系,安装来源以你信任的 npm、Release 或本地路径为准。

结尾

dsh-theme-neo-brutalist 把 DSH Web 外壳收成 Neo-Brutalist 的纸墨配色、硬规则与偏移阴影,并在设置里提供白纸/黑板切换与出厂恢复。若要进一步核对实现与验证结果,可看仓库中的 DESIGN.md、docs/VERIFICATION.md(README 提到 39/39 hard assertions 通过)。

  • 目录页:https://www.skillhub.cn/plugins/Jimxinfang/dsh-theme-neo-brutalist
  • GitHub:https://github.com/Jimxinfang/dsh-theme-neo-brutalist
羽毛球分组比赛记分
小程序二维码

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

Xiaoye