文章

我们读了 150 个 shadcn/ui 项目。一模一样的不是紫色。

《解构》第一期。GitHub 上收藏数最多的 shadcn/ui 项目几乎只用两种字体,主色是灰色。大家归咎的紫色渐变,另有来源。

作者
Laith Aljunaidy
发布于
分钟阅读
5 分钟阅读
  • shadcn ui
  • AI 生成设计
  • 设计默认值
  • Geist 字体
  • Inter 字体
本页内容
  1. 我测量了什么
  2. 两种字体选其一
  3. 主色是灰,不是紫
  4. 如果你用 AI 做设计,这意味着什么
  5. 方法与数据
收藏数最多的 150 个 shadcn/ui 仓库:88% 使用 Geist 或 Inter,75% 的主色为中性色

用 AI 做过产品的人都认得这种样子:同一种字体、紫色渐变、一模一样的柔和卡片。通常被怀疑的是 shadcn/ui,因为太多这类应用都建在它之上。所以我不再猜测,直接去读代码。

我测量了什么

2026 年 9 月 25 日,我取了 GitHub 上带 shadcn-ui 标签、收藏数最多的 150 个仓库。每个仓库我都读了决定外观的文件:根布局、Tailwind 配置和全局样式表,并记录两件事。

  • 字体:来自 next/font 导入、Google Fonts 链接和 font-family 声明。
  • 主色:来自样式表中第一个主色值,按色相分为中性、Blue、紫色和其他。

读不出信号的仓库记为不可读,从不猜测。最后有 67 个仓库能读出字体,87 个能读出主色。

两种字体选其一

能读出字体的 67 个仓库中,59 个使用 Geist 或 Inter,即 88%。Geist 出现在 34 个里,Inter 出现在 28 个里,有些两者都加载。只有 8 个选了别的字体,分散在 DM Sans、Manrope、Sora、Montserrat 等少数几种之间。

这才是真正的同质。这并不是糟糕的选择,两种字体在屏幕上都很出色,但这意味着读者看到的第一样东西,在几乎所有这些产品里都一样。

主色是灰,不是紫

能读出的 87 个主色中,65 个是中性色:接近黑色或灰色,直接来自 shadcn 自带的基础色板,即 75%。Blue 11 个,占 13%。紫色只有 5 个,占 6%。

所以紫色并非来自 shadcn/ui。原封不动时,它是灰色的。如果你的产品是紫色,那是有人选了它,或者有什么替你选了它。

如果你用 AI 做设计,这意味着什么

组件库不是你品牌的问题。它有意给你结构和中性的底色。同质从两个地方混进来:没人改过的字体,以及在没人指定时由工具填上的强调色。

两者各只是一个决定。选一款能承载你风格的字体,设定你自己的主色,在模型动笔之前把两者交给它。这就是全部的解决办法,也是设计系统必须先行的原因。

方法与数据

扫描脚本、规则和原始结果都已公开:scan_shadcn.py 与 results.json。色相分类使用 HSL(紫色 240 到 300 度)和 OKLCH(紫色 265 到 320 度),饱和度低于 12% 或彩度低于 0.05 的都算中性,shadcn 的 slate 和 zinc 基色正落在这里。样本是该标签下收藏数最多的 150 个仓库,既有应用也有组件库,中位数约 1,700 个收藏。

这是第一期**《解构》**:一个设计问题,手工测量,方法公开。想让我数点什么,告诉我。

双指、双击或用触控板缩放,拖动可移动。