当设计师交付工作时,Figma Dev Mode 是最直接的第一选择。它是内置的、官方的,说的是 Figma 自己的语言。那么为什么要选择其他工具呢?

答案不是 Dev Mode 不好。而是它解决的是不同的问题。理解那个问题是什么——以及不是什么——是本文的全部内容。如果你想直接得到答案,在这里试试 figmascope

什么是 Figma Dev Mode

Dev Mode 是 Figma 的付费交付层,在 Professional 和 Organization 计划中可用。当你切换到它时(顶部工具栏中的 </> 按钮),你会得到一个面板,显示所选图层的 CSS 或 iOS/Android 代码片段、组件注释、变量值,以及设计师可以设置的"准备开发"状态标记。

它为设计师说"这完成了,去构建吧"的时刻而设计。开发者打开 Figma,点击浏览,复制代码片段,查看间距。没有导出步骤,没有文件,你只是在原地阅读设计。

Figma 还为 Dev Mode 提供官方 MCP 服务器(单独的——在 MCP 对比中介绍),但作为 UI 的 Dev Mode 主要是人类阅读体验。你指向、点击、检查、复制。

Dev Mode 生成的代码片段作为快速参考确实有用。你可以看到字体栈、精确的间距 Token(如果变量已设置)、圆角半径。对于只需要检查特定值的高级开发者来说,速度很快。

什么是 figmascope

figmascope 是一个浏览器端工具——无后端、无需安装、在标签页中运行——从任何 Figma 文件导出结构化上下文包。你粘贴 Figma URL 和个人访问令牌(保存在内存中,不会发送到服务器),它生成一个包含以下内容的 .zip

包是普通文件,无运行时、无 SDK。放入仓库,提交,差异比较,交给任何可以读取文件的 AI Agent。

与 Dev Mode 的关键区别:这不是 Figma 内部的阅读体验,而是完全离开 Figma 的导出。

Dev Mode 的优势

实时检查。如果你想立即点击特定图层并获取其精确计算值,Dev Mode 是即时的。没有导出步骤,没有 zip,没有上下文切换。答案就在面板中。

官方集成。Figma 构建、维护它,并与产品其余部分一起发布改进。变量支持、注释工作流、准备开发状态——这些是具有第一方支持的原生功能。当 Figma 添加新的设计系统能力时,Dev Mode 会获得它。

团队分发。Figma 组织计划上的每个设计师和开发者都已经有它了。无需安装、解释或维护额外工具。

设计时工具。设计师可以标记框架为准备好的,留下代码级注释,在同一画布内与开发者协作。这种来回对于需要评论和状态更新的 QA 循环确实很有价值。

figmascope 的优势

Agent 无关的基于文件的输出。Dev Mode 的输出存在于 Figma 内。figmascope 的输出存在于你控制的 zip 中。将其放在代码旁边,将 Claude Code 或 Cursor 指向它,Agent 就拥有完整规范——所有屏幕、所有 Token、所有字符串——根本不需要连接到 Figma。

版本控制。figmascope 包可以差异比较。提交它,放入 PR,看看上周的设计和今天的设计之间哪些 Token 发生了变化。Dev Mode 没有规范本身的版本历史概念——Figma 有文件版本历史,但那是针对源文件的,不是设计意图的可导出快照。

无需付费层。figmascope 是 MIT 许可的,免费使用。它使用公共 Figma REST API,只需要一个 PAT(在任何 Figma 账户上免费)。Dev Mode 需要 Professional 或 Organization 计划。对于在免费计划上工作的独立开发者或小团队,figmascope 是唯一的选择。

确定性输出。相同版本的同一 Figma 文件的每次导出产生相同的包。相同的 JSON、相同的 Token、相同的字符串。这对可重现性很重要——你可以在 CI 中运行它,将包固定到发布版本,针对它进行回归测试。

可移植且离线。一旦你有了包,它在没有 Figma 或任何服务器连接的情况下工作。Agent 上下文是自包含的。在飞机上、防火墙后,或者只是不想在构建冲刺期间依赖 Figma 正常运行时,这很有用。

IR 保留空间语义。screens/*.json 中间表示捕获布局类型(stack、overlay、absolute)、组件标识(INSTANCE 节点上的 componentId)和文本字符串引用——不仅仅是计算的 CSS。Agent 可以推理布局结构,而不仅仅是复制片段。

并排对比:同一 Figma 文件

以一个带有表单、主按钮和几个文本 Token 的登录屏幕为例。以下是每个工具提供的内容:

Dev Mode 输出:你点击的图层的 CSS 属性(font-size: 16px; color: #1f1d1a; border-radius: 8px)。每次一个图层。你复制所需内容。如果你想要完整的按钮状态,你逐个点击。如果你想要 Token 名称,如果设计师连接了变量就有——否则就没有。

figmascope 包输出:带有完整登录屏幕规范的 CONTEXT.md。带有 color.text.primaryspacing.4radius.mdtokens.json——键控、类型化、从变量获取或推断。带有 IR 树的 screens/login.json:一个持有引用 componentId: "abc123" 的表单 INSTANCE 的 stack 容器,带有 stringRef.key: "auth.login.cta" 的子叶节点。将该键映射到"登录"的 strings.json。2× 的 screens/login.png

你将包交给 Cursor。它读取 CONTEXT.md,从 tokens.json 提取 Token 名称,从 IR 构建组件。它根本不需要打开 Figma。

对比

维度 Figma Dev Mode figmascope
定价付费(Professional / Org 计划)免费,MIT 开源
输出格式Figma 内面板,CSS/iOS/Android 片段.zip:CONTEXT.md、tokens.json、screens/*.json、*.png
集成模式在 Figma UI 内,逐图层检查浏览器导出,然后普通文件到处可用
Agent 兼容通过 MCP 服务器(单独功能)任何可读取文件的 Agent(Claude Code、Cursor、Aider、Copilot…)
版本控制友好否(输出存在于 Figma 中)是——包可差异比较、可提交
确定性输出否(逐点击,会话绑定)是——相同文件版本 → 相同包
离线/可移植否——需要 Figma 连接是——包无需任何连接即可工作
设计时注释是——准备开发、评论
空间/布局 IR否——所选图层的平坦 CSS是——带组件标识的 stack/overlay/absolute/leaf
Token 来源有 Figma 变量时从变量获取Figma 变量 → 从频率推断 → 无
i18n 字符串键是——IR 中的 stringRef.key + strings.json
需要插件安装否(内置于 Figma)否(浏览器标签页,REST API)

各自的适用场景

使用 Dev Mode 的情况:你需要快速检查特定值,你在设计评审中间想查看 Token,你的团队已经在付费 Figma 计划上并且生活在 Figma 中,或者你想要设计师的注释工作流和准备开发状态标记。

使用 figmascope 的情况:你将上下文交给 AI Agent 进行构建冲刺,你想在代码旁边对设计规范进行版本控制,你在免费 Figma 计划上,你需要完整的布局 IR(不仅仅是逐图层 CSS),或者你想要可以固定到发布版本或在 PR 中差异比较的确定性、可重现输出。

它们不是互斥的。构建时用 Dev Mode 检查,导出 figmascope 包将设计规范锚定在仓库中。两者不竞争——它们覆盖工作流的不同部分。