Figma 每日摘要
将“我在 Figma 中今天的更改”转化为一列简短的编辑记录,通过对比文件在今天之前的最后保存版本与其最新的保存版本,逐页进行比较。Figma 本身没有按用户记录的操作日志,因此这种差异对比是获取编辑级细节的唯一方法。
辅助脚本:与此文件同目录下的 scripts/figma_resume.py(标准 Python 库,JSON 输出)。
配置文件位于 ~/.config/figma-daily-resume/(config.json、token)。
模式选择
- 没有
config.json或没有 token → 设置模式。 - 用户说“运行”、“摘要”、“今天”,或调度器调用你 → 每日运行模式。
- 用户说“重新配置”/“更改页面/文件” → 重新执行设置中的相关提问。
设置
按以下顺序逐一提问。前一个问题未解决前不要继续。
1. Token 令牌
解释如何获取令牌,然后让用户自行保存:
- 打开 Figma → 账户菜单(左上角)→ 设置 → 安全 → 个人访问令牌 → 生成新令牌。
- 将其命名为
daily-resume,过期时间按用户偏好设置,并授予只读权限:file_content:read、file_metadata:read、file_versions:read、file_comments:read。 - 立即复制令牌;Figma 只显示一次。
- 将其保存到只有用户自己可见的文件中。让用户在终端中运行以下命令(使用编辑器可避免令牌留在 shell 历史记录中):
mkdir -p ~/.config/figma-daily-resume && chmod 700 ~/.config/figma-daily-resume && touch ~/.config/figma-daily-resume/token && chmod 600 ~/.config/figma-daily-resume/token && open -e ~/.config/figma-daily-resume/token然后粘贴令牌,保存,关闭文件。
使用文件而非环境变量,因为计划运行不会加载 ~/.zshrc。
绝不要在聊天中索要令牌,也绝不要回显或 cat 令牌。如果用户仍粘贴了令牌,坦诚说明,继续流程,并建议用户在最后撤销并重新生成令牌。
用 python3 scripts/figma_resume.py whoami 验证(打印句柄/邮箱,绝不打印令牌)。
2. 文件
询问 Figma 文件 URL(figma.com/design/<KEY>/...)。对每个链接运行 figma_resume.py pages <url> 并记下文件名。
3. 页面
展示每个文件的页面列表,询问用户实际编辑哪些页面。说明代价:一个大页面可能超过 100 MB,比较差异大约需要一分钟,因此只选用户真正工作的页面。一次最多询问几个页面;如果页面名称明显,建议先选择主题/UI 页面。
4. 输出方式
终端,Markdown 文件(默认为 ~/Documents/figma-resumes/YYYY-MM-DD.md),或 Notion 页面(仅当连接了 Notion 工具时才提供此选项)。保存选择。
5. 计划
询问每天几点执行。计划运行必须是本地的,因为令牌和配置文件都在本机上,云端例程无法访问。按以下优先级选择:
- Claude Desktop 本地计划任务:让用户创建一个每日任务,提示词为
/figma-daily-resume run。如果可以看到如何在此处创建,则直接操作;否则,给出精确步骤和提示词,而不是猜测界面。 - macOS launchd/cron 备用方案:运行
claude -p "/figma-daily-resume run --unattended"。 - 不要使用 CronCreate:它仅会话有效,7 天后过期。
最后再设置计划,这样如果有损坏的令牌或错误的页面 ID,会在自动化之前被发现。然后执行一次真实运行(见下文),以便用户在完成前看到结果。
config.json 配置
{"files": [{"key": "YOUR_FILE_KEY", "name": "My App",
"pages": [{"id": "0:1", "name": "Light Theme"}]}],
"output": {"type": "file", "path": "~/Documents/figma-resumes"},
"schedule": "18:00"}
每日运行
- 先询问目标(仅在
--unattended或无人回答时跳过):展示已保存的文件/页面,问“和上次一样,还是需要调整?”。接受添加/删除(例如“加上 Dashboard de cambios”、“今天跳过 Sakura”)。临时更改仅适用于当天,除非用户要求保存。 - 对每个文件,针对选定的页面集运行:
python3 scripts/figma_resume.py diff <key> --pages <ids>(如需回溯过去,添加--date参数)。在后台运行文件并回头检查,因为每个页面大约需要一分钟。同时运行comments <key>以获得今天撰写或解决的评论。 - 读取
status:no_versions_today:Figma 今天未保存任何版本,因此提示该文件“无已保存更改”。保存是周期性的(空闲时间或手动),最近的编辑可能尚未保存。no_baseline:文件在今日之前没有版本,无法比较差异;提示此情况。ok:汇总changes。
- 撰写摘要,然后将其传递到配置的输出位置。
撰写摘要
按文件 → 页面 → 顶层框架(frame)分组。每个编辑一个要点,使用用户自己的表述,直接使用数据中的确切字符串。过滤掉噪音;要点是便于快速浏览。
Figma 摘要,2026-09-21
My App / Light Theme UI
概述
• 键入了:“Brekdown by member” -> “Breakdown by member”
• 更改了“Card bg”的颜色:#ffffff -> #f5f5f5
• 添加了框架“Empty state”(12 个节点)
评论:撰写 2 条,解决 1 条
保持真实的规则:
- 类型:
text= 键入了文本,fill/stroke= 更改了颜色,renamed= 重命名,resized= 调整大小,added/deleted= 添加/删除(子树根节点,附带节点计数,不列出每个子节点)。 - 大量相似编辑(例如在 40 个节点上替换同一种颜色):用一个要点加计数表示。
- 这是两个已保存版本之间的净差异。说明是“净更改”,因为保存之间可能进行的编辑和撤销操作是看不见的。不要声称超出这个精度。
- 永远不要编造意图(如“优化了层次结构”)。只描述变化。
- 如果
editors包含其他人,则说明某些更改可能不是用户的。 - 当天有保存但差异为空:“已保存版本,但在这些页面上没有可见差异”(编辑可能在其他页面上——建议扩大页面范围)。
失败处理
- HTTP 401/403:令牌过期、被撤销或缺少权限。引导用户重新执行设置步骤 1。
- 大页面超时:重试一次,然后报告哪个页面失败,而不是静默跳过。
- 绝不打印令牌,也绝不将令牌写入除
~/.config/figma-daily-resume/token以外的任何文件。