Figma 的开源替代方案
Figma 很优秀,也不会消失。但文件格式是专有的、席位是订阅制的、画布跑在别人的云上。这是一份诚实的判断:什么时候 Figma 仍是答案——以及什么时候,拥有一套 agent 原生、本地优先的工作流会赢。
Figma 很优秀。我们用它交付真实的工作已经好几年了,这不是一篇「Figma 已死」的文章——它完全不是。我们没有再造一块画布、而是做了一个开源的 skill 层,原因并不是嫌 Figma 做得不好。这是一个押注:设计工作的下一个十年,看起来会更少地像「无限画布上的一个光标」,更多地像「一个你本来就在付费的 agent,驱动一套你真正拥有的工作流」。这篇文章,是一个同赛道团队对 Figma 的诚实判断:它最擅长什么、它在哪里把你锁住、开源路径到底长什么样、以及这个季度你该选哪一个。
Figma 到底是什么
Figma 是默认的协作设计工具。浏览器里的实时多人画布,配上面向交付的 Dev Mode、用来做白板的 FigJam、以及一组不断长出来、挂在同一个界面上的 AI 功能。定价是按席位、按月,再按角色和组织分档。
有几件事,它做得比任何工具都好:
- 实时画布协作。五个人在同一个文件里,光标实时可见,评论就地展开。开源里没有任何东西能匹配这种多人协作的打磨度。
- 像素级矢量工作。Auto Layout、约束、变体、组件——画布原语成熟,肌肉记忆扎得很深。
- 庞大的插件生态。十年沉淀的第三方插件、社区文件和模板,拿来即用。
- 团队已经熟悉的交付方式。Dev Mode、inspect、标注红线,工程师被训练了多年的那套流程。
如果你的工作是一名设计师在共享画布上画精确的屏幕、给其他人 review,Figma 仍然是答案,而且是个好答案。真正值得在意的差异,藏在下面一层——在于谁拥有这个文件、这套工作流和这条成本曲线。
它在哪里把你锁住
Figma 带着四重值得开门见山说清的锁定,因为定价页不会说。
文件是专有的。你的设计活在 Figma 的格式里、Figma 的服务器上。你能导出 PNG 和交付规格,但真正的事实来源——组件、变体、活的设计系统——只有在 Figma 里才完全可读。没有一个纯文本版本能在工具之外存活下来。
运行时是托管的。画布就是云。对于代理商工作、或 NDA 下的发布前创意,「这个文件存在哪」每次都是一场采购对话,而不是一个设置项。本地优先,不是一个可选模式。
插件不可移植。Figma 的插件生态真实且深厚——但每个插件都跑在 Figma 的运行时里、对着 Figma 的 API。你在那里搭的工作流,没法被拎出来、交给你笔记本上的一个 agent 跑,也没法被组合进一条不以 Figma 画布开头的流水线。
账单永远是按席位的。订阅席位对一个稳定的设计团队没问题。但对快速扩张的组织会变得别扭,对那条长尾——本来也能接手同一套工作流的贡献者、外包、一次性合作者——则根本不成立。
这些都不是 bug。它们是一个托管的、协作画布产品的形状,而 Figma 是这个形状里最好的版本。我们只是不为画布而造——我们为 agent 而造。
Open Design 押的那个转变
Open Design 不是 Figma 的克隆。这里没有无限画布,也没有多人光标。它是一个薄薄的 skill 层,把你本来就在用的编程 agent 变成一台设计引擎。四个原语是 skills、systems、adapters 和 daemon——而关键在于,它们全都只是文件:
- 每个 skill 是一个
SKILL.md文件,你可以读、可以 fork、可以提 PR 回来。 - 每个设计系统是一个可移植的
DESIGN.md文件——包括我们为 Figma 本身 ship 的那一份。你可以在任何编辑器里打开它、在 git 里 diff 它,它能活得比下一个读它的工具更久。 - 每个 agent adapter 大约 80 行 TypeScript。
这换来的,正好是上面四重锁定的反面:
- 文件是纯文本。skill 和 system 是 repo 里的 Markdown。你的设计系统不靠工具也能读。
- 运行时在本地。它通过
pnpm tools-dev跑在你的笔记本上,或者你自己部署。提示词发给你选的模型提供商——什么都不经过我们。 - 工作流可移植。一个 skill 就是一个文件夹。它能组合进你
$PATH上的任何 agent,而不是某个厂商的插件运行时。 - 默认 BYOK。粘贴任何 OpenAI 兼容的
base_url和 key;你的 token 直接发给提供商。Apache-2.0,无需注册,没有按席位的账单。
心智模型是这样的:Figma 是一块你租来的画布。Open Design 是一套你拥有的工作流。
逐项对照
| Figma | Open Design | |
|---|---|---|
| 许可 | 专有 | Apache-2.0 |
| 运行时 | 托管(浏览器,Figma 云) | 本地 daemon(pnpm tools-dev)+ 可选自托管 |
| 源文件格式 | 专有 .fig | repo 里的纯文本 SKILL.md / DESIGN.md |
| 主要界面 | 实时多人画布 | agent 驱动生成 + 沙箱预览 |
| 模型 / AI | Figma 自家 AI 功能 | 任意 OpenAI 兼容端点 + 检测到的编程 agent CLI |
| 插件 | 市场,跑在 Figma 内 | 可 fork 的 skill 文件夹,任意 agent 都能跑 |
| 设计系统 | Figma 库(工具内) | 可移植的 DESIGN.md 文件(含一份 Figma 的) |
| 定价 | 按席位订阅 | 免费;你直接付给模型提供商 |
| 交付 | Dev Mode、inspect、红线 | $PATH 上任意 agent,外加 HTML / PDF / PPTX / ZIP 导出 |
| 可自托管 | 否 | 是(笔记本或你自己的部署) |
| 数据路径 | 文件 → Figma 云 | 提示词 → 你选的提供商;什么都不经过我们 |
诚实地总结:Figma 拥有市面上最打磨的协作画布体验,而对一个一起 review 精确屏幕的设计师团队来说,这份打磨就是产品本身。Open Design 则完全用画布换来了一个库——skills、systems 和 agents,设计成与你笔记本上已有的工具组合起来用。不同的形状,不同的押注。
谁该选哪个
| 如果你是…… | 选 |
|---|---|
| 做实时、多设计师画布工作、需要在线 review 的设计团队 | Figma。开源里没有东西能匹配那块多人画布。 |
| 整天做像素级矢量和组件工作的设计师 | Figma。画布原语成熟,你的肌肉记忆值真金白银。 |
| 已经标准化在 Figma 上、Dev Mode 进了工程环节的组织 | Figma。整合成本你已经付过了;把它花掉。 |
| 已经在终端里驱动 Claude Code、Codex 或 Cursor 的设计工程师 | Open Design。你的 agent 就是设计引擎;skill 层加上品味和结构,不用再装一个新应用。 |
| 任何需要 BYOK、项目中途换模型、或敏感简报要本地化处理的人 | Open Design。现实比宣传更粗糙,但这是唯一真正成立的契约。 |
| 想要一套能熬过工具更替的设计系统的团队 | Open Design。DESIGN.md 文件比读它的工具活得更久。 |
| 想 ship 一套项目能采纳的设计工作流的开源贡献者 | Open Design。放一个文件夹,重启 daemon,提 PR。 |
对大多数团队来说,定胜负的那个维度不是质量——Figma 的手艺是真的。而是:你的工作是一块用来画的画布,还是一套用来自动化的工作流。如果是后者,你会更想拥有它,而不是租它。
接下来做什么
如果你已经有一个可重复的 Figma 活儿——导出这些 frame、同步那些 token、重建那个 deck 模板——感受差异最快的方式,是把其中一个迁移成一个插件。从一个烦人的、可重复的小任务开始,而不是「替换 Figma」。
或者直接跑那条三行命令的快速上手,把它指向你本来就在付费的模型。整个东西活在一个 repo 里,第一个 deck 大约十分钟。
延伸阅读
- 如何把 Figma 工作流迁移成 Open Design 插件——一次导出、token 同步或品牌套件的具体路径
- Claude Design 的开源替代方案——同样诚实的判断,换一个工具
- 为什么我们把 Open Design 做成 skill 层,而不是一个产品——「是层,不是产品」这个押注背后更长的宣言