Open Design 设计系统实践:复刻 Discord 暗色语音社区风格的完整设计 Token 指南

发布时间:2026/9/19 13:44:17

Open Design 设计系统实践:复刻 Discord 暗色语音社区风格的完整设计 Token 指南 Open Design 设计系统实践复刻 Discord 暗色语音社区风格的完整设计 Token 指南【免费下载链接】open-design Best DeepSeek Harness Design Plugin. The open-source Claude Design alternative. ️ Local-first desktop app. ️ Your coding agent becomes the design engine: prototypes, landing pages, dashboards, slides, images video — real files, HTML/PDF/PPTX/MP4 export. Claude Code / Codex / Cursor / DeepSeek Harness / OpenCode 20 CLIs via BYOK.项目地址: https://gitcode.com/gh_mirrors/opend/open-design本指南以 Open Design 仓库内置的 Discord 设计系统包法语版 DESIGN-fr.md为骨架系统拆解暗色优先 Blurple 单点强调的语音社区产品设计语言并结合仓库中的 tokens.css、design-tokens.json 与 manifest.json 给出源码级 token 契约。读完你不仅能复刻 Discord 风格的暗色聊天界面三阶暗色表面、gg sans 排版体系、状态点语言、头像圆角形变动效还能理解 Open Design 设计系统包从DESIGN.md文字规范到可运行 CSS 变量的完整落地链路。1. 包结构与文字规范 → 可执行 Token的落地链路Open Design 将每个品牌设计系统封装为design-systems/brand/下的标准包。Discord 包的目录布局见 manifest.json 的files字段DESIGN.md品牌的权威设计散文即本文主体内容的英文原件tokens.css已编译的权威 token 变量源码真相其余产物均由它派生design-tokens.json从tokens.css source/token-contract.report.json 派生的机器可读 token 清单tailwind-v4.cssTailwind v4theme映射只引用tokens.css不得独立重定义值components.html/components.manifest.json组件夹具与可重建缓存preview/静态预览页colors.html、typography.html、spacing.htmlUSAGE.md面向 Agent 的使用守则source/导入证据evidence.md、tokens.source.json、token-contract.report.json。根据 source/evidence.md该包是基于 Open Design 精选捆绑夹具的 Design System 2.0 回填并未声称重新抓取上游品牌仓库——因此文章中的数值均以仓库内文件为准。在 design-tokens.json 的合约摘要中该包共声明56 个 token全部有源码背书sourceBackedTokens: 56分层为A1-identity 8 个、A1-structure 18 个、A2 26 个、B-slot 4 个整体评分 100、等级excellent。这与 design-systems/_schema/AGENTS.md 中定义的四层 token 模型一一对应A1 由品牌决定缺失即守卫失败、A2 带默认值、B-slot 可用var(--sibling)别名折叠——Discord 包的--surface-warm、--fg-2、--meta、--border-soft正是 4 个 B-slot 成员。2. 视觉主题与氛围暗色优先的三阶深度Discord 产品为晚间、团战与群组语音场景而设计因此整体表面暗色优先。默认画布是Background Primary深色主题#1e1f22、浅色主题#313338聊天列叠加在略亮或略暗的色阶上用以区分频道、子区与侧栏。核心特征继承自原文档第 1 节暗色表面三阶深度#1e1f22最深的服务器列表轨道→#2b2d31频道侧边栏→#313338聊天表面Blurple#5865f2是聊天表面唯一的饱和强调色仅用于品牌标识、主 CTA、提及与你的 affordance全部文本使用gg sansDiscord 自研的 Whitney 替代字体友好、几何、中性圆角方形服务器头像16px 圆角悬停时变为正圆聊天行距紧凑消息组间 4–8px侧栏内边距宽裕状态点绿在线、黄空闲、红勿扰、灰离线对齐像素网格的 1px 分隔线采用低透明度偏白。该三句品牌身份在 tokens.css 的文件头注释中被原样固化并落到具体的 token 绑定--bg取#313338聊天表面--surface取#2b2d31--surface-warm取#1e1f22最深层服务器轨道。圆角语言圆润但不至于圆球软糯也映射为半径阶梯卡片 8px、输入框 4px、状态徽章与标签用全药丸。3. 色彩调色板与 Token 角色映射原文档第 2 节完整定义了 Discord 配色以下是完整继承并对照 tokens.css 的 token 映射。Primary 主色系角色色值token 绑定Blurple品牌主色 / 主 CTA / 提及高亮#5865f2--accentBlurple Hover悬停/激活#4752c4--accent-hoverBlurple Soft旧版 Blurple营销次级强调#7289da保留在文档语义层--accent-on为#ffffffBlurple 上的文本色--accent-active由color-mix(in oklab, var(--accent), black 14%)动态计算按下态无需再写死色值。Surface 表面深色主题为默认角色色值token 绑定层级Background Tertiary服务器列表轨道最深#1e1f22--surface-warmB-slotBackground Secondary频道/设置侧边栏#2b2d31--surfaceA1-identityBackground Primary聊天表面/消息列#313338--bgA1-identityBackground Floating浮层/提示/自动补全#111214文档语义层—Background Modifier Hover行悬停叠加rgba(78, 80, 88, 0.3)——Background Modifier Selected活动行rgba(78, 80, 88, 0.6)——Surface 表面浅色主题角色色值说明Light Bg Primary#ffffff浅色聊天表面Light Bg Secondary#f2f3f5浅色侧边栏Light Bg Tertiary#e3e5e8最深的浅色表面Text 文本角色色值token 绑定Header Primary频道头/弹窗标题#f2f3f5--fg-2B-slotHeader Secondary弱化标题#b5bac1语义层Text Normal正文比纯白略冷#dbdee1--fgText Muted时间戳/服务器名/元数据#949ba4--mutedText Link消息内超链接天蓝区别于 Blurple#00a8fc语义层Channels Default侧边栏未激活频道名#80848e--metaB-slotStatus 状态与语义色角色色值token 绑定Status Online在线点/成功态#23a55a--successStatus Idle空闲/离开#f0b232--warnStatus DND勿扰兼作破坏性红#f23f43--dangerStatus Streaming直播中紫色#593695语义层Status Offline离线灰#80848e复用--meta系Mention Highlight提及行浅 Blurple 泛光rgba(88, 101, 242, 0.1)语义层Border 边框与分隔线角色色值token 绑定Background Modifier Accent深色标准分隔线rgba(255, 255, 255, 0.06)--borderBorder Subtle卡片实线分隔#3f4147--border-softB-slot值得注意的源码细节Discord 的深色表面以亮度阶梯 半透明白色边框作为深度信号而非投影——见 tokens.css 的 Elevation 组--elev-flat: none、--elev-ring: 0 0 0 1px var(--border)、--elev-raised也仅叠加 1px 白色微光描边。4. 排版体系gg sans 与用字重分层而非用颜色分层字体族继承原文档第 3 节正文 / UI / 标题gg sans回退Helvetica Neue, Helvetica, Arial, sans-seriftokens.css 中--font-display与--font-body同值Display旧版 WhitneyWhitney回退gg sans代码 / 等宽gg mono回退Consolas, Andale Mono, Courier New, Courier, monospace--font-mono。层级阶梯角色字体字号字重行高字距说明Display Herogg sans56px (3.5rem)8001.1-0.02em营销主视觉--text-4xl/--leading-tight/--tracking-displayPage Headinggg sans24px (1.5rem)7001.25normal设置/个人资料标题--text-2xlChannel Namegg sans16px (1rem)6001.25normal#general频道头Message Bodygg sans16px (1rem)4001.375normal标准聊天文本--text-base/--leading-bodyUsernamegg sans16px (1rem)5001.25normal消息作者Timestampgg sans12px (0.75rem)5001.25normal今天 16:32--text-xsSidebar Channelgg sans16px (1rem)5001.25normal频道列表行Server Namegg sans16px (1rem)6001.25normal服务器头Caption / Metagg sans12px (0.75rem)4001.30.02em状态文本、已编辑标记Code Inlinegg mono0.875em400inheritnormal行内codeCode Blockgg mono14px (0.875rem)4001.5normal三重反引号代码块完整字号阶梯在 tokens.css 中被规范化为--text-xs(12px) →--text-sm(14px) →--text-base(16px) →--text-lg(18px) →--text-xl(20px) →--text-2xl(24px) →--text-3xl(32px) →--text-4xl(56px)并配有--leading-body: 1.375、--leading-tight: 1.10、--tracking-display: -0.02em。排版原则友好几何gg sans 在 a/g/s 上有圆润末端替代 Whitney 时保留温暖感且不牺牲小字号可读性字重对比优先于颜色对比层级来自 400→500→600→700→800 的字重阶梯表面保持中性正文永不小于 16px密度来自行高1.375而非缩小字号。5. 组件样式规格以下规格完整继承自原文档第 4 节并对照 tokens.css 的半径/圆角 token--radius-sm: 4px、--radius-md: 8px、--radius-lg: 16px、--radius-pill: 9999px。按钮Primary背景#5865f2、文本#ffffff、内边距 8px 16px、圆角 4px、悬停#4752c4用于主 CTA、继续、加入服务器Secondary背景#4e5058、文本#ffffff、内边距 8px 16px、圆角 4px、悬停#6d6f78Tertiary / 链接式背景透明、文本#dbdee1、悬停仅加下划线、背景不变Danger背景#da373c、文本#ffffff、悬停#a12d2f。输入框背景#1e1f22、文本#dbdee1、边框 1px solid#1e1f22、圆角 4px、内边距 10px 12px、聚焦边框#5865f2。焦点态的光环在 token 层对应 tokens.css 的--focus-ring: 0 0 0 3px rgba(88, 101, 242, 0.3)——3px 半透明 Blurple 外环与设计语义完全一致。服务器头像尺寸 48×48px默认圆角 16px圆角方形悬停与激活时过渡为 50% 正圆对应--radius-lg与--radius-pill激活态图标列左缘 4px 白色药丸指示条。状态点10×10px3px 边框使用 background-tertiary 色形成缺口效果定位在头像右下角。卡片 / Embed背景#2b2d31深色或#f2f3f5浅色左侧 4px 实线使用 embed 强调色圆角 4px内边距 8px 16px。提及药丸Mention Pill背景rgba(88, 101, 242, 0.3)、文本#c9cdfb、内边距 0 2px、圆角 3px。6. 间距与布局4px 网格与三栏结构继承原文档第 5 节并补充 tokens.css 的容器 token基础单位 4px刻度为 4、8、12、16、20、24、32、40对应--space-1…--space-12见 tokens.css服务器轨道固定 72px 宽频道侧边栏240px 宽成员列表桌面端 240px 宽聊天列流式最小 380px。容器层面还定义了--container-max: 1200px以及响应式沟槽--container-gutter-desktop: 24px、--container-gutter-tablet/phone: 16px区块纵向节奏--section-y-desktop: 80px、--section-y-tablet: 48px、--section-y-phone: 32pxtokens.css、tokens.css。7. 动效规格继承原文档第 6 节时长悬停 200ms--motion-base、头像圆角形变 350ms、气泡提示淡入 80ms--motion-fast缓动头像形变使用cubic-bezier(0.215, 0.61, 0.355, 1)起步利落然后稳定tokens.css 中的通用缓动为--ease-standard: cubic-bezier(0.2, 0, 0, 1)通知脉冲未读提及指示器1.4s ease-in-out infinite无限循环。8. 使用护栏保持 Discord 产品感觉继承原文档第 7 节并结合 USAGE.md 的 Agent 使用守则暗色外壳、紧凑密度与 Blurple 动作层级必须成套保留在浅色营销风格版式上单独使用 Blurple 会破坏 Discord 产品识别度高导航密度的表面应围绕轨道 侧边栏 聊天列组织而不是孤立的装饰卡片用圆角方形头像与状态点语言表示人物、服务器或活跃在场状态Do严格保留 schema token 名称保证跨品牌切换可靠用--accent表达主操作、链接、焦点态与唯一视觉焦点复用 components.manifest.json 中的组件组将source/文件视为捆绑夹具回填的审计证据Avoid不在复制的:roottoken 块之外使用裸十六进制值不脱离tokens.css独立重定义 Tailwind 或设计 token 值不声称存在原始上游源码证据本包基于精选捆绑夹具不新增components.html或DESIGN.md中未体现的组件配方。9. 落地消费从 Token 到 Tailwind v4 与预览页Discord 设计系统包提供了三种可直接消费的落地方式原生 CSS 变量直接复制 tokens.css 的:root块到你的style中即可获得全部 56 个变量表面、前景、边框、强调、语义、字体、字号、间距、圆角、阴影、动效、容器Tailwind v4tailwind-v4.css 以import ./tokens.css引入源再在theme中把--color-*、--font-*、--text-*、--spacing-*、--radius-*、--shadow-*、--duration-*、--ease-*、--container-*逐一映射到 token 变量——注意该文件是派生产物必须保持tokens.css为唯一真相源预览与组件夹具通过 preview/colors.html、preview/typography.html、preview/spacing.html 和 components.html 可视化核对色板、层级与组件渲染是否符合预期。根据 manifest.json该包以od-design-system-project/v1schema 发布importMode为normalized并建议绑定 craft 规范中的 color 与 accessibility-baseline。而 design-systems/_schema/AGENTS.md 说明这类清单包会受到scripts/check-design-system-manifests.ts等守卫校验manifest 形状、A2 必需 token、B-slot 必需 token、A2 默认值一致性等保证每个打包品牌的tokens.css完整、自洽、可被 daemon 与提示词组合管线直接消费——这也解释了为什么每个品牌包都必须显式声明全部共享 token而不是依赖全局样式表兜底。10. 小结Discord 设计系统包的核心可提炼为一条可复用的设计公式三阶暗色表面#1e1f22/#2b2d31/#313338 单一饱和强调色 Blurple#5865f2 gg sans 字重分层排版 圆角方形头像语言 4px 网格三栏布局。在 Open Design 中这条公式被完整固化为 56 个经过契约校验的 CSS 变量与 Tailwind v4 映射任何人复制 tokens.css 的:root块即可在原型、落地页或聊天类产品中还原 Discord 的视觉质感——同时通过 USAGE.md 的守则避免破坏其产品识别度。【免费下载链接】open-design Best DeepSeek Harness Design Plugin. The open-source Claude Design alternative. ️ Local-first desktop app. ️ Your coding agent becomes the design engine: prototypes, landing pages, dashboards, slides, images video — real files, HTML/PDF/PPTX/MP4 export. Claude Code / Codex / Cursor / DeepSeek Harness / OpenCode 20 CLIs via BYOK.项目地址: https://gitcode.com/gh_mirrors/opend/open-design创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/9/19 13:44:17

STM32智能小车毕设指南:从供电驱动到PID速度闭环

简介:基于STM32F103的智能小车毕业设计说明文档,面向电子、嵌入式方向学生及开发者,系统阐述智能小车控制系统整体设计思路,重点解决循迹与避障的软硬件协同问题。文档为1个DOCX格式文件,压缩包大小约3.51MB&#xff0…

2026/9/19 13:44:17

基于STC89C52的HC-SR04超声波倒车雷达:原理、代码与标定

简介:一份以AT89C51单片机为核心、基于超声波测距原理的倒车雷达系统设计文档,面向电子与嵌入式方向的课程设计、毕业设计及电子竞赛备赛人群,适合需要完成从方案论证到实物调试完整流程的读者。文档从课题背景、国内外现状切入,详…

2026/9/19 13:44:17

半导体集成电路习题详解:从载流子浓度到CMOS开关点

简介:集成电路设计与制造是微电子专业的核心内容,这份习题及答案汇编围绕这一领域展开,覆盖双极型与MOS两大技术方向,面向微电子、集成电路工程及相关专业学生。文档按九章组织,从基本制造工艺、晶体管及寄生效应、无源…

2026/9/19 15:59:22

Flutter 3.35 Impeller花屏排查实录:从线上事故到渲染适配

1. 从一次线上事故说起:Impeller 在 3.35 上翻车了那天下午刚发完版,测试同学在群里甩了一张截图,画面上一片横向撕裂的彩色条纹,像老式电视机信号丢失那种花屏。第一反应是"是不是某个页面用了自定义 Shader"&#xff…

2026/9/19 15:59:22

信创环境下WordPress粘贴图片转存失败排查与修复实战

前阵子我在一个信创系统环境里处理WordPress粘贴图片转存问题,后台从剪贴板贴一张截图,转存经常失败。普通电脑上好好的操作,一到国产操作系统加国产浏览器的组合就各种报错:有的粘贴后显示“HTTP错误”,有的图片在编辑…

2026/9/19 15:59:22

两层CNN在COREL1000上达93%准确率的轻量图像分类实现

简介:本资源是一份面向深度学习初学者与图像处理从业者的专业指导型技术文档,聚焦卷积神经网络(CNN)在图像分类任务中的原理、结构设计与实证对比。文档系统解析CNN的输入层、双卷积层、双池化层、全连接层及Softmax输出层构成&am…

2026/9/19 15:59:22

基于DeepSeek联邦学习的零售多门店销量预测与库存优化

简介:围绕零售库存管理中的多门店销量预测难题,这套PDF文档系统讲解如何借助DeepSeek与联邦学习构建预测系统。文档面向零售数据分析师、供应链管理人员以及正在学习人工智能应用的开发者,旨在帮助读者解决数据分散、隐私保护难和预测准确性不…

2026/9/19 15:59:22

AI赋能数字水务:从数据治理到调度优化的关键技术与实践

简介:人工智能赋能数字水务白皮书以PDF格式呈现,完整聚焦数字水务的智能化升级路径,适合水务集团技术人员、智慧城市规划者及环境保护领域的研究者阅读。白皮书围绕人工智能与水务场景的融合,详细阐述了机器学习预测水质污染风险、…

2026/9/19 15:54:22

Excel练习素材大全:从基础操作到数据透视表实战

刚开始带教新人的时候,我经常被问到同一个问题:“老师,有没有现成的Excel练习数据?我自己随便敲几行数字,练起来总觉得不得劲。”这还真不是矫情,Excel这东西,光看视频教程、光背函数语法&#…

2026/9/18 14:13:01

拯救者Y7000黑屏故障排查与维修实战指南

1. 项目概述:一台黑屏的拯救者Y7000,到底卡在哪一步? 联想拯救者Y7000系列笔记本,从2018年第一代搭载i5-8300H开始,到后来的i7-9750H、i7-10750H、i5-11400H,再到2023年款的R7-7840HS,它始终是学…

2026/9/19 0:03:10

验证 OpenSpec 兼容性,Cursor 的 Token 从 TaoToken 出

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/19 0:03:10

书桌角落的 Mac mini,OpenClaw 通过 TaoToken 跑任务。

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/19 0:03:10

oh-my-hermes:打造跨工具的命令编排与插件化工作流

1. 项目概述与设计初衷1.1 它到底是什么先说结论:oh-my-hermes 是一个面向开发者日常终端操作的效率工具套件,核心定位是“把分散在各类命令行工具里的高频操作,统一收拢成一套插件化、可编排的工作流”。项目灵感来源很明显——oh-my-zsh 重…

2026/9/18 14:13:03

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/18 14:13:02

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/18 14:13:02

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
咨询二维码