Locofy 做的是最直接的事:接收 Figma 文件,生成 React。这是最自然的第一反应。设计进,代码出。为什么要想得更复杂?

诚实的答案是:对某些工作流来说,确实不需要想得更复杂。Locofy 快速而真实。但这个模型有随代码库增长而累积的局限。figmascope 做了一个不同的赌注——输出结构,让 Agent 来处理代码生成。这个赌注是否值得取决于你在构建什么以及谁在构建。

Locofy 是什么

Locofy 是一个 Figma 插件(也提供独立应用),将 Figma 设计转换为类生产级的 React、Next.js、Vue、HTML/CSS 或 Tailwind 代码。你安装插件,用 Locofy 注释标记你的图层(标记哪些是输入框、按钮、容器),运行导出,然后获得可粘贴到项目中的组件文件。

它支持响应式断点、基本交互状态和一些资产处理。输出旨在作为起点,而非最终代码——但对于简单的营销页面或着陆页片段,它可以在不接触文本编辑器的情况下完成 60-80% 的工作。

Locofy 有免费层(导出次数有限)和针对更高量和团队功能的付费计划。插件本身需要通过 Figma 社区安装,并在 Figma 的沙箱插件运行时中运行。

Locofy 的优势

无需 Agent。你不需要 Claude、Cursor 或任何 AI 编码助手。转换自包含在 Locofy 插件中。对于想在不涉及开发人员的情况下发布着陆页的设计师,Locofy 可以弥合这一差距。

快速首次输出。对于组件较少的简单布局,Locofy 几分钟内就能生成可用代码。如果你在制作原型或一次性营销页面,速度是真实的。

明确的结构主张。Locofy 替你做决定:这是你的组件树,这是 props 的命名方式。当你不想自己做这些决定时,这种主张性是一个特性。

框架感知的输出。代码直接针对你的技术栈。你不是在获取然后需要解读的通用 JSON——你得到的是一个已经应用了 import 语句、hooks 脚手架和 CSS Modules 或 Tailwind 类的 .tsx 文件。

Locofy 的劣势

一次性,而非迭代式。Locofy 生成快照。当设计变更时——设计总是会变更——你重新运行插件,并将新输出与现有代码库协调。没有差异模型。你在手动合并机器输出和人工输出,这很快会变得代价高昂。

被 Locofy 的主张锁定。框架选择、组件命名约定、prop 签名——这些来自 Locofy 的模型,而非你代码库的约定。如果你有具有特定组件 API 的设计系统,Locofy 不了解它们。它生成自己的。你花时间在 Locofy 世界和你的代码库世界之间协调。

插件依赖。每个想要运行导出的开发人员都需要安装插件、拥有 Locofy 账户并访问 Figma 文件。它不适合 CLI 工作流、CI 管道或非 Figma 用户的环境。

注释开销。从 Locofy 获得良好输出需要设计师为图层添加 Locofy 特定的标签。这是工具债务:注释必须维护,它们为 Figma 文件增加了噪音,且在 Locofy 之外毫无意义。

黑箱。代码生成逻辑是专有的。当输出有误时——有时确实会有误——你看不到原因。你调整图层名称、重新运行、抱着希望。没有可检查或审计的中间表示。

figmascope 的不同角度

figmascope 不生成代码。它生成上下文

包——CONTEXT.mdtokens.jsonscreens/*.jsoncomponents/inventory.jsonstrings.json——精确描述设计,让你选择的 Agent 来进行代码生成。那个 Agent 了解你的代码库、你的组件 API、你的命名约定、你的测试模式。Locofy 不了解这些。你的 Agent 了解,因为它一直在阅读你的代码。

screens/*.json 中的中间表示捕获布局语义:stack 对比 absolute 对比 overlay,通过 INSTANCE 节点上的 componentId 标识组件,以及通过 stringRef.key 标识文本字符串。当你告诉 Claude Code"使用我们现有的 Button 和 Input 组件实现这个屏幕"时,它拥有空间结构、组件引用和令牌名称来正确完成这项工作。它不是从截图推断——它在阅读规范。

令牌溯源级联:Figma 变量优先(如果设计系统已配置),其次是从频率推断(figmascope 查看哪些值重复出现并将其提升),如果两者都不适用则为空。tokens.json 输出是有类型且机器可读的。Agent 可以直接查找 color.surface.brand,而不是从截图解析十六进制值。

这个模型也是迭代式的。当设计变更时,你重新导出包并提交新版本。tokens.jsonscreens/login.json 中的差异准确告诉你什么变了。你把差异交给 Agent:"tokens.json 变更了——所有交互元素的 border-radius 从 8px 变为 6px——更新受影响的组件。"这是一个有针对性的、可差异化的工作流。它不需要协调两组生成的组件文件。

为什么 2026 年"为 Agent 提供结构"对许多团队优于"从插件生成代码"

Locofy 及类似工具背后的前提是,从设计生成代码是一个已解决或接近解决的问题。生成代码、修正它、发布。当"修正"步骤廉价时,这种方式效果更好。

2026 年的现实:如果你的 AI 编码 Agent 拥有良好的上下文,它非常擅长在你的代码库中编写符合惯例的代码。但当它的输出与 Locofy 的输出冲突时,它很难协调。给你的 Agent 结构化、可检查的上下文,让它完整地进行代码生成——按你的约定、针对你的组件——产生的协调工作更少,而非更多。

Locofy 的输出也是框架最终态的。一旦你有了来自 Locofy 的 JSX 组件,你就在编辑 JSX。figmascope 的输出是框架中立的。同一个包可以与 Claude Code 编写 React、Aider 编写 Vue 或 Cursor 编写 Web Components 配合使用。Agent 选择惯用法。上下文保持不变。

对比

维度 Locofy figmascope
输出类型 React / Vue / HTML/CSS / Tailwind 代码文件 上下文包:CONTEXT.md、tokens.json、screens/*.json、*.png
需要 Agent 是——包是 AI Agent 的输入
框架主张性 高——输出针对特定框架 无——Agent 选择框架
了解你的代码库 你的 Agent 了解
迭代工作流 困难——重新导出 + 手动协调 是——包差异是结构化且可检查的
注释开销 是——需要 Locofy 图层标签以获得良好输出
版本控制 否(仅生成代码) 是——包可差异化、可提交
开源/自包含 否——专有 SaaS MIT,完全在浏览器中运行
需要插件安装
定价 免费层 + 付费计划 免费,无需账户
令牌/设计系统感知 部分——映射 Figma 样式 完整——带有类型值和后备来源的 tokens.json
i18n 字符串键 是——IR 中的 stringRef.key + strings.json

何时 Locofy 是正确选择

坦率地说:Locofy 对于非编码设计师发布营销页面、着陆页片段或一次性原型是有价值的。如果你没有 AI Agent 设置,不想要一个,只需要一个 React 文件交给承包商——Locofy 可以完成这项工作。代码质量一般,但它就在那里,一般质量的可发布代码胜过团队无法采取行动的完美上下文。

它对于快速模型验证也真正有用:"这个布局能生成合理的标记吗?"运行 Locofy,查看输出,丢弃它。无需设置完整的 Agent 工作流即可获得快速反馈。

当你使用现有代码库、具有真实令牌的设计系统以及循环中的 AI 编码 Agent 构建生产 UI 时,figmascope 是更好的选择。该包给了 Agent 编写符合你项目代码所需的精确性——而不是需要重写的通用样板。