宋律 Songgrid —— 宋代美学主题,宣纸(浅)与夜墨(深)双变体;汝窑天青承担交互态、窑铜只用于引用块;另附 4pt 间距阶与 46 个 mask 图标。
安装
# npm 包(预构建)
dsh plugin --profile web add dsh-theme-songgrid
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:yefengliu1/dsh-theme-songgrid
装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本——pnpm 默认拦截,所以安装可能停在 ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED 或 ERR_PNPM_IGNORED_BUILDS;dsh 会打印出需要添加的确切键名,把它加进该 profile 的 pnpm-workspace.yaml 的 allowBuilds 下,重跑一次即可装上。放行构建本身就是一次信任判断:请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。
README
宋代美学 × 瑞士国际主义 —— 给 DeepSeek Harness Web UI 的一套主题。
中文 | English
| 宣纸 · 浅色 | 夜墨 · 深色 |
|---|---|
![]() |
![]() |
两个变体的实机截图(侧栏是定员八席看板)。卡片区域已打码。
为什么是「宋律」
宣纸的暖白、汝窑的天青、朱砂的警醒 —— 加上瑞士国际主义的尺度纪律:4pt 间距阶、2/4px 圆角、字号与行高严格对应。
不是把古风贴到界面上,而是让传统色各自落在合适的功能位上。
两个强调色,两个职责
整套主题里唯一一处"看起来像同一个角色、其实必须分开"的决策:
| 角色 | 色 | 对比度(宣纸底) | 落点 |
|---|---|---|---|
| 功能色 · 汝窑天青 | #3A7284 |
4.91 : 1 ✓ AA | 按钮 · 焦点环 · 选中态 · 链接 |
| 编辑性强调 · 窑铜 | #9A6B50 |
4.19 : 1 | 引用块 · 标记 |
天青过 WCAG AA,能承担"能不能点、选没选中";窑铜不过正文 AA,所以它只做"值不值得多看一眼"。 两者色相相隔 174°,几乎是对比色 —— 它们从来不是同一个角色的两个候选。
两个变体
| 变体 | id | 气质 |
|---|---|---|
| 宣纸 | song-grid-xuanzhi |
宣纸暖白 × 汝窑天青 × 朱砂 |
| 夜墨 | song-grid-yemo |
冷蓝黑 × 提亮天青 |
| 跟随系统 | system |
随宿主深浅色自动切换 |
色板
宣纸 · 浅色
| 角色 | 值 | |
|---|---|---|
| 纸底 | #F7F5EF |
|
| 表面 +1 | #FBFAF6 |
|
| 表面 +2 | #F0EDE4 |
|
| 叠层 | #E7E3D8 |
|
| 细线 | #DDD8CB |
|
| 主文 · 墨 | #26221C |
|
| 次级文字 | #5C554A |
|
| 三级文字 | #8B8478 |
|
| 品牌 / 功能 | #3A7284 |
|
| 编辑性强调 | #9A6B50 |
|
| 成功 | #4E7A5A |
|
| 警告 | #B0823A |
|
| 朱砂 · 错误 | #B5453C |
夜墨 · 深色
| 角色 | 值 | |
|---|---|---|
| 夜墨底 | #10151A |
|
| 表面 +1 | #191F26 |
|
| 表面 +2 | #1D242B |
|
| 主文 | #E8E3D6 |
|
| 次级文字 | #A8A193 |
|
| 三级文字 | #7A7468 |
|
| 品牌 / 功能 | #7FB4C4 |
|
| 错误 | #D07A70 |
深色地是冷蓝黑而不是暖黑 —— 它和天青是配套调过的,换暖黑等于整套深色重调一轮。
排版
- 中文走宋体(
Noto Serif SC),拉丁走无衬线 —— 两边各归各位,绝不混用 - 字号与行高成对定义,正文、次级、说明各一档
- 强调不靠加粗堆叠,靠颜色角色(见上文的天青 / 窑铜分工)
结构层
主题分三层,其中两层与颜色正交 —— 以后调色,它们一行都不用改:
| 层 | 内容 | 含颜色 |
|---|---|---|
STRUCTURE_CSS |
间距阶(4pt grid + 用途别名)· 圆角 2/4px · 行高 4 档 · 动效 5 时长 3 曲线 · 焦点环 · 图标尺寸 | 否 |
ICON_CSS |
46 个 Lucide mask 图标,currentColor 自动跟随 |
否 |
SEMANTIC_CSS |
强调角色分工(--sg-accent-functional / --sg-accent-editorial) |
是 |
安装
dsh plugin --profile web add dsh-theme-songgrid
装好后刷新页面,进入 设置 → 通用 → 主题,选择「宋律 · 宣纸」「宋律 · 夜墨」或「跟随系统」。选择会持久化在 song-grid-theme settings namespace 里(= 宿主插件条目的 id)。
入口决定能不能跨浏览器。 DSH 客户端只在页面 hostname 是
localhost/::1/127.x时把设置写回宿主(dsh-client-connection的isLoopbackHostname);用dsh.localhost、内网域名或反向代理域名打开时,整份 settings 会降级成浏览器进程内的memory—— 表现就是"选了主题,刷新又回去了",而且官方主题偏好、语言、通知设置也一样不落盘。想让选择跨浏览器/跨机器记住,就用http://localhost:8080/(或http://127.0.0.1:3080/?token=…)打开;只想在本浏览器记住的话,用哪个入口都行(插件自己有一份 localStorage 镜像)。
兼容性
- 需要 DSH ≥ 0.2.0-rc.2(
@deepseek-ai/dsh),验证于 0.2.0-rc.2 —— 还在 0.1.5-rc.2 请装dsh-theme-songgrid@0.1.0 - 通过宿主 design token 覆盖实现,不改宿主源码、不写裸值
- 与 DeepSeek 官方无隶属关系(Not affiliated with DeepSeek)
移植笔记(0.1.5-rc.2 → 0.2.0-rc.2)
settingsScope被移除:主题偏好的 scope 现在是ctx.configForms.get("songgrid")(快照仍是{ status, value })- 构建产物
lib/client.js必须按包名注册在__ModuleLoader__.load({ id })里 —— 任何改名后都要重建 bundle,否则启动会以duplicate factory registration中断
开发
# 本仓库结构
lib/index.js host 半边:注册 songgrid settings namespace
lib/client.js 浏览器半边:主题 token + 三层 CSS + 主题选择器
assets/ 青绿山水背景(ink / ink-night / celadon)
- 改结构层:token 集中在
:root,加档位只动那一处;新样式按角色取var(--sg-gap-*)/var(--sg-radius-*),别写裸值 - 用图标:
<span class="sg-icon sg-icon-check"></span>,46 个字形见ICON_CSS;尺寸用.sm/.lg/.xl或--sg-icon-size - 扩编辑性强调:
SEMANTIC_CSS里已有--sg-accent-editorial,加落点即可 —— 唯一要求是不要落到交互控件上,那是功能色的位
License
MIT
链接
同类插件
elysia395/dsh-wallpaper-engine★ 5809
前置要求:DeepSeek Harness 0.1.5-rc.1+(DSH Desktop ≥ 2.0.7)且 dsh-better-sidebar ≥ 0.19.0,安装或更新本插件前请先更新两者。把本机 Wallpaper Engine 的 Video/Web 壁纸实时播放到聊天界面后方,Scene 壁纸由内置渲染器输出完整场景帧,支持内容分级/类型过滤、自定义壁纸上传与 iOS 液态玻璃设置窗口。
Small-tailqwq/dsh-deep-whale#maid-atelier★ 3063
DSH Web 鲸鱼娘皮肤系列(深海女仆工坊 maid-atelier)。
Nwflower/dsh-claude-style★ 519
为 DSH Web GUI 复刻 Claude Code Desktop 的视觉与交互——象牙白/暖黑双画布、陶烬橙强调色、三字体排版、权限分段控件与品牌切换,以 CSS 覆盖与客户端 DOM override 实现。
d-dev0101/open-sea-skin★ 388
实时 WebGPU 海洋皮肤,可快捷调节波浪、日光、玻璃不透明度与自动昼夜循环。
kingOfSoySauce/dsh-liang-skin★ 370
自适应推理等级滑块皮肤,将当前模型可用档位映射到 0–30 视觉强度,并同步人物、背景和界面配色。
RevolutionLA/dsh-dream-skin★ 301
一键换肤插件:8 套原创主题、背景壁纸(透明度/模糊)、强调色、主题包导入/导出+分享链接、收藏与随机,纯原生 token 系统接入。


社区评论
评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。