DarkskyX15/dsh-client-ui-m3-theme ↗★ 0
dsh-client-ui-m3-theme
Material 3 theme plugin for DeepSeek Harness: full M3 token mapping (light/dark palettes with per-mode chroma) + settings panel with primary color picker, presets and preview
安装
此插件尚未提供可验证的 bundle,或兼容性检查未通过。请先阅读仓库说明。 阅读完整 README ↗
说明文档
阅读完整 README ↗dsh-client-ui-m3-theme
Material 3 主题插件(DeepSeek Harness 双面包):把整套前端 color token 按 Material 3 色调体系从单一主色推导出来,亮色/暗色模式各自成板,并提供一个设置页面板用于选色。
功能
- 约 65 个可见
--dsw-*color token 全量映射(表面 / 描边 / 文字 / 品牌 / 按钮 / 交互态 / Markdown / 滚动条 / 状态色 / 组件专项 / Toast / Tooltip)。 - 亮色与暗色模式使用各自色板:
- 暗色中性面 / 描边 chroma 略高(表面层次感,M3 dark scheme 惯例);
- 暗色主色板提 chroma(补偿暗背景下的饱和感损失);
- tooltip 为恒定反向表面(气泡文字为静态白),两种模式背景均取深色;
- 文字五级层级(primary → secondary → tertiary → caption → dimmed)与官方明度梯级对齐。
- 设置面板「M3 主题」:自定义主要色、预设色板、效果预览、一键恢复原主题。
- 持久化:
- 浏览器端选择存
localStorage(键dsh.m3-theme.primary,即时生效、跨标签页同步); settings.yaml的m3-theme命名空间(Host 半边注册)作为启动配置来源, Host 启动时注入window.__DSH_M3_THEME_PRIMARY__。
- 浏览器端选择存
安装到 DSH profile
-
在 profile 的
package.json增加 git 依赖:{ "dependencies": { "dsh-client-ui-m3-theme": "github:DarkskyX/dsh-client-ui-m3-theme#v0.2.0" } }也可以跟随分支:
"github:DarkskyX/dsh-client-ui-m3-theme#main"。 -
在 profile 的
cordis.patch.yml插入条目:- insert: - id: ui-m3-theme name: dsh-client-ui-m3-theme -
重新安装依赖并重启 DSH:
pnpm install(Host 半边注册设置命名空间并注入启动主色,client bundle 在启动时扫描, 因此需要重启 DSH 进程。)
使用
-
设置 → M3 主题:选择主色后整套界面即时生效。
-
外部配置:编辑
~/.dsh/settings.yaml:m3-theme: primary: "#39c5bb"浏览器本地选择优先于该值;点面板「恢复原主题」会清除本地选择并回到默认紫。
结构
lib/index.js— Host 半边:注册m3-theme设置命名空间(schema 校验)、 经webServer.tapIndex注入启动主色。lib/client.js— 浏览器半边:window.__ModuleLoader__.load注册, token 推导(hex↔HSL、tone 步进、按模式色板)+ 设置页面板。- 无构建步骤:
lib/即发布物,改动后提交即可。
开发
node --check lib/client.js # 语法检查
node --check lib/index.js
浏览器 bundle 由 /plugins//client.js 路由每次请求从磁盘读取
(cache-control: no-cache),因此只改 lib/client.js 时刷新页面即可生效;
改 (Host 半边)或 需要重启 DSH。