前言¶
在 DeepSeek Harness(dsh)里长时间盯会话界面,默认主题往往偏「工具感」:信息清晰,但缺少和「任务正在跑」这一状态绑定的视觉反馈。社区里已有不少主题类插件,多数只改配色或 token,不会在 shell 层做与 running 状态联动的动画。
下面介绍 maintainer undefineken 发布的 dsh-theme-matrix-glass(GitHub:undefineken/dsh-theme-matrix-glass,社区目录分类为「趣味换装」)。它在全屏 overlay 上绘制仅含 0/1 的黑客帝国式数字雨,并用 theme.overrideTokens() 叠一层磨砂玻璃 token;数字只在会话报告任务运行时才生成,停跑后不再 spawn,已有列落出画面后清空画布,空闲时不占动画成本。
这是什么¶
dsh-theme-matrix-glass 是 dsh 的 主题插件(package 版本 1.0.1,许可证 MIT)。Host 侧 index.js intentionally 为空,行为全部在浏览器 client.js 完成:注册主题 id matrix-glass、在 shell.overlay 挂 canvas、在插件管理页 plugins.bundle.config 提供配置卡。插件 不会 调用 setTheme(),磨砂与数字雨叠在用户当前已选的浅色 / 深色 / 系统外观之上。
核心功能¶
与任务运行状态联动的数字雨¶
数字列是否 spawn,取决于会话快照里的 running 字段(byId[sessionId].running,优先 当前会话)。配置里可将「运行判定范围」改为 任意会话。任务停止后停止生成;已在屏幕上的列继续下落,直到 y - tail·lineHeight 越过底边,随后 clearRect 并取消 requestAnimationFrame 循环。
二进制字形与视觉参数¶
字形只有 0 和 1,列内闪烁由整数 hash 决定,无每帧随机分配。默认数字不透明度 0.10(可调 0.02–0.28);列头更亮,尾部按 pow(1 - i/tail, 1.7) 渐暗。下落速度默认 160 px/s(40–400),列密度默认 50%(15%–100%),字形大小默认 15 px(10–24),数字辉光可开关。
浅色与深色使用不同墨水:canvas 在深色下 mix-blend-mode: screen,浅色下 multiply,并通过 body[data-ds-dark-theme] 与 MutationObserver 实时跟随外观切换,使同一档不透明度在两种模式下观感接近。
磨砂玻璃 token 层¶
通过 theme.overrideTokens() 覆盖 bg-layer-1、bg-layer-2、bg-overlay、specific-sidebar-fill、边框与品牌 / 标签类 token;文档中的 --dsw-menu-backdrop-filter 若当前 dsh 线存在则一并设置,否则跳过其余仍生效。面板不透明度默认 0.68(0.45–0.92),与数字不透明度独立;可选 Matrix 深色调 调色。
性能与无障碍¶
动画约 30 fps,标签页隐藏时暂停;在 prefers-reduced-motion 下减少列数与下落速度。插件无 shell 访问、无网络请求、无工具注册、不写 session 数据。
安装与启用¶
插件市场(社区目录独立于 DeepSeek / 幻方,非官方应用商店):设置 → 插件 → 插件市场 → 主题(Themes),安装 dsh-theme-matrix-glass。
从 GitHub 仓库安装:
dsh plugin --profile desktop add github:undefineken/dsh-theme-matrix-glass
npm 发布后可用:
dsh plugin --profile desktop add dsh-theme-matrix-glass
本地目录:在 Plugin Manager 安装器指向含 package.json 的文件夹。安装后 重新加载页面,以便浏览器半区加载。
卸载:设置 → 插件 → 本插件 → 关闭或卸载。样式、token 层、插槽注册、动画循环与监听器均在 ctx.effect 内注册,卸载会一并移除;不会改写你的外观偏好。
典型用法¶
- 按上文任一方式安装并 reload。
- 打开本插件在 Plugin Manager 的配置卡(
plugins.bundle.config),按需调整:
- 二进制数字雨、磨砂玻璃面板开关;
- 数字不透明度、面板不透明度、下落速度、列密度、字形大小、辉光;
- 运行判定范围(仅当前会话 / 任意会话);
- Matrix 深色调。 - 配置持久化在
localStorage键dsh-theme-matrix-glass:v1。 - 想在不跑真实任务时预览效果,可点配置卡上的 试跑 6 秒;需要还原默认值用 恢复默认。配置卡底部有 live 状态行:
running时提示数字在下落,空闲时提示数字已离开屏幕。
适用场景与注意¶
适合希望在 dsh 桌面 profile 里保留可读性的同时,用轻量 overlay 表达「有任务在跑」的开发者。数字雨在 shell.overlay(pointer-events: none,z-index: -1),低 alpha 配合 blend mode,避免明显压暗正文。
安装前请自行查看仓库源码与 MIT 许可证。dsh 插件以 当前 dsh 进程权限 运行;本插件 README 明确无 shell、无网络,但仍建议只从可信来源安装。若你使用的 dsh 版本未提供 theme 或 sessions 等 client 注入服务,README 维护说明指出 apply 可能整条不执行——以你环境里的 dsh-client 能力为准。
结尾¶
dsh-theme-matrix-glass 把 Matrix 式 0/1 数字雨 与 磨砂玻璃 token 绑在任务运行状态上,并提供 Plugin Manager 内的完整旋钮与试跑按钮。目录页:https://www.skillhub.cn/plugins/undefineken/dsh-theme-matrix-glass;源码与 README:https://github.com/undefineken/dsh-theme-matrix-glass。