前言¶
DeepSeek Harness(DSH)Web 主界面自带主题 token 体系,换肤通常要么改少量变量、要么依赖外部背景图与字体。若你希望整页统一成暗红深空观感,又不想引入第三方图片或内嵌字体,就需要在 cordis 插件里同时处理配色叠层、背景下发和 overlay 动画。dsh-theme-redshift(赤色观测站 / Redshift Observatory)走的就是这条路:114 个 --dsw-* token 全量重映射、程序化背景、撕裂层 HUD,且声明全部内容由代码生成。下文按能力、安装与注意点说明;事实以仓库 README 与 package.json 为准。插件为社区第三方作品,非 DSH 官方;目录见 SkillHub 插件页,源码见 GitHub,维护者为 ywxtxws,分类为趣味换装。
这是什么¶
dsh-theme-redshift 是一套面向 DeepSeek Harness Web 的主题插件:暗红基底、引力透镜场景、虚空撕裂光带、观测站 HUD 与右上角常驻观测窗。当前 package 版本为 0.3.0,许可 MIT,基于 DSH 0.2.x 的 cordis 插件体系开发(engines.node >= 20)。Host 侧只增加一条只读静态路由,客户端通过 bundle 注入运行,不注册额外 Service。
核心功能¶
配色:114 个 token 全量重映射¶
插件不是改几处 accent,而是用 Theme.listTokens 返回的真实名,把 ctx.theme 暴露的 114 个 --dsw-* token 全部重映射为赤色体系(DARK / LIGHT 两套值),整层可撤销。bg-base 设为半透明以便背景场景透出。实现上使用 overrideTokens 叠层,不注册新主题再 setTheme 抢占用户偏好;写不存在的 token 名不会报错,也不会生效。
背景:程序化深空场景¶
背景图 assets/scene.jpg(2560×1440)由仓库脚本 tools/make-scene.py 从零绘制(依赖 numpy + Pillow,无网络、无外部素材),绘制流程包括径向渐变、星云层、尘埃带、引力透镜黑洞与吸积盘、地平线与小行星剪影、星点与暗角等。Host 在 lib/index.js 提供只读路由 /redshift/scene.jpg 下发图片,不塞进客户端脚本。
撕裂层:光带、HUD 与观测窗¶
在 shell.overlay 槽位挂载 React 组件,卸载时从槽位移除,不向 document.body 追加节点。README 中列出的元素包括:4 条互质周期的虚空撕裂光带、29 秒一轮的引力波下扫、46 颗星尘、双密度网格、SVG feTurbulence 噪点、四角 HUD 与底部刻度、32 列竖排字符流、周期性过载效果,以及右上角 112×150 的纯 CSS 观测窗与右下角状态呼吸灯(用于确认插件是否在跑)。
品牌文案¶
侧栏徽记与名称、hero 区标题会重映射为「观测中枢 / OBSERVATORY CORE」。多语言字符串在 locale/zh.json(「赤色观测站」)与 locale/en.json(”Redshift Observatory”)。
安装与启用¶
插件以当前 DSH 进程权限运行,安装前应自行审阅源码与 MIT 许可证。以下命令均来自仓库 README。
打包安装¶
在插件目录执行打包,再交给 web profile 安装:
npm pack
dsh plugin --profile web add ./dsh-theme-redshift-0.3.0.tgz
本地 link(开发)¶
将插件目录放到本机绝对路径后:
dsh plugin --profile web add link:/绝对路径/dsh-theme-redshift
README 亦给出「clone 仓库再 link」的写法;若你已有源码目录,只需 link 路径即可。
手动放进 profile¶
- 将整个目录复制到
~/.dsh/profiles/web/node_modules/dsh-theme-redshift/ - 在该 profile 的
package.json中增加依赖与 bundle 条目,例如:
{
"dependencies": { "dsh-theme-redshift": "link:/绝对路径/dsh-theme-redshift" },
"dsh": { "profile": { "bundles": [ "...", "dsh-theme-redshift" ] } }
}
- 重启 DSH,再刷新页面。
说明:client.js 会打进 client bundle 并缓存在 Host 内存;改客户端逻辑后必须重启 DSH,仅刷新页面不够。背景图路由带 no-cache,改图后刷新即可。
典型用法与配置¶
配色、光带周期、HUD 文案等可直接修改 lib/client.js 顶部的常量。需要重新生成背景时,在仓库内运行 tools/make-scene.py(仍为零外部素材流程),再按上述重启/刷新规则生效。
主要文件分工:
lib/index.js Host:/redshift/scene.jpg 只读路由
lib/client.js 浏览器:配色 + 背景 + 撕裂层 + HUD + 观测窗
assets/scene.jpg 背景场景(程序化生成)
cordis.patch.yml bundle 补丁
适用场景与注意¶
适合在 DSH 0.2.x Web 端长期开界面、希望统一深空赤色视觉且不接受第三方图片/字体依赖的场景。插件只做 client 半侧与一个静态路由,冲突面 README 描述为较小,但会覆盖 DSH 的 114 个主题 token——若同时安装其他主题类插件,后加载的会覆盖先加载的 token 叠层。
已知限制:观测窗固定在右上角(right: 22px; top: 20px),窄屏可能与其他悬浮元素重叠。字体使用系统默认等宽/无衬线,不内嵌字体文件。
结尾¶
dsh-theme-redshift 把主题 token、程序化背景与 overlay 动画收进一个零外部素材的 bundle,适合作为 DSH Web 的趣味换装选项自行试用。目录与说明:SkillHub — ywxtxws/dsh-theme-redshift;源码与截图:github.com/ywxtxws/dsh-theme-redshift。