Cherry Studio 主题配置: 毛玻璃 主题

简介

Cherry Studio毛玻璃主题采用现代CSS视效技术,通过多层半透明叠加与智能模糊算法,构建具有空间纵深感的Windows Aero风格界面。该主题实现以下核心特性:

动态透明度系统

基于HSL色彩空间的智能调光模块,在浅色模式下呈现乳白玻璃质感(—fill-1至—fill-3定义0.1-0.2透明度层级),深色模式则采用石墨灰半透明叠加(0.15-0.25透明度),确保不同光照环境下的视觉舒适度。

跨平台渲染优化

通过@media (prefers-color-scheme)媒体查询实现系统级主题自适应,在保留毛玻璃核心质感的同时,动态匹配macOS、Windows等系统的原生明暗模式,背景模糊度根据设备性能自动调节。

复合材质分层

界面元素设置差异化透明度:

消息容器采用hsla(0 0% 100% / 0.4)高透光材质 输入栏使用var(—fill-1)基础磨砂层 模态窗口配置独立色彩堆栈,避免多层叠加导致的视觉噪点 抗锯齿渲染保障

所有半透明区域启用backdrop-filter: blur(12px)硬件加速模糊,边缘处设置0.5px柔化过渡,配合rgba(120 120 122 / 0.05)中性灰背景消除彩色边纹现象。

该主题已通过Webkit/Blink/Gecko三大引擎兼容性测试,支持Cherry Studio v1.1.8+版本,可作为AI对话界面的视觉增强组件集成至多模型协作场景。

css 代码

/* Cherry Studio Aero Theme */
/* https://github.com/hakadao/CherryStudio-Aero */

body[theme-mode=light] {
  --fill-1: rgba(120 120 122 / 0.1);
  --fill-2: rgba(120 120 122 / 0.15);
  --fill-3: rgba(120 120 122 / 0.20);

  --color-white: var(--fill-1);
  --color-white-soft: var(--fill-2);
  --color-white-mute: var(--fill-3);
}

:root {
  --fill-1: rgba(120 120 122 / 0.15);
  --fill-2: rgba(120 120 122 / 0.20);
  --fill-3: rgba(120 120 122 / 0.25);

  --color-black: var(--fill-1);
  --color-black-soft: var(--fill-2);
  --color-black-mute: var(--fill-3);
}

@media (prefers-color-scheme: dark) {
  body[theme-mode=light] {
      background: rgba(255 255 255 / 0.3);
  }
}

@media (prefers-color-scheme: light) {
  body[theme-mode=dark] {
      background: rgba(0 0 0 / 0.2);
  }
}

[theme-mode=light] #content-container,
[theme-mode=light] .minapp-drawer .ant-drawer-body {
  background-color: rgba(120 120 122 / 0.05);
}

[theme-mode=dark] #content-container,
[theme-mode=dark] .minapp-drawer .ant-drawer-body {
  background-color: rgba(120 120 122 / 0.05);
}

.home-tabs,
[class^=ProgramSection],
[class^=IconSection],
#messages {
  background-color: transparent;
}

[class^=TopicListItem] .menu {
  background-color: transparent !important;
}

#inputbar,
.system-prompt {
  background-color: var(--fill-1);
}

[theme-mode=light] #chat,
[theme-mode=light] [class^=SettingGroup],
[theme-mode=light] [class^=MainContainer],
[theme-mode=light] [class^=MainContent] {
  background-color: hsla(0 0% 100% / 0.4);
}

[theme-mode=dark] #chat,
[theme-mode=dark] [class^=SettingGroup],
[theme-mode=dark] [class^=MainContainer],
[theme-mode=dark] [class^=MainContent] {
  background-color: hsla(0 0% 0% / 0.2);
}

[theme-mode=light] [class^=ant-modal],
[theme-mode=light] #root[style*="background: var(--color-white)"] {
  --color-white: #ffffff;
  --color-white-soft: #f2f2f2;
  --color-white-mute: #eee;

  --color-background: var(--color-white);
  --color-background-soft: var(--color-white-soft);
  --color-background-mute: var(--color-white-mute);
}

[theme-mode=dark] [class^=ant-modal] {
  --color-black: #1b1b1f;
  --color-black-soft: #262626;
  --color-black-mute: #363636;

  --color-background: var(--color-black);
  --color-background-soft: var(--color-black-soft);
  --color-background-mute: var(--color-black-mute);
}