中文EN

dsh-theme-mbcc-console

themenpmMIT

无期迷途 MBCC 档案风 DSH 主题:深浅两套色板、开屏动画、余额胶囊与设置面板。

下载量 / Downloads
497

安装

dsh plugin --profile web add dsh-theme-mbcc-console

沙箱测试

这个插件还没测过。提交测试 →

README

dsh-theme-mbcc-console

MBCC 控制台风格的 DSH 主题:近黑终端 + 纸质档案两种色板,同一支档案红。

视觉规则来自本仓库的《无期迷途美术风格复刻指南》——冷形式 × 热内容。

  • 121 个 token,全部 { light, dark } 成对;
  • v0.2:窗口/面板直角、MBCC 文件水印、新会话按钮警戒线暗纹、文案改为「MBCC事项」;
  • v0.3:左侧工作区用「红色刻度接缝 + 投影」与主区硬分隔;
  • v0.46:MBCC事项的图标移进居中内容组(不再把文字挤偏),文字 15px、图标 17px;
  • v0.45:MBCC事项按钮的 ⊕ 换成切角括号准星图标(currentColor,跟随强调色/悬停);
  • v0.44:四个动效:发送扫描线、新消息落位、会话红规生长、窗口失焦待机;
  • v0.43:彩蛋触发时,局长→shp-13、欢迎→??;
  • v0.42:去掉开屏收尾的切片故障;新增彩蛋(7% 概率某行开屏文字变乱码);
  • v0.40:只保留主题切换的柔光过渡,强调色改为即时切换;
  • v0.39:切换主题/强调色加一层柔光过渡(200ms 盖住 → 换 → 200ms 淡出);「亮色主题」改为「暗色|亮色」分段选择;
  • v0.38:左上角红光、标题栏/侧栏发丝线、代码块左规、侧栏虚线接缝全部改为跟随强调色;
  • v0.37:设置新增「亮色主题」与「强调色」(红/青/蓝/橙/白,浅色下白自动转黑),强调色通过 token 层切换;
  • v0.36:内置「字魂创中圆」作为可选界面字体(5MB,内嵌),设置里可切回默认;标题不受影响;
  • v0.35:侧栏故障改为黑白灰的随机错层切片(2–3 条、±2–5px、300ms),去掉青/红色散;
  • v0.34:回退为静态红光,压到左上角一块 30vh/260px 高的范围;动画版移除;
  • v0.33:红色呼吸层收进对话区左上角(42%×38vh 的有限区域),不再压到输入框;
  • v0.32:左侧暗红改为独立的呼吸/火焰伪元素(11s 不规则闪烁 + 微缩放),受「故障动效」开关控制;
  • v0.31:对话区左侧 1/3 加一层 10%→透明的暗红渐变(空白页同样生效);
  • v0.30:MBCC事项按钮重做(细描边 / 顶光 / 斜纹更密),hover 时斜纹滑动 + 高光扫过 + 红边发光;
  • v0.29:低余额预警改为 1–100 的滑块 + 数字输入,改动即时刷新胶囊状态;
  • v0.28:故障动效放慢并加一条下扫亮线(180→900ms,金额色散 240→620ms,标题 780→1400ms,开屏 200→480ms);
  • v0.27:设置面板新增「故障动效」总开关(信号层 / 标题入场 / 金额色散 / 开屏收尾一并受控);
  • v0.26:故障信号层只覆盖左侧工作区列(按侧栏矩形定位,每次触发重算);
  • v0.25:加入低频故障动效(信号层 / 余额数字色散 / 空白页标题切片 / 开屏收尾错位);改前备份在 backup/;
  • v0.24:点击左上角徽标呼出主题设置面板(开屏/底纹/余额胶囊/阈值/重播);
  • v0.23:余额胶囊支持点击展开(可用/赠送/币种/更新时间),余额 < 5 时整颗红色慢闪;
  • v0.22:标题栏中央加余额胶囊(灵动岛式),数据走 remote.account.getBalance,60s 轮询;
  • v0.21:分组分隔改为单条 2px 粗线(会话线改到上沿,杜绝叠线);工作区图标换成切角档案夹 + 红方角标;
  • v0.20:锁版加 3px 光学补偿(padding-right: 6px),抵消右侧文字偏重的观感;
  • v0.19:去掉 logoRow 的 4px 左内边距,锁版改用 grid 居中(实测中心偏差 ≤2px);
  • v0.18:侧栏锁版加宽到与下方按钮同宽,徽标 32px、文字 15.5px;
  • v0.16:侧栏徽标放大到 28px,文字改为 MBCC AI TERMINAL;
  • v0.15:空白页标题改全大写;侧栏品牌换成「徽标 + MINOS」(隐藏 deepseek wordmark 与 HARNESS 构建标);
  • v0.14:空白页标题改为「左徽标 + 右机构名」,替换掉原来的 logo + 探索未至之境 + 预览版;
  • v0.13:空白页去掉网格(只留纯底色),去掉输入框上沿的红线;
  • v0.12:徽标只在有对话的页面显示,空白页(hero)只保留网格;
  • v0.11:徽标图层提到网格之上;对话区底部加渐隐遮罩,彻底切断输入框的残留;
  • v0.10:composer 改为完全不透明(--dsw-specific-menu 去掉 alpha),彻底切断徽标透出;
  • v0.9:恢复对话区居中徽标;把 composer 卡片改成不透明,避免徽标从输入框透出来;
  • v0.8:撤掉对话区徽标水印(半透明输入框会把它切成半截),只保留开屏徽标;
  • v0.7:接入 MBCC 徽标(对话区居中水印 + 开屏徽标 + 副标题);左栏分组分隔改为单条粗线;
  • v0.6:开屏改为垂直居中、字号 13px;左侧工作区栏改成「档案索引」行式(发丝分隔线 / 暗红选中条 / 分组标题 / 侧栏扫描线);
  • v0.5:终端自检式开屏动画(逐行打印 / 状态闪烁 / 红线绘制 / 3s 后淡出,可点击跳过);
  • v0.4:修正底纹挂载点(对话区有自己的不透明底色,必须挂在 [data-phase] 这层),改为 24px 网格 + 扫描线;
  • 零圆角、1px 描边、纸色主文字;
  • 红色只做信号:主操作、焦点环、选中、危险;占比 ≤ 8%;
  • 额外质感(颗粒 / 选中色 / 输入区角标 / 代码块红规)走一张小样式表。

v0.2 改了什么

需求 · 做法 · 位置

窗口四角直角 · centerCol 的 16px 圆角来自 .frame 自己声明的 --dsh-windows-content-radius,body 级 token 覆盖不到 → 在同元素上用 !important 归零,并清掉 centerCol 的 radius · client.js CSS

MBCC 文件水印 · centerCol 的 background-image 贴一张 440×440 的 SVG(MBCC / MINOS BUREAU / FILE NO.019 + 菱形),深色纸 5%、浅色墨 5.5% · client.js CSS

新会话警戒线 · button[class*='_newSession'] 叠 45° 红色斜纹(!important 防 hover 的 background 简写清掉),左侧 2px 红规;收起成 36px 轨道时关闭 · client.js CSS

文案「MBCC事项」 · 隐藏 _newSessionLabel 原文,:not([class*='Mask'])::after 输出新文案;React 重渲染不会还原 · client.js CSS

补充元素 · centerCol 四角 L 形 HUD 角标(16px,alpha .16/.18)、标题栏下沿红发丝线 · client.js CSS

文案替换是纯 CSS 伪元素:无障碍树里的 aria-label 仍是「新会话」,折叠态 tooltip 也仍是原文。
要做到彻底,需要改 locale 或加 MutationObserver,属于后续可选项。
屏幕最外层那圈圆角是 Windows 11 的 DWM 画的(Electron 窗口),CSS 改不到;
主题能保证的是应用内所有面板、对话框、内容区都是直角。

v0.15 标题大写 + 侧栏品牌

  • 空白页标题:MINOS BUREAU OF CRISIS CONTROL(22px,字距 .1em);
  • 侧栏品牌来自 sidebar.brand.mark/name 两个 slot + 构建标(HARNESS)。整体隐藏,

换成 20px 徽标 + MINOS(Georgia,字距 .16em)。完整机构名在 200px 宽的侧栏放不下,

按约定用短名;收起成轨道时只留徽标。

v0.14 空白页标题重做

原结构(HeroShell):

.headline
├─ fishHitbox   ← DSH 鱼形 logo
└─ titleGroup
   ├─ span       ← "探索未至之境"
   └─ previewBadge ← "预览版"

纯 CSS 替换,不动 React:

  • .headline > * 全部 display:none;
  • ::before 画 46px 徽标(深色用纸色版、浅色用墨色版);
  • ::after 输出 Minos Bureau of Crisis Control(Georgia 26px,字距 .045em)。

v0.13 空白页:无网格、无红线

  • 空白页(hero)不再铺网格,也不画徽标:纯底色,输入框卡片是完整的一块,不会被网格切出"半张格子";
  • 有对话的页面保留网格 + 徽标,底部 22% 渐隐,输入框一带本来就是纯色;
  • 删掉 composer 上沿的红发丝线与左上角 HUD 角标。

v0.12 空白页不再显示徽标

空白页的 composer 在页面中部,底部的渐隐遮罩够不到它,所以徽标还是透进了输入框。

最终方案:按 phase 区分。

页面 · 背景

[data-phase='hero'](空白/新建会话) · 只有 24px 网格 + 扫描线,无徽标

[data-phase='active'](有对话) · 徽标 + 副标题 + 网格 + 底部 22% 渐隐遮罩

这样空白页干净,有对话时才有徽标,且输入框一带被遮罩压成纯色。

v0.11 图层顺序 + 底部渐隐

两处调整:

1. 徽标压在网格之上:background-image 顺序改为

底部遮罩 → 徽标 → 副标题 → 横网格 → 竖网格 → 扫描线(CSS 里越靠前越在上层)。

2. 底部渐隐遮罩:linear-gradient(to top, bg-base 0 22%, transparent 36%) 作为最上层,

把对话区底部 22% 的背景(徽标、网格)压成纯底色。输入框即使半透明,

后面也是这层纯色,不会再透出半个徽标。

这层不依赖选中 composer 内部节点,overlay 渲染也管用。

v0.10 输入框彻底不透明(token 方案,保留)

v0.9 用 [data-conversation-region='composer'] [class*='_root'] 没生效:

composer 是 renderSlotChain(..., { overlay: true }) 渲染的,卡片不在那个子树里。

卡片自己的 CSS 是 background: var(--dsw-specific-menu),而该 token 原本带 90% alpha。

直接把 token 改成完全不透明:

token · 旧 · 新

--dsw-specific-menu(深) · #0C0C12E6 · #0C0C12

--dsw-specific-menu(浅) · #F5F0E6F0 · #F5F0E6

副作用:同一个 token 还用于两个 composer 弹层(slash / @ 面板),它们也一并不透明了——与主题一致。

v0.9 徽标保留在对话区,输入框不透明(已回滚)

v0.8 直接撤掉徽标是过度修正。真正的问题是 composer 卡片半透明 + backdrop-filter,

把背后的徽标透出来、再被卡片边缘切掉。现在:

  • 徽标与副标题恢复为对话区背景(center 46%,min(38vh,320px));
  • [data-conversation-region='composer'] [class*='_root'] 的底色改为不透明

--dsw-alias-bg-base 并关闭 backdrop-filter,输入框内不再透出任何背景图案;

  • 对话区的网格与扫描线不受影响。

v0.8 为什么撤掉对话区徽标(已回滚)

输入框(composer)是半透明 + backdrop-filter,徽标作为对话区背景会从输入框后面透出来,

被卡片边缘切掉一半,看起来像"残缺的标志"。处理方式:

  • 对话区背景只保留扫描线 + 24px 网格;
  • 徽标只出现在开屏(不透明背景,不会被切);
  • assets/emblem-wm-*.webp 仍然留在包里,想恢复时把两层 url() 加回 [data-phase] 规则即可。

v0.7 徽标与水印

项 · 做法

素材处理 · 原图是黑线稿 + 透明通道;

…(truncated)

以上内容来自 npm 上的 README,我们只做格式化,不改内容。

版本

npm 上共发布:2,最后更新 2026-10-26

链接

GitHub · Homepage · npm

同类插件