乐于分享
好东西不私藏

告别设计稿和代码"两张皮",这款 AI 工具让设计真正落地

告别设计稿和代码"两张皮",这款 AI 工具让设计真正落地

Pencil.dev:当 AI 代理开始”画图”,设计师和开发者都坐不住了

设计在画布上,落地成代码。这可能是 AI 时代前端开发工作流的终极形态。


引言:设计与代码的”最后一公里”

如果你是一名前端开发者,一定经历过这样的场景:

设计师在 Figma 里交付了一套精美的界面,你打开设计稿,开始一行一行写代码还原。颜色、间距、圆角、阴影…你反复比对设计稿和浏览器预览,试图做到”像素级还原”。但即便如此,设计师看到实现效果后,往往还是会说:”这里的间距不对”、”这个颜色有点偏差”、”这个圆角是不是小了”。

这就是设计到代码的”最后一公里”问题。

传统的流程是:设计 → 设计稿 → 开发 → 反复调整 → 上线。设计工具和代码编辑器是两个完全割裂的世界,信息在传递过程中必然丢失或扭曲。

但如果我们能在一个地方完成设计和代码呢?如果 AI 能直接理解视觉设计并生成对应代码呢?

这就是 Pencil.dev 想要解决的问题。


什么是 Pencil.dev?

Pencil.dev 是一个 Agent-driven design platform(AI 代理驱动的设计平台),它的口号很简单:Design on canvas. Land in code.(在画布上设计,落地成代码)

它的核心定位是:让 AI 代理能够在视觉画布上直接进行设计工作

具体来说,Pencil.dev 是一个嵌入在 IDE(VS Code、Cursor 等)中的设计工具,它提供了一个无限画布,你可以在画布上像使用 Figma 一样进行视觉设计。但与 Figma 不同的是,Pencil.dev 的设计文件(.pen 文件)是纯 JSON 格式的,可以被 AI 代理(如 Claude Code、OpenAI Codex)直接读取和操作。

这意味着:

  • AI 可以在画布上”画图”——根据你的文字描述生成界面设计
  • AI 可以读取设计文件——理解每个元素的坐标、样式、层级关系
  • AI 可以基于设计直接生成代码——真正实现”设计即代码”

核心功能解析

1. 无限设计画布:设计就在代码旁边

Pencil.dev 提供了一个 无限画布,你可以在这个画布上创建 Frame(画板)、绘制形状、添加文本、使用组件库。界面布局与 Figma、Sketch 等主流设计工具高度相似,左侧是工具栏和图层面板,中间是画布,右侧是属性检查器。

但关键的区别在于:Pencil.dev 直接运行在 IDE 里

你的代码和设计只隔着一个 Tab。你可以在代码编辑器里写业务逻辑,切换到 Pencil Tab 调整界面设计,然后再切回代码让 AI 根据设计生成组件。整个过程不需要打开浏览器、不需要切换应用、不需要导入导出文件。

为什么这很重要?

因为设计不再是”前期阶段”的专属工作,而是变成了开发流程的一部分。当你需要一个登录框时,不需要打开 Figma 画好再切回 VS Code,直接在 Pencil 里描述需求,AI 就能帮你生成设计,然后立即转换成 React/Vue 代码。

2. AI 代理驱动:MCP 协议让 AI 能”看见”设计

Pencil.dev 最核心的技术亮点是它实现了 MCP(Model Context Protocol,模型上下文协议)

MCP 是一个开放的协议标准,允许 AI 代理与外部工具进行双向通信。Pencil.dev 内置了一个 MCP 服务器,它作为 AI 代理和画布之间的”翻译官”:

  • 当你对 Claude Code 说”帮我在 Pencil 里设计一个仪表盘”时
  • Claude 通过 MCP 协议向 Pencil 发送指令
  • Pencil 在画布上创建 Frame、添加组件、设置样式
  • 你实时看到 AI 在”画图”的过程

这是一个 真正的双向交互:AI 不仅能生成设计,还能读取已有的设计文件,理解视觉层级、颜色变量、组件结构,然后基于这些信息生成精准的代码。

实际使用场景:

假设你在 Pencil 里设计了一个用户卡片组件,包含头像、用户名、简介和关注按钮。你可以直接对 Claude Code 说:

“查看 user-card.pen 文件,用 Tailwind CSS 生成对应的 React 组件,确保间距和颜色与设计稿一致。”

Claude 会读取 .pen 文件中的 JSON 数据,获取精确的布局参数(padding: 16px, border-radius: 12px, gap: 12px 等),然后生成与视觉稿像素级一致的代码。

这比传统的”AI 看图写代码”要准确得多,因为 AI 拿到的不是像素图像,而是结构化的设计数据。

3. 设计即代码:.pen 文件就是你的设计系统

Pencil.dev 使用 .pen 文件格式存储设计,这种文件是纯 JSON 文本,可以被 Git 追踪、可以被代码读取、可以被 AI 理解。

这意味着:

  • 设计与代码同仓库:你可以把 .pen 文件放在项目的 design/ 目录下,和源代码一起管理
  • 版本控制:设计的每一次修改都有 Git 历史记录,可以 diff、可以回滚
  • 团队协作:设计师和开发者可以在同一个文件上协作,就像协作代码一样
  • 程序化操作:你可以写脚本批量修改设计、自动生成设计变体

与传统工作流对比:

传统流程
Pencil.dev 流程
设计师在 Figma 里画稿
设计师/开发者在 Pencil 里设计
导出 PNG/PDF 给开发
直接保存 .pen 文件到代码库
开发手动测量间距、取色
AI 读取 .pen 文件直接生成代码
设计更新后重新导出
Git diff 查看变更,自动同步

4. Figma 兼容:平滑迁移现有设计

如果你或团队已经在使用 Figma,Pencil.dev 提供了 复制粘贴兼容 功能。你可以直接从 Figma 复制设计元素,粘贴到 Pencil 的画布中。

这大大降低了迁移成本。你不需要重新设计已有的组件库,只需要复制过来,Pencil 会自动解析图层结构和样式属性。

5. 组件化设计套件:开箱即用的设计系统

Pencil.dev 内置了多个精心策划的设计系统(Design Kits):

  • Shadcn UI:现代、简洁的 React 组件库
  • Lunaris:科技感十足的暗色主题系统
  • Halo:明亮、友好的企业级组件
  • Nitro:高性能、轻量级的组件集

这些设计系统不是简单的样式包,而是包含完整设计 Token(颜色、字体、间距、阴影)的组件库。当你让 AI 生成设计时,可以指定使用某个设计系统,生成的界面就会遵循该系统的设计语言。

如果你的团队有自己的设计系统,也可以将其配置为 Pencil 的设计套件,确保 AI 生成的设计符合品牌规范。

6. 像素级代码还原:设计到代码的精准映射

Pencil.dev 的最终目标不仅是”画出好看的界面”,而是 让代码真正还原设计

由于 AI 可以读取 .pen 文件中的精确参数(x/y 坐标、width/height、padding、margin、border-radius、box-shadow 等),生成的代码不再是”大概差不多”,而是与设计稿像素级一致。

在实际测试中,从 Pencil 设计到代码的还原度可以达到 95% 以上,剩余的 5% 通常只需要微调响应式适配或添加交互动效。


实际使用演示:从一句话到上线

让我们通过一个完整的案例,看看 Pencil.dev 的实际工作流程:

第一步:创建设计

在 VS Code 里打开 Pencil,新建一个 Frame,命名为 “Dashboard”。然后打开终端,对 Claude Code 说:

在 Pencil 的 "Dashboard" Frame 中设计一个博客后台管理系统界面:
- 左侧需要一个导航侧边栏,包含文章、分类、标签、设置等菜单
- 主区域上方显示统计数据卡片(总文章数、阅读量、评论数)
- 下方显示最近文章列表,包含标题、作者、发布时间、状态
- 使用 Shadcn UI 设计系统
- 整体采用深色主题

Claude 会通过 MCP 连接 Pencil,开始在画布上”作画”。你会实时看到侧边栏出现、统计卡片生成、文章表格渲染。

第二步:微调设计

AI 生成的设计已经非常不错,但可能还需要一些小调整。比如你觉得文章列表的间距有点小,可以直接在 Pencil 里选中表格,在右侧属性面板中增加 padding 值。

第三步:生成代码

设计满意后,保存为 dashboard.pen。然后对 Claude Code 说:

读取 dashboard.pen 文件,生成一个完整的 Next.js 页面组件:
- 使用 Tailwind CSS 实现样式
- 使用 React 函数组件
- 包含所有设计中的元素
- 确保颜色、间距与设计稿一致

Claude 会解析 .pen 文件,生成精准的代码。

第四步:运行部署

生成的代码可以直接运行,浏览器中的效果与 Pencil 画布上的设计几乎完全一致。你只需要添加数据获取逻辑和业务交互,就可以部署上线。

整个过程从”一句话描述需求”到”可运行的代码”,可能只需要 10-15 分钟。


谁适合使用 Pencil.dev?

Pencil.dev 的目标用户非常明确:

开发者

  • 需要快速搭建原型或 MVP
  • 不想在 CSS 微调上浪费时间
  • 希望设计稿能直接转换成可用代码

产品经理

  • 需要制作高保真原型用于演示
  • 希望原型能”假戏真做”,直接变成可用界面
  • 没有专业设计技能,但需要输出像样的界面

设计师

  • 希望设计能更直接地落地,减少与开发的沟通成本
  • 对 AI 辅助设计感兴趣,想探索新的工作流程
  • 希望设计文件能被版本控制和程序化操作

独立开发者/创业者

  • 一人身兼多职,需要快速产出可用的产品界面
  • 没有预算请专职设计师
  • 追求快速迭代,快速上线

同类工具对比

工具
定位
与 Pencil.dev 的区别
Figma
专业设计工具
纯设计,无 AI 集成,需要手动导出代码
v0.dev
AI 生成 UI
纯 AI 生成,设计过程不可见,可编辑性弱
Claude Artifacts
AI 预览组件
仅支持单个组件预览,无完整设计画布
Pencil.dev
AI + 设计 + 代码
可视化设计 + AI 驱动 + 代码生成,三者合一

Pencil.dev 的独特价值在于 三者兼备:它既有 Figma 的可视化设计能力,又有 v0 的 AI 生成能力,还能直接输出可用的生产代码。


局限性与展望

作为一款新兴工具,Pencil.dev 目前还有一些局限:

  1. 生态还在初期:相比 Figma 的丰富插件生态,Pencil 的扩展能力还比较有限
  2. 复杂交互支持:目前主要支持静态界面设计,复杂交互动效还需要额外开发
  3. 团队协作功能:实时协作、权限管理等企业级功能还在完善中

但从技术路线来看,Pencil.dev 代表了 前端开发的未来方向

  • 设计即代码:设计文件不再是”参考资料”,而是代码的一部分
  • AI 原生工具:工具从底层就为 AI 代理设计,而非后期叠加 AI 功能
  • 开放格式:.pen 是开放标准,任何人都可以基于它开发工具

随着 MCP 协议的普及和 AI 代理能力的增强,我们有理由相信,类似 Pencil.dev 这样的工具会成为前端开发的标准配置。


总结

Pencil.dev 正在重新定义设计与开发的关系。它不是一个简单的”AI 生成 UI”工具,而是一个 AI 时代的设计基础设施

  • 它让 AI 代理真正”看见”设计
  • 它让设计文件成为代码的一部分
  • 它让”设计到代码”不再是单向的转换,而是双向的同步

对于追求效率的开发者、希望设计落地的设计师、需要快速原型的产品经理来说,Pencil.dev 都值得尝试。

目前 Pencil.dev 完全免费,支持 macOS、Windows 和 Linux,你可以在 pencil.dev 下载体验。


在这个 AI 重新定义一切的时代,设计和代码的边界正在消失。Pencil.dev 只是一个开始,更大的变革还在路上。