OpenDesign 最佳实践指南

开源本地优先 AI 设计工具 — 从入门到精通的完整指南

版本 0.5.0 Node.js 24.x Claude Code + Codex 72 设计系统 31 Skills

🏗️ 架构理解

OpenDesign 由三个核心轴组成,理解它们是使用好这个工具的前提:

作用域示例
skills/ 产出物形状 saas-landing、dashboard、pricing-page
design-systems/ 品牌视觉语言 linear-app、apple、notion(9 段 DESIGN.md)
craft/ 通用设计知识 字间距规则、反 AI 模板、色彩层级
核心理念:DESIGN.md 告诉 Agent 用什么颜色和字体,craft/ 告诉 Agent 优秀设计师会应用的通用规则——例如无论什么品牌,ALL CAPS 都需要 ≥0.06em 的字间距。

关键目录结构

open-design-main/
├── apps/
│   ├── daemon/        # 守护进程(linter、critique 系统)
│   ├── web/           # Web 前端界面
│   └── desktop/       # Electron 桌面壳
├── skills/            # 31 个技能(产出物类型)
├── design-systems/    # 72 个设计系统
├── craft/             # 通用设计规范(11 个文件)
├── plugins/           # 插件系统
└── .od/               # 运行时数据(SQLite + 配置)

⚙️ 环境配置

Node.js 版本要求

常见坑:OpenDesign 要求 Node.js ~24.x。系统自带的 Node.js 25+ 会导致启动失败 "web did not expose status in time"。

推荐启动方式

已配置好的 start.bat 位于 D:\01_APP\OpenDesgin\open-design-main\start.bat,已内置 Node.js 24 路径切换。双击即可启动。

# 手动启动命令
export PATH="/d/05_Coding/.env/NodeJS24:$PATH"
cd "/d/01_APP/OpenDesgin/open-design-main"
pnpm tools-dev start web --daemon-port 24729 --web-port 20026

数据目录

文件/目录内容
.od/app-config.json应用配置(agent、designSystem)
.od/app.sqlite本地数据库
.od/artifacts/生成的设计产物
.od/projects/项目数据
.od/connectors/连接器配置
端口检查:默认 Web 端口 20026,Daemon 端口 24729。如被占用,可在启动命令中指定新端口。

🔄 标准设计流程

从需求到最终产出,遵循以下 6 步工作流:

1

明确设计 Brief

在 OpenDesign 中输入清晰的设计需求。OpenDesign 会弹出交互式问卷,帮助你澄清需求后再让模型开始生成。这一步决定了产出质量的天花板。

2

选择 Design System

从 72 个预设设计系统中选择一个作为视觉基调。推荐优先尝试:linear-app(现代 SaaS)、apple(极简)、notion(干净文档风)、default(通用基线)。

3

选择 Skill(产出物类型)

根据需求选择对应的 Skill:saas-landing(落地页)、dashboard(数据看板)、pricing-page(定价页)、blog-post(博客文章)等。31 个 Skill 覆盖网页、桌面、移动原型、幻灯片等。

4

Agent 生成 + Critique 迭代

OpenDesign 内置了 Critique(审查)系统,会自动对产出进行多轮审查和修正。无需手动干预,等待审查完成即可。通常 2-3 轮后产出质量会显著提升。

5

沙盒预览 + 手动调整

在内置的沙盒预览中检查产出。通过 Comment Mode 可以在特定位置添加批注,让 Agent 做增量调整。

6

导出 / 集成到项目

导出为 HTML、PDF、PPTX,或将代码直接集成到你的前端项目中。推荐用 Claude Code 将生成的组件做代码审查后集成。

💬 Prompt 技巧

好的 Brief 公式

[目标] + [目标用户] + [关键功能] + [参考产品] + [设计系统偏好]

示例:
"为一个面向中小企业的 SaaS 发票工具设计落地页,
核心功能是自动发票生成和 expense 追踪,
参考产品是 Stripe 的简洁感,
使用 Linear 风格的设计系统。"

Prompt 避坑

❌ 模糊描述

"做一个好看的落地页" — Agent 会回退到默认模板,产出 AI 模板化设计。

P0 避免

❌ 堆砌功能

"包含 hero、features、pricing、testimonials、FAQ、CTA、footer" — 标准 AI 模板骨架,毫无差异化。

P0 避免

✅ 指定参考

"参考 Linear.app 的导航结构和 Apple 的色彩克制感" — 给出具体参考产品,Agent 会继承可交互的语法。

推荐

✅ 指定差异化

"不要用标准的 Hero→Features→Pricing 序列,用一个全屏的产品 demo 作为 hero" — 主动打破模板。

推荐

🎨 设计系统选择

OpenDesign 内置了 72 个品牌级设计系统,每个都有完整的 9 段 DESIGN.md 规范。以下是按场景推荐的精选列表:

场景推荐 Design System特点
SaaS 产品linear-appvercelstripe现代、克制、专业
数据看板dashboardapplication高密度信息、功能优先
营销页面creativebolddramatic视觉冲击力强
文档/博客notioneditorialclean阅读体验优先
电商appleairbnbcanva干净、信任感
创意/实验brutalismdoodlecosmic差异化、个性
提示:每个设计系统的 DESIGN.md 文件定义了该品牌的色彩、字体、圆角、阴影、动画等全部 Design Tokens。Agent 会严格遵循这些规范。

🚫 反 AI 模板化规范

OpenDesign 内置了 craft/anti-ai-slop.md,这是保证产出不像"AI 生成的"的核心规范。以下是七大重罪(P0 必须修复):

P0 默认 Tailwind Indigo 作为强调色

禁止使用 #6366f1#4f46e5#4338ca#3730a3#8b5cf6#7c3aed#a855f7。必须使用 DESIGN.md 提供的 --accent 变量。Indigo 是 AI 最明显的标志。

P0 Hero 区域的双色"信任"渐变

禁止 purple→blue、blue→cyan、indigo→pink 渐变。纯色表面 + 有节奏的排版永远胜过渐变。

P0 Emoji 作为功能图标

禁止在 <h*><button><li> 中使用 ✨🚀🎯⚡🔥💡。使用 1.6-1.8px 描边的单色 SVG 图标。

P0 Seed 绑定了衬线体但 Display 用了无衬线

h1/h2 必须使用 var(--font-display),不能硬编码 Inter / Roboto / system-ui

P0 圆角卡片 + 彩色左边框

这是经典的"AI 看板卡片"形状。要么去掉圆角,要么去掉左边框。

P0 虚构指标

禁止出现 "10× faster"、"99.9% uptime" 等无来源数据。要么引用真实数据源,要么标注为占位符。

P0 填充文本

禁止 lorem ipsum、feature one/two/three、placeholder text。空白的 section 应该用组合设计来解决,而不是编造文字。

如何注入"灵魂"

目标是 ~80% 成熟模式 + ~20% 差异化选择。这 20% 应该体现在:

检验标准:如果审查者截图给别人看,局外人能认出是哪个产品 — 你有了灵魂。如果认不出 — 你发了一个模板。

📐 Craft 设计规范

OpenDesign 的 craft/ 目录包含 11 个通用设计规范文件,覆盖 UI 设计的各个维度:

规范内容适用场景
typography.md字体、字号、字重、行高所有含文本的产出
typography-hierarchy.md排版层级有明确入口和节奏感的页面
typography-hierarchy-editorial.md编辑级排版博客、文档、电子指南
color.md色彩使用规范所有含样式的产出
anti-ai-slop.md反 AI 模板化规则营销页、落地页、幻灯片
state-coverage.mdUI 状态覆盖看板、表单、列表、表格
animation-discipline.md动画规范移动端、多屏流程、微交互
accessibility-baseline.md无障碍基线所有交互式 UI
form-validation.md表单验证注册、登录、设置页
laws-of-ux.mdUX 认知法则定价页、看板、引导流程
rtl-and-bidi.mdRTL/BiDi 布局含阿拉伯语/希伯来语的页面

关键规则精选

排版

色彩

加载状态

触控区域

🧠 UX 认知法则

OpenDesign 内置了基于原始研究文献的 UX 法则,这些法则决定了 UI 的组合方式(放什么、放多少、放哪里):

感知与视觉分组

决策制定

记忆与学习

交互

🔧 Skills 系统

每个 Skill 对应一种产出物类型。OpenDesign v0.5.0 包含 31 个 Skills:

落地页

saas-landinglanding-pageproduct-launch

高频使用

定价页

pricing-page

高频使用

数据看板

dashboardanalytics-dashboard

高频使用

博客/文档

blog-postdocs-pagedigital-eguide

编辑级排版

幻灯片

slide-deckpitch-deck

PPT 导出

移动端

mobile-appmobile-flow

原型

如何 Craft 被注入

每个 Skill 的 front-matter 中可以声明需要的 Craft 规范:

od:
  craft:
    requires: [typography, color, anti-ai-slop]

这样只有声明的规范会被注入到 Agent 的 system prompt 中,避免不相关的内容浪费 token。

🤖 Agent 配置

OpenDesign 不自带 Agent,而是桥接到你已有的 AI 编码 CLI。

当前配置

你的 .od/app-config.json 已配置为:

{
  "agent": "claude",
  "designSystem": "default"
}

推荐的 Claude Code + Codex 双 Agent 协作

  1. Claude Code:定义项目的 CLAUDE.md 设计系统
  2. OpenDesign:根据 Brief 生成初始 UI 组件/页面
  3. Claude Code:将组件集成到项目中,做代码审查
  4. 浏览器预览:在真实浏览器中检查效果
  5. Codex:根据截图做增量调整(多模态截图修正)
  6. Claude Code:最终测试和部署
支持 16+ 编码 Agent:Claude Code、Codex、Cursor、Gemini CLI、DeepSeek CLI、Antigravity 等。OpenDesign 会自动检测已安装的 CLI。

📦 导出与部署

导出格式

格式用途推荐场景
HTML完整代码集成到项目、二次开发
PDF静态文档设计评审、交付文档
PPTX幻灯片演示汇报、Pitch Deck

集成到项目的最佳实践

  1. 在 OpenDesign 中生成并审查设计
  2. 导出 HTML 代码
  3. 用 Claude Code 的 code-reviewer Agent 审查生成的代码
  4. 修复类型安全和可访问性问题
  5. 集成到项目组件库
  6. 编写测试覆盖新增组件

🔍 故障排查

启动失败 "web did not expose status in time"

原因:Node.js 版本不兼容
解决:确保使用 Node.js 24.x,不要使用 25+

已解决

端口被占用

检查:status.bat 检查端口状态
解决:指定新端口或停止占用进程

常见

依赖安装超时

原因:Electron 下载慢(85MB)
解决:使用 npx pnpm@10.33.2 install 延长超时

首次安装

生成质量差

原因:Brief 模糊 / 设计系统不合适
解决:参考本页 Prompt 技巧和设计系统推荐

优化方向

快速命令

# 检查服务状态
D:\01_APP\OpenDesgin\open-design-main\status.bat

# 停止服务(找到并杀死进程)
ps aux | grep "open-design\|tools-dev"
kill <pid>

# 检查端口是否空闲
node -e "const net=require('net'); [20026,24729].forEach(p=>{const s=net.createServer(); s.on('error',e=>console.log('Port '+p+': OCCUPIED')); s.listen(p,'127.0.0.1',()=>{console.log('Port '+p+': FREE');s.close();});});"

📚 参考资料


文档信息:本指南基于 OpenDesign v0.5.0 源码分析、官方文档和社区最佳实践编写。本地部署路径:D:\01_APP\OpenDesgin\open-design-main,Node.js 24.13.0 存放在 D:\05_Coding\.env\NodeJS24\