dsh-starry-sky-theme:为 DSH Web 界面提供深空星空主题

前言

在 DeepSeek Harness(DSH)里长时间使用 Web 界面时,默认浅色/深色切换往往只改配色,背景仍偏「平面」。若你希望界面统一为深空观感,并在内容层背后有缓慢闪烁的星点与淡淡星座线,又不想改核心代码或依赖额外 npm 包,可以用社区主题插件在 Client 侧叠加 token 与全屏 overlay。下面介绍维护者 Nektropy 发布的 dsh-starry-sky-theme:面向 DSH Web UI 的「仅深色」星空主题,关闭插件即可在同一轮热更新里撤掉配色与星空。

这是什么

dsh-starry-sky-theme 是 DeepSeek Harness 的主题类插件:深空色板、确定性生成的闪烁星场,以及四组 faint 星座折线与发光锚点,绘制在界面背后的同一层天空中。浅色与深色外观设置都会被解析为夜间天空——插件启用时 Client 会把外观偏好固定在 dark,在 Settings → Appearance 里选 Light 会被改回 Dark。包版本为 1.0.0,许可证 MIT,要求 Harness Web UI >= 0.2.1-rc.2;除 Harness 已提供的 react 外无额外依赖。

社区目录页:skillhub.cn 上的 Starry Sky 主题。源码与说明:GitHub — Nektropy/dsh-starry-sky-theme。目录站点为独立社区索引,与 DeepSeek / 幻方无官方从属关系。

核心功能

外观与配色

  • 一套天空覆盖两种外观设置:Light 与 Dark 都解析为夜空;Client 将外观偏好钉在 dark,启用插件期间在设置里选 Light 会被纠正回 Dark。
  • 深空色板:海军蓝—紫罗兰表面、月光色文字、星辉蓝强调色,通过 alias-token 层叠在当前主题之上;禁用插件时该层与 overlay 一并移除。

视觉层与交互

  • 星座图形:四条淡淡的星图折线,锚点星带光晕,与闪烁星点同层绘制。
  • 尽量不打扰操作:星空放在 frame 级、可穿透点击的 overlay 上(pointer-events: none),不抢指针、不引发布局偏移,并尊重 prefers-reduced-motion(减弱动效时关闭闪烁动画)。

可逆性

禁用或卸载插件后,在同一 HMR 流程内去掉配色层与星空,并停止固定外观;无需为 Client 半端单独重启进程。

安装与启用

插件以当前 dsh 进程权限运行;安装前建议阅读仓库源码与 MIT 许可证,确认符合你的环境策略。

方式一:插件市场(上架后)

Settings → Plugins → Plugin Market → Themes,选择 Starry Sky。

方式二:直接装入 profile

将包加入指定 profile(将 <profile> 换成你的 profile 名):

dsh plugin --profile <profile> add dsh-starry-sky-theme

然后刷新页面。Client 半端会立即生效,一般不需要为插件单独重启 Harness。

典型用法

  1. 安装并刷新后,打开 Settings → Appearance:插件会保持外观为 Dark;界面里仍能看到 Light 选项,但在插件启用期间会弹回 Dark。
  2. 若需要恢复可长期停留在 Light 的行为,在 Settings → Plugins 中禁用该插件(或移除安装)。注意:禁用前若已固定在 dark,保存的偏好会仍是 dark,直到你再次手动修改外观。
  3. 若只想关掉星空与深空配色、恢复原先主题色板,禁用插件即可,原 palette 会马上回来。

实现要点(便于排查)

Client 模块注册三件事(均不修改 session、不读其他插件样式、不操作组件外的 DOM):

  1. theme.overrideTokens('<package id>', tokens):alias-token 层,浅色/深色方案均使用同一套 dark 值,dispose 时移除。
  2. 监听 theme/change,当解析结果为 light 时调用 theme.setTheme('dark')。
  3. slots.register('shell.overlay', ...):在最上层列之上渲染穿透式天空层;星点由带种子的 PRNG 确定性生成,星座线为固定百分比坐标,闪烁由 CSS keyframes 驱动(在 reduced motion 下关闭)。

适用场景与注意

  • 适合:日常在 DSH Web UI 中工作、希望统一深空视觉、接受「启用即固定 Dark」的开发者或使用者。
  • 不适合:必须在同一 Harness 实例里长期使用系统 Light 主题且不想禁用插件的场景——此时应关闭插件后再改外观。
  • 兼容性:仅 Web UI;engines.dsh 为 >= 0.2.1-rc.2。
  • 安全与信任:与所有 DSH 插件一样,代码在 Harness 进程内执行;安装前请自行审查 GitHub 仓库。

结尾

dsh-starry-sky-theme 用 token 覆盖与 shell.overlay 在不大改布局的前提下提供深空配色与可关闭的星空背景,并以固定 Dark 保证 Light/Dark 设置下视觉一致。需要试用或查看更新时,可访问 社区目录页 与 GitHub 仓库。

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

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

小夜