【GitHub Copilot】Figma MCP还原设计稿生成前端代码

【GitHub Copilot】Figma MCP还原设计稿生成前端代码

这里写自定义目录标题

Cursor+Figma MCP的教程已经很多了,由于我所在的公司采购的是GitHub Copilot,我研究了一下直接在vscode里利用GitHub Copilot接入Figma MCP进行设计稿还原代码,大获成功,这里分享我的步骤,希望能帮到你。

Step1:让AI给你配置MCP

在vscode中打开你的项目(我的例子是一个微信小程序),呼出github copilot对话框,模式选择Agent,模型建议Claude 3.7 Sonnet,提问:

https://github.com/GLips/Figma-Context-MCP 如何配置能让你在vscode里使用这个mcp

之后跟着提示狂点下一步即可完成配置,如果有什么需要装的vscode插件它会自动帮你装,甚至自动生成了配置说明文档。

在这里插入图片描述


由于不能保证AI每次生成的答案都一致,这里附上我的运行结果作为参考,可以看到它在项目文件夹最外层建了一个.vscode文件夹,在settings.json文件里加上了配置。如果你的项目本来就有这个settings.json文件它应该会加在文件最后面。

{"mcpServers":{"Framelink Figma MCP":{"command":"cmd","args":["/c","npx","-y","figma-developer-mcp","--figma-api-key=这里稍后替换成你自己的密钥","--stdio"]}}}

Step2:替换成自己的Figma密钥

打开Figma的网页点击左上角自己的头像 -> settings -> Security -> Generate new token
设置路径可能会有变化,自己到处点点找到Generate new token就对了
找到点击之后会出现下面这个弹窗,随便起个名字比如mcp,然后把下面的权限列表一个个打开选择读或写,要不然默认是全部No access的。
注意默认是30天过期,30天后需要建一个新的才能继续用。

在这里插入图片描述


都选完之后点右下角的generate token之后会生成一个密钥,这是你唯一一次复制它的机会,没复制好就关掉窗口了就只能重新建了。把这个密钥复制到settings.json文件中–figma-api-key=后面。

Step3:如何使用

我以这个官方电商UI模板里的商品卡片为例,在Figma设计图上选中你要的部分图层,右键后点击Copy link to selection

在这里插入图片描述

之后就可以把链接贴到对话框了,先来测试一下配置是否成功了,确保模式是Agent,提问:

https://www.figma.com/design/GJZhGih0VsGbpevJGkJQ9Z/E-commerce-UI—Figma-Ecommerce-UI-Kit–Demo-Version—Community-?node-id=2804-7985&m=dev 现在你能读到这个设计图了吗
在这里插入图片描述


出现这样的弹窗说明Agent在尝试链接MCP server了,点继续(也可以点击右边的箭头在当前会话中允许操作就不用每次都手动点了),过一会儿可以看到它的描述,说明设计图被读到了,我们的配置生效了。

在这里插入图片描述


现在可以让它写代码了

请根据这个设计图在我的微信小程序里生成商品卡片组件的代码,注意微信小程序中2rpx=1px,要完全还原设计图的UI,再建一个测试页面展示这个组件的调用效果,可以参考微信小程序官方文档https://developers.weixin.qq.com/miniprogram/dev/api/
在这里插入图片描述


继续等AI操作,等它操作完之后到开发者工具里运行,可以看到还原度已经非常高了。

在这里插入图片描述

对比设计图,指出哪里还原度不够,让它进一步优化,客客气气的。

看上去有一些UI细节不够还原,比如卡片的内边距,还有按钮的布局,请你再仔细检查一下。
商品图片上的三个icon按钮应该是水平居中的,learn more按钮应该是水平居左的。另外你能不能直接下载设计图里的icon为svg来使用,这样更还原。

如上描述改了两个版本之后,我们得到了下图版本,我把设计图放在左边,可以看到还原度非常惊人了。

在这里插入图片描述

最后,来人工review一下生成组件代码,可以看到模板层dom设计非常合理,没有多余的嵌套,注释清晰,比我的同事靠谱多了

<viewclass="product-card"><!-- 图片区域 --><viewclass="fixed-height"><viewclass="product-cover"style="background-image:url('{{product.coverImage}}');"></view><!-- 产品操作按钮 --><viewclass="product-actions"><viewclass="action-button like"><viewclass="icon"><imageclass="icon-image"src="/images/icons/like-icon.svg"></image></view></view><viewclass="action-button basket"><viewclass="icon"><imageclass="icon-image"src="/images/icons/basket-icon.svg"></image></view></view><viewclass="action-button share"><viewclass="icon"><imageclass="icon-image"src="/images/icons/share-icon.svg"></image></view></view></view><!-- 标签 --><viewclass="tag"wx:if="{{product.tag}}"><text>{{product.tag}}</text></view></view><!-- 产品信息区域 --><viewclass="product-info"><!-- 类别和评分 --><viewclass="row category-rating"><viewclass="category-container"><textclass="category">{{product.category}}</text></view><viewclass="rating-container"><imageclass="star-icon"src="/images/icons/star-icon.svg"></image><textclass="rating">{{product.rating}}</text></view></view><!-- 产品标题 --><textclass="product-title">{{product.title}}</text><!-- 产品描述 --><textclass="product-description">{{product.description}}</text><!-- 销售信息 --><viewclass="sales"><viewclass="icon"><imageclass="sales-icon"src="/images/icons/sales-icon.svg"></image></view><textclass="sales-text">{{product.sales}} Sales</text></view><!-- 价格信息 --><viewclass="prices"><textclass="original-price"wx:if="{{product.originalPrice}}">¥{{product.originalPrice}}</text><textclass="current-price">¥{{product.price}}</text></view><!-- 颜色选项 --><viewclass="product-colors"><viewclass="color-dot"wx:for="{{product.colors}}"wx:key="index"style="background-color:{{item}};"></view></view><!-- 产品特性 --><viewclass="product-features"><viewclass="feature"><viewclass="icon"><imageclass="feature-icon"src="/images/icons/calendar-icon.svg"></image></view><textclass="feature-text">{{product.duration}}</text></view><viewclass="feature"><viewclass="icon"><imageclass="feature-icon"src="/images/icons/lessons-icon.svg"></image></view><textclass="feature-text">{{product.lessons}} Lessons</text></view><viewclass="feature"><viewclass="icon"><imageclass="feature-icon"src="/images/icons/progress-icon.svg"></image></view><textclass="feature-text">Progress</text></view></view><!-- 了解更多按钮 --><buttonclass="learn-more-button"hover-class="button-hover"><text>Learn More</text><imageclass="arrow-icon"src="/images/icons/arrow-right-icon.svg"></image></button></view></view>

调用组件的示例页面给的例子也一目了然

<viewclass="container"><viewclass="title">商品卡片组件展示</view><viewclass="card-container"><product-cardproduct="{{productData}}"></product-card></view></view>

Read more

比迪丽AI绘画模型Python爬虫实战:自动化采集艺术素材

比迪丽AI绘画模型Python爬虫实战:自动化采集艺术素材 艺术创作需要灵感,也需要素材。但手动收集图片素材耗时耗力,如何高效获取优质艺术素材并快速进行风格转换?本文将展示如何用Python爬虫结合比迪丽AI绘画模型,搭建一套自动化艺术素材采集与处理流水线。 1. 项目背景与价值 艺术创作过程中,寻找合适的参考素材往往需要花费大量时间。无论是插画师、设计师还是艺术爱好者,都需要不断收集各类图像素材来激发灵感。传统的手动搜索和保存方式效率低下,且难以系统化管理。 比迪丽AI绘画模型的出现为艺术创作带来了新可能,但如何为其提供高质量、多样化的输入素材仍是一个实际问题。通过Python爬虫技术,我们可以自动化地从多个来源采集艺术素材,再结合比迪丽的风格转换能力,快速生成符合需求的艺术图像。 这套方案特别适合需要大量素材的内容创作者、设计团队和教育机构,能够将素材收集时间从几小时缩短到几分钟,让创作者更专注于创作本身而非素材准备。 2. 整体方案设计 我们的自动化艺术素材采集系统包含三个核心模块:爬虫采集模块、数据处理模块和AI风格转换模块。 爬虫模块负责从目标网站获取原始

基于FPGA的高精度TDC设计

Xilinx 使用 Vivado 实现 TDC:基于 Verilog 的高精度时间数字转换器设计 在激光雷达系统中,飞行时间(ToF)测量的精度直接决定了距离分辨能力。一个典型的挑战是:如何在不使用昂贵专用芯片的前提下,实现皮秒级的时间间隔测量?随着FPGA架构的进步,尤其是Xilinx 7系列及UltraScale器件中SLICE结构的高度一致性,这个问题有了新的答案——利用FPGA内部的进位链(Carry Chain)构建全数字TDC(Time-to-Digital Converter),不仅成本低、集成度高,还能达到50~100 ps的分辨率。 这种方案的核心思想并不复杂:把两个事件之间极短的时间差,“展开”成一条由微小延迟单元串联而成的物理路径,再通过锁存这条路径上的状态来“读出”时间值。听起来像是用尺子量时间,而这条“尺子”的最小刻度就是每个延迟单元的传播延迟。 要理解这一机制,得先看清楚FPGA里藏着什么“宝藏”。在Xilinx Artix-7或Kintex-7这类主流器件中,每一个CLB(Configurable Logic Block)

Stable Diffusion 3.5 开发指南(三):Stable Diffusion 3.5 LoRA 微调

概述 在之前的章节中,我们学习了如何获取和调用 Stable Diffusion 3.5 模型,以及深入理解了其核心的 Flow Matching 机制。本章将聚焦于LoRA(Low-Rank Adaptation)微调技术,这是一种高效的模型定制方法,能够在保持原有模型性能的同时,仅通过少量参数更新即可实现特定任务的定制化。 1. 数据集准备 1.1 数据集格式 微调 Stable Diffusion 3.5 模型需要图像-文本对数据集,每个数据项应包含以下两个核心字段: * img_path:图像文件的路径(支持绝对路径或相对路径) * caption:与图像内容精准匹配的文本描述 示例 JSON 数据集格式 [{"img_path":"/path/to/image1.jpg"

【GitHub项目推荐--Video2Robot:从视频到机器人动作的端到端生成管道】⭐

简介 Video2Robot 是由AIM-Intelligence开发的开源项目,是一个端到端的管道系统,能够将视频或文本提示转换为机器人可执行的运动序列。在机器人技术、动画制作和虚拟现实快速发展的今天,如何让机器人执行自然、流畅的人类动作成为关键挑战。传统方法需要专业动画师手动设计动作,或通过复杂的运动捕捉系统,过程耗时耗力且成本高昂。Video2Robot应运而生,通过整合先进的视频生成、人体姿态提取和运动重定向技术,实现了从简单描述到机器人动作的自动化转换。 核心价值: * 自动化流程:将复杂的手动设计过程自动化,显著提高效率 * 自然动作生成:基于真实人类动作生成自然流畅的机器人运动 * 多模态输入:支持文本提示、现有视频、图像参考等多种输入方式 * 广泛兼容性:支持多种主流机器人平台,包括Unitree、Booster等 项目定位:Video2Robot填补了自然语言/视频到机器人动作转换的技术空白。与需要专业设备和复杂流程的传统运动捕捉系统不同,该项目通过软件管道实现了低成本、高效率的动作生成。项目特别注重易用性和可扩展性,通过模块化设计支持不同组件的替换和