开发者搜索"Figma inspector"通常有两个目的:一是在没有 Dev Mode 席位的情况下查看节点属性值,二是将 Figma 内容提供给 AI agent。前者有大量插件可以满足。后者几乎没有任何工具能胜任——直到 figmascope 出现。
本文对比这两个类别,解释为什么它们解决的是不同问题,并展示 agent 原生导出在实际中是什么样的。请前往 figmascope.dev 亲自尝试导出,或继续阅读完整对比。实际工作流程请参阅 Figma 导出至 Cursor 或 Figma 导出至 Claude Code。
"Figma inspector"工具实际上做什么
经典的 Figma inspector 是 Figma 自身 UI 中的右侧面板。选择一个节点,查看其填充、描边、效果、尺寸、约束、排版。在 Dev Mode(2023 年加入)中,这个面板增加了代码片段——从节点推断的 CSS 属性、以 flexbox 表达的自动布局,以及在配置了 Variables 时的颜色变量名。
Inspect、Figma to Code、Anima 等数十个插件在此基础上进一步扩展。有些能从选定节点生成 React 或 SwiftUI 代码片段。有些导出 CSS 文件。有些为交付审查在画布上添加标注。
所有这些工具的设计对象都是坐在屏幕前的人类开发者。它们按需、逐节点地呈现信息,由知道自己关心哪个节点的人来选择。
为什么这种模式对 AI agent 不起作用
语言模型不会坐在 Figma 里逐个点击节点。在开始生成代码之前,它需要所有相关上下文都在其上下文窗口中。逐节点检查产生的是碎片。agent 需要的是覆盖整个屏幕的结构化文档:层级、token 值、字符串、组件引用——一次全部提供。
还有格式问题。Dev Mode 生成的 CSS 片段接近正确但并非完全正确——属性名在不同框架间有差异,简写属性需要展开,绝对像素值需要映射到你的 token 体系。消费原始 Dev Mode 输出的 agent 会重新幻觉出 token 名称,捏造间距值,生成的代码看起来像是有人只看了你的设计一眼。
inspector 工具回答的是"这个节点是什么?"agent 工具回答的是"整个屏幕是什么,以一种模型能够推理的格式?"
figmascope 作为 Figma inspector 替代方案
figmascope 不是 Figma 内部的面板。它在你的浏览器中运行,直接与 Figma REST API 通信,并导出一个上下文 bundle——一个结构化的 zip 压缩包,包含 AI agent 实现设计所需的一切。token 格式在 AI Agent 的设计 Token 导出 中有详细说明,更广泛的交付哲学在 AI 设计交付 中有所涵盖。
导出内容包括:
- 每个帧的布局 IR,带类型且交叉引用 token,而不是一堆原始 CSS
- 稳定 JSON 格式的设计 token,而不是没有语义名称的十六进制值列表
- 带资源键的整合 UI 字符串,而不是分散在各节点的文本值
- 2× 参考渲染图,让 agent 在数据旁边有视觉基准
- agent 优先阅读的
CONTEXT.md规格文档,解释 token 命名规范、范围及任何异常情况
直接对比
| 能力 | Figma Dev Mode | Inspector 插件 | figmascope |
|---|---|---|---|
| 单节点属性值 | 支持 | 支持 | 不支持(不是目标) |
| 全屏布局树导出 | 不支持 | 部分支持 | 支持 — screens/*.json |
| 带类型的设计 token JSON | 不支持 | 部分插件支持 | 支持 — tokens.json |
| AI agent 规格文档 | 不支持 | 不支持 | 支持 — CONTEXT.md |
| 带键的整合字符串 | 不支持 | 不支持 | 支持 — strings.json |
| 组件清单 | 部分支持 | 部分支持 | 支持 — components/inventory.json |
| 参考渲染图 | 手动导出 | 不支持 | 支持 — screens/*.png(2×) |
| Token 频率推断 | 不支持 | 不支持 | 支持 — 针对无 Variables 文件的回退 |
| 需要 Figma 席位 | 需要 Dev Mode 席位 | 各异 | 不需要 — 仅使用 PAT |
| 隐私 / 不上传 | 数据由 Figma 处理 | 因插件而异 | 客户端处理,token 仅发送至 api.figma.com |
Figma Dev Mode——做对了什么,又差在哪里
Dev Mode 的代码面板对需要快速读取间距值或确认字体栈的人类开发者确实很有用。其 Variable 链接是一个正确方向的尝试——当 Figma 文件正确使用了 Variables,Dev Mode 会将变量名与解析值一并显示。
在 AI 工作流中的不足之处:
- 没有文件级导出。你可以读取一个节点;但无法导出整个帧层级的机器可读表示。
- CSS 片段是框架特定的,对非 Web 目标(iOS、Android、React Native)往往不正确。
- 没有字符串整合。文本值可以逐节点查看,但无法聚合。
- 没有 agent 可读的规格文档。Dev Mode 的标注是供人类在应用内阅读的,不适合语言模型推理。
- 需要 Dev Mode 席位(截至 2025 年每编辑器每月 45 美元)。figmascope 只需要一个 Personal Access Token,完全免费。
Figma Inspector 插件——全景概览
Figma inspector 插件大致分为三类:
- 属性查看器 — 复现 Dev Mode 右侧面板的功能,通常面向没有 Dev Mode 权限的免费版用户。例如:Figma Inspect、Handoff。
- 代码生成器 — 从选定节点生成特定框架的代码。例如:Figma to Code、Anima、Locofy。这些工具从单个选区生成代码,而非全文件结构化导出。
- Token 导出器 — 从 Figma Variables 导出设计 token。例如:Tokens Studio(前身为 Figma Tokens)、Variables2JSON。这些工具解决了 token 导出问题,但不解决布局 IR 或 agent 规格问题。
figmascope 不属于以上任何类别。在精神上最接近"token 导出器"类别,但它解决的是更广泛的问题:为 AI agent 正确实现整个屏幕提供所需的完整结构化上下文。
插件全景的更详细分析请参阅 figmascope vs Figma plugins。
何时用什么
这些工具并不互斥。一个现实的工作流:
- 当你作为开发者需要快速核查特定节点的值、与设计师确认间距决策,或验证某个颜色解析到哪个变量时,使用 Dev Mode 或 inspector 插件。
- 当你将整个屏幕(或文件)交付给 AI agent 进行代码生成时,使用 figmascope。每个设计里程碑运行一次,将 bundle 提交到仓库。
区别在于:同步检查(人类逐个读取节点)vs. 批量导出(agent 在一个结构化文档中获取全貌)。
PAT——它能访问什么,不能访问什么
figmascope 使用 Figma Personal Access Token 通过 REST API 读取文件。token 在你的浏览器中输入,仅存在于会话的浏览器内存中,仅以请求头形式发送至 api.figma.com。没有服务器接收它。关闭标签页后,token 即消失。
所需的最低权限是 File content: read-only。figmascope 不向 Figma 写入、不创建评论、不访问超出 token 权限范围的团队文件。完整威胁模型请参阅 PAT 安全性与 figmascope。
真实项目中的输出样貌
导出后,上下文 bundle 与你的源代码并排存放:
myapp/
├── src/
│ ├── screens/
│ └── components/
├── design/
│ ├── CONTEXT.md ← agent 首先读取此文件
│ ├── tokens.json ← 带类型的设计 token
│ ├── _meta.json ← 导出清单,包含警告信息
│ ├── components/
│ │ └── inventory.json ← 规范组件名称 + id
│ ├── screens/
│ │ ├── Home.json ← 布局 IR
│ │ ├── Home.png ← 2× 渲染图
│ │ ├── Profile.json
│ │ └── Profile.png
│ └── strings.json ← 所有 UI 文案,点分隔键
└── package.json
这就是你提交、在 CLAUDE.md 或 .cursorrules 中引用、并指向 agent 的工件。一次导出,所有所需上下文。
对比典型的 inspector 工作流:开发者打开 Figma,逐个点击节点,将值复制到代码中,漏掉了一个变量名,移动端内边距间距出了错,花二十分钟对比设计稿与实现结果。当 agent 在做实现工作时,结构化导出彻底消除了这个循环。
在项目 AI 配置中引用 bundle
Claude Code 在会话开始时读取 CLAUDE.md。Cursor 读取 .cursorrules。两者都支持项目级指令文件,在 AI 做任何事之前先对其进行定向。添加一个简短的设计章节,指向你的 design/ 目录:
# For CLAUDE.md (Claude Code)
## Design context
All design data is in `design/`. Before implementing any UI:
1. Read `design/CONTEXT.md` for scope and token conventions
2. Use `design/tokens.json` for all color, spacing, radius, and typography values
3. Use `design/components/inventory.json` for canonical component names
4. Use `design/strings.json` for all UI copy — reference by dot-notation key
5. Validate against `design/screens/*.png` renders
# For .cursorrules (Cursor)
Always read design/CONTEXT.md before implementing UI.
Token values are in design/tokens.json — never hardcode colors or spacing.
Component names come from design/components/inventory.json.
UI strings come from design/strings.json with dot-notation keys.
配置好之后,项目中的每个 agent 会话都会自动知晓设计目录的存在及使用方式——无需反复提示。
MCP 替代方案——以及为什么它不是同一回事
Figma 自己的 Model Context Protocol(MCP)服务器让 AI 可以直接连接 Figma API 并按需查询节点。这对探索性工作很有用——在实时对话中询问"这个按钮是什么颜色?"。但它不会产生可复现的、受版本控制的工件。每次 agent 运行时,它都会重新读取可能已变更的实时 Figma 文件。没有解释范围的 CONTEXT.md,没有预生成的具有稳定名称的 token 字典,没有针对异常布局的警告系统。
figmascope 与 Figma MCP 解决的是不同问题。MCP 是在线的、实时的,适合交互式探索。figmascope 产生离线的、版本化的、结构化的工件,适合在实现阶段进行确定性代码生成。详细对比请参阅 figmascope vs Figma MCP,并探索 figmascope 博客获取更多 AI 设计工作流的深度解析。