大家好,我是蓝戒。本篇我们来聊聊:“Google开源design.md规范”。
程序员的审美死穴:为什么 AI 写的代码能跑,界面却丑的千篇一律?
在这个“Vibe Coding(氛围编码)”满天飞的时代,相信不少朋友都经历过这样的心理落差:你用 Cursor、Claude Code 或者 Bolt 几分钟就搞定了一套复杂的后端逻辑,暗爽自己已经是“一人公司(One-person Startup)”的CEO;但当你满怀期待地打开浏览器预览前端页面时,瞬间被现实狠狠打了一耳光。
蓝蓝色调的通用按钮、挤在一块的卡片边框、极其随意的字号与间距……AI 算力再强,它吐出来的 UI 总是透露着一股浓浓的“程序员随便糊弄”的土味。
为什么会这样?
痛点不在于 AI 不懂写 CSS,而在于上下文(Context)的缺失。你对 AI 说“帮我做个现代、简约、高级感的页面”,AI 在它的训练集里翻了半天,最后只能给你丢上一套最通俗的 Tailwind 默认样式。你给它发 Figma 导出的 JSON,庞大的 Token 瞬间爆掉 Prompt 上下文;你直接写自然语言描述,AI 又容易“幻觉”出五颜六色的样式灾难。
为了解决这个让无数开发者头秃、让设计师吐血的绝症,Google Labs 最近正式开源了重磅项目:design.md(项目地址:google-labs-code/design.md)。
Google 搞了个新玩具:什么是 design.md?
简而言之,design.md 是一种专为 AI 编码 Agent 设计的“视觉身份(Visual Identity)Markdown 规范”。
它的核心理念极其简单暴力:用 LLM 最擅长读取的纯文本(Markdown + YAML Front Matter),给 AI Agent 装上一套持久化、有逻辑、能理解“氛围感”的设计系统(Design System)。
你只需要在项目根目录下放一个 DESIGN.md 文件,不管是 Google 的 Stitch,还是 Cursor、Claude Code、Gemini CLI,都能瞬间看懂你的 UI 应该长成什么样。
DESIGN.md 的双层灵魂结构
Google 官方给出的设计非常优雅,它把 DESIGN.md 拆分为了两部分:
- YAML Front Matter(机器可读的结构化 Token):精确定义颜色(Primary、Secondary、Tertiary)、字体(Typography)、圆角(Rounded)和间距(Spacing)的具体数值。
- Markdown Prose(人类与 AI 均可阅读的设计意图说明):用自然语言解释为什么要这么设计、这些颜色代表什么“情绪”以及如何组合应用。
看一眼官方示例感受一下:
Markdown
---
name: Heritage
colors:
primary: "#1A1C1E"
secondary: "#6C7278"
tertiary: "#B8422E"
neutral: "#F7F5F2"
typography:
h1:
fontFamily: Public Sans
fontSize: 3rem
rounded:
md: 8px
spacing:
md: 16px
---
界面旨在传递出类似高端宽幅报纸或当代画廊的精装哑光质感。
### 色彩规范
配色以高对比度的中性色为基底,搭配单一强调色:
- **Primary (#1A1C1E):** 深墨色,用于主标题与核心文本。
- **Secondary (#6C7278):** 典雅石板灰,用于边框、副标题与元数据。
- **Tertiary (#B8422E):** “波士顿粘土红”,作为全站交互与 CTA 按钮的唯一驱动色。
- **Neutral (#F7F5F2):** 暖石灰石底色,比纯白更具质感。
当 AI Agent 读取了这份文件后,它生成的 UI 就再也不是“随缘发薪”的默认样式,而是严格遵循 Public Sans 字体、墨黑标题、暖石灰背景与“波士顿粘土红”主按钮的精致界面。
AGENTS.md 负责“怎么写”,DESIGN.md 负责“长啥样”
在开源生态中,大家可能已经熟悉了 AGENTS.md(告诉 AI Agent 项目的代码结构、构建脚本与架构规则)。而 DESIGN.md 的出现,恰好补齐了最后一块版图:
AGENTS.md:Coding agents —— 怎么构建项目逻辑?DESIGN.md:Design agents —— 项目视觉应该呈现什么感受?
不仅如此,Google Labs 这一次并不是只扔出一个“概念文件”,他们连配套的 CLI 工具链都给安排得明明白白。
通过 @google/design.md 工具包,你可以直接在终端里运行:
- 自动化语法检查与可访问性校验:
npx @google/design.md lint DESIGN.md它不仅能检查 Token 引用是否破损,还会自动计算 WCAG 对比度(例如警告你的按钮背景色与文字对比度是否达标)。 - 设计系统版本 Diff:
npx @google/design.md diff DESIGN.md DESIGN-v2.md比较两个版本的设计规范,精准检测 Token 层面的变动与自然语言描述的回退。
从 design.md 到 Open Design:AI+前端融合的终局是什么?
Google 开源 design.md,本质上是在尝试将设计规范“标准协议化”。它告诉行业:不要试图让 AI 去硬塞设计软件的二进制文件,文本化的规范才是大模型时代通往高端审美正确的路。
说到这里,就不得不提到另一个在开源社区引起巨大反响的项目:Open Design(nexu-io/open-design)。
如果说 Google 的 design.md 是为 AI Agent 提供了一本轻量级且精准的“设计字典”,那么 Open Design 则是将这套设计字典与 Agent 的编码 Workflow 进行了更深度的融合,直接赋予了编码 Agent 像高级 UI/UX 设计师一样的组件化重构与视觉编排能力。
如果你对 AI 如何深度整合前端设计感同身受,强烈建议去看看我的另一篇文章:Open Design:你的编码Agent秒变神仙设计师,AI+前端融合新范式来了!
两者结合来看,未来的前端开发模式已经非常清晰了:
开发者不再需要手动去抠每一行 Tailwind 类名,也不用在 Figma 和 IDE 之间来回切换;你只需要在根目录下维护好 DESIGN.md,剩下的全套组件与优雅页面,交给懂设计的 Agent 即可。
总结:扔掉丑UI,把设计持久化进项目根目录
AI 编程工具的爆发,让写代码的门槛降到了历史最低点,但“产品质感”的门槛却被无限拉高。
Google 开源 design.md 并不是想替代设计师,而是用最优雅的 Markdown 方式,让设计师的审美意图能够无损、持久地传承给每一个 AI 编码 Agent。
别再让你的独立应用死在第一眼视觉上了。现在就去给你的项目根目录下建一个 DESIGN.md,体验一下“审美在线”的 AI 编程新世界吧!
文章评论