🎨 当 AI 设计师翻车时,你需要这本《设计语言圣经》—— pbakaus/impeccable 深度体验

你的 AI 设计助手,是不是也“傻白甜”?

想象一下这个场景:你对着 AI 说,“帮我生成一个现代、极简、带毛玻璃效果的登录页面”。几秒钟后,AI 交出了一份“杰作”——按钮是荧光绿的,字体是 Comic Sans 的,卡片阴影重得像要把页面压垮,而那个毛玻璃效果……看起来像是玻璃上糊了一层猪油。

🤦 这大概是所有尝试用 AI 做 UI 设计的人都会经历的“翻车现场”。AI 模型在语言理解和图像生成上很强,但在设计规范视觉层级色彩一致性这些人类设计师的“肌肉记忆”面前,常常表现得像个刚学画画的实习生。

今天登上 GitHub Trending 的项目 Impeccable,就是来拯救这种尴尬的。它不是一个设计工具,而是一套设计语言系统,专门用来“驯服”那些狂野的 AI 设计输出,让 AI 生成的界面从“能看”变成“好看”。

Impeccable 是什么?—— 给 AI 的“设计规范书”

项目地址:pbakaus/impeccable

简单来说,Impeccable 是一套面向 AI 的、声明式的设计语言。它不像 Tailwind 那样是 CSS 框架,也不像 Material Design 那样是给人类设计师看的规范。它的核心用户是 AI 模型,目的是通过结构化的、约束性的设计令牌(Design Tokens),让 AI 在生成 UI 代码时,自动遵循一套优雅、一致、可访问的设计规则。

你可以把它理解为:
📖 人类设计师:有《设计系统圣经》
🤖 AI 模型:有 Impeccable

它定义了一套颜色、间距、字体、阴影、圆角、动画的完整规范,并且以 JSON / YAML / CSS 自定义属性 的形式提供。AI 模型(无论是 GPT-4、Claude 还是本地模型)只需要把这份规范作为“上下文”或“系统提示”的一部分,就能保证输出的代码风格统一、设计精致。

核心特性详解:它到底“规范”了什么?

1. 设计令牌(Design Tokens)—— 设计的基本粒子

Impeccable 把设计拆解为最细粒度的“原子”:


{
  "color": {
    "primary": "#6366F1",
    "surface": "#FFFFFF",
    "onSurface": "#1A1A2E",
    "error": "#EF4444",
    "success": "#22C55E"
  },
  "spacing": {
    "xs": "4px",
    "sm": "8px",
    "md": "16px",
    "lg": "24px",
    "xl": "32px"
  },
  "typography": {
    "fontFamily": "Inter, system-ui, -apple-system, sans-serif",
    "heading": { "size": "1.5rem", "weight": 700 },
    "body": { "size": "1rem", "weight": 400 }
  }
}

这些令牌不仅是数值,更是语义化的约束。AI 不能随意选择“#FF00FF”或者“margin: 23px”,它只能从令牌中挑选。这就从根源上杜绝了“五彩斑斓的黑”这种设计灾难。

2. 组件规范(Component Spec)—— 给 AI 看的“UI 说明书”

Impeccable 不仅仅定义基础令牌,还定义了常见 UI 组件的设计规范。比如一个按钮:


Button:
  variants:
    - primary
    - secondary
    - ghost
    - danger
  states:
    - default
    - hover
    - active
    - disabled
  rules:
    padding: "spacing.sm spacing.lg"
    borderRadius: "8px"
    transition: "all 0.2s ease"
    primary:
      backgroundColor: "color.primary"
      textColor: "#FFFFFF"
      hover:
        backgroundColor: "color.primary" + 10% darker
    disabled:
      opacity: 0.5
      cursor: not-allowed

AI 拿到这份规范后,生成按钮时就会自动:
✅ 使用正确的颜色变量
✅ 实现 hover/active 状态
✅ 保持圆角和阴影一致
✅ 禁用状态加透明度

3. 无障碍设计默认内置(Accessibility by Default)

这可能是 Impeccable 最“阴间”但又最贴心的设计:它强制所有颜色组合都满足 WCAG 2.1 AA 标准。AI 想用浅灰色文字配白色背景?直接报错!


/* 自动生成的 CSS 自定义属性 */
:root {
  --impeccable-color-primary: #6366F1;
  --impeccable-color-on-primary: #FFFFFF;  /* 对比度 >= 4.5:1 */
  --impeccable-color-error-bg: #FEE2E2;
  --impeccable-color-error-text: #991B1B;  /* 对比度 >= 7:1 */
}

从此,AI 生成的界面再也不会出现“视力测试”级别的文字可读性问题。

🚀 快速上手:3 分钟让 AI 变“设计大师”

假设你正在用 Claude 或 GPT-4 生成一个 React 组件,你只需要在 Prompt 里加上 Impeccable 的规范:

Step 1:引入设计令牌


请使用 Impeccable 设计语言生成一个卡片组件。
设计令牌如下:
{
  "color": { "primary": "#6366F1", "surface": "#FFFFFF", "onSurface": "#1A1A2E" },
  "spacing": { "md": "16px", "lg": "24px" },
  "borderRadius": "12px",
  "shadow": "0 1px 3px rgba(0,0,0,0.1)"
}
组件要求: - 卡片包含标题、正文和操作按钮 - 按钮使用 primary 变体 - 卡片有 hover 状态,阴影加深

Step 2:AI 输出符合规范的代码


function Card({ title, children }) {
  return (
    <div style={{
      backgroundColor: '#FFFFFF',
      borderRadius: '12px',
      padding: '24px',
      boxShadow: '0 1px 3px rgba(0,0,0,0.1)',
      transition: 'box-shadow 0.2s ease',
      onHover: { boxShadow: '0 4px 6px rgba(0,0,0,0.15)' }
    }}>
      <h2 style={{ color: '#1A1A2E', fontSize: '1.5rem' }}>{title}</h2>
      <p style={{ color: '#1A1A2E', opacity: 0.8 }}>{children}</p>
      <button style={{
        backgroundColor: '#6366F1',
        color: '#FFFFFF',
        border: 'none',
        borderRadius: '8px',
        padding: '8px 16px',
        cursor: 'pointer'
      }}>Action</button>
    </div>
  );
}

看看!AI 自动使用了正确的颜色、间距、圆角,甚至实现了 hover 交互。没有乱用颜色,没有奇怪的字体,没有失控的间距。这就是 Impeccable 的魔力。

🔧 进阶使用技巧:让 Impeccable 成为你的设计系统基石

技巧 1:创建品牌主题

Impeccable 支持主题覆盖。你可以创建一个 brand.json,覆盖默认令牌:


{
  "extends": "@impeccable/default",
  "color": {
    "primary": "#FF5722",
    "secondary": "#00BCD4"
  },
  "typography": {
    "fontFamily": "Poppins, sans-serif"
  }
}

然后告诉 AI:“请使用 brand.json 作为设计规范”。AI 就会生成一套完全符合你品牌调性的 UI 代码。

技巧 2:与 Prompt Engineering 结合

更高级的用法是把 Impeccable 的规范直接嵌入到 System Prompt 中:


你是一个 UI 开发助手。你的所有输出必须遵循 Impeccable 设计规范:
- 颜色只能从 {primary, surface, onSurface, error} 中选择
- 间距使用 4px 的倍数
- 所有交互元素必须有 hover/active 状态
- 文字对比度必须满足 WCAG AA
- 组件圆角统一为 8px 或 12px

这样,每一次对话,AI 都会自动遵守设计规范,无需重复输入令牌数据。

技巧 3:与开发工具链集成

Impeccable 提供 CLI 工具,可以验证 AI 生成的代码是否符合规范:


# 验证一个组件文件
npx impeccable check ./components/Card.tsx

# 输出示例:
# ✅ 颜色使用规范
# ✅ 间距符合网格系统
# ⚠️ 按钮缺少 disabled 状态(建议修复)

这就像给 AI 生成的代码加了一个 Linter + 设计师双审查,确保质量不滑坡。

🤔 场景总结与扩展思考:AI 时代的“设计契约”

Impeccable 的出现,本质上解决了一个核心矛盾

AI 有无限的创造力,但没有设计纪律;人类有设计纪律,但效率有限。Impeccable 就是那条连接两者的“契约”。

适合的场景:

  • AI 驱动的 UI 生成工具(如 Bolt.new、v0.dev、Copilot)—— 保证输出质量稳定
  • 企业级设计系统—— 将设计规范编码为 AI 可读的格式,实现设计-开发-测试全链路自动化
  • 个人开发者快速原型—— 让 AI 帮你写 UI,但不用忍受“AI 式审美”
  • 无障碍审计—— 自动检查 AI 生成代码的可访问性

未来想象:

如果 Impeccable 这类项目继续发展,未来可能会出现:
🌟 AI 设计系统的“npm”—— 一个设计令牌的包管理器,不同的品牌、平台、设备都有对应的规范包
🌟 实时设计反馈—— AI 在生成代码时,Impeccable 在后台实时检查并修正,就像 TypeScript 类型检查一样
🌟 跨模态设计语言—— 不仅是 UI 代码,还能约束 AI 生成的 SVG、动画、甚至是 3D 场景的设计一致性

最后,用一句话总结 Impeccable 的价值:
它让 AI 不再是个“野路子设计师”,而是一个受过专业训练、懂得设计规范的高级执行者。

如果你也被 AI 的“审丑”折磨过,不妨试试 Impeccable。毕竟,好看的界面千篇一律,但 AI 翻车的设计……真的各有各的丑法。🎨✨