前端终于不用等设计了,Agent 自动画原型,代码直接出

2026-07-20 21:04:19 0点赞 1收藏 0评论

你不是设计师,却被迫画原型。你不是项目经理,却在等设计稿。

等了两周的设计稿,切出来全是坑——间距不对、命名混乱、导出格式不兼容,前端永远在擦屁股。

2026 年了,Agent 都能写代码,画原型这件事也该交给 AI 了。

设计原型有三大代表性应用:Figma、Penpot、Pencil。其中 Figma 是商业闭源的,Pencil 支持 IDE/Agent ,Penpot 纯开源,支持本地化托管可完全免费使用。

所以很多时候 Penpot 被做 Figma 开源版。这款应用我其实在 24 年时候就介绍过,但是当前它面向的还是有点类似 PS 加原型设计的概念,而如今 Agent 当道,Penpot 也早已接入 Agent 工作流,提供 MCP 服务并且支持几乎所有 Agent 接入和访问。

这意味着我们不再需要手动去做原型设计,只要把权限交给 Agent,然后直接下要求就可以让它协助我们完成更多的产品原型设计,所得即前端代码,可直接交付给后端使用。

如果你是一个前端开发者,或者是全栈开发者,或者是 OPC,或者是在自己打磨产品,Penpot 加 Agent 的全自托管工作流,可能是你当前可以找到的优秀解决方案之一。

最重要的是,它自托管的完全免费的,而且拥有非常优秀庞大的插件库。可以帮你节约不少的 Figma 订阅费用。

前端终于不用等设计了,Agent 自动画原型,代码直接出

一. Penpot MCP + Agent

进入 Penpot,它会提供包含 XD、Figma、Canva、Sketch 在内的六种主流设计工作的使用风格。我们可以自由切换和选择,这就直接把学习成本打穿到了地板。

但是,对于我这种非设计专业的,或者没有使用过任何原型设计软件的人来说,依旧存在一定的学习成本和难度。

前端终于不用等设计了,Agent 自动画原型,代码直接出

所以 Penpot 内部提供了非常多的模板库,直接选择下面的模板样式就可以复用它们的设计。这里的模板即是新手引导性材料,又是一些设计灵感。我们还可以通过外部下载模板导入进去,整个 Penpot 的文档都是 SGV 等主流版本,不存在格式垄断,所以灵活度非常的高。

前端终于不用等设计了,Agent 自动画原型,代码直接出

下面我来跑一下如何使用 Agent 对接 Penpot 进行原型开发。这里我直接引用了官方提供的一系列模板之一,主要内容是 Penpot 的一个使用说明,里面都是使用的英文,以及部分操作。

那么最简单的例子,就是通过 Agent 把文中的英文都改成中文,来看看能完成任务并且保留争取的内容。

前端终于不用等设计了,Agent 自动画原型,代码直接出

第一步,我们需要先添加插件。点击当前工作页名称旁边的三个点进入设置,下面有一个插件按钮,点击后选择插件管理。

前端终于不用等设计了,Agent 自动画原型,代码直接出

先说下 Penpot 内部的设计插件,非常多。他们的官方可以直接安装插件,只要提供名字就ok了。

前端终于不用等设计了,Agent 自动画原型,代码直接出

但是我们这里要添加的是 Penpot 的官方 MCP 插件。截至本文成稿,Penpot 的 Image 镜像已经升级了,但是 MCP 镜像还是很老的版本,所以无法使用,需要我们自己去构建的。

我全部都整合到了项目代码里,大家直接复用就可以。

我们直接在插件的地址这里,输入下面的信息:极空间 NAS IP:4400/manifest.json。这是 MCP 服务的一个 mainfest.json地址。

前端终于不用等设计了,Agent 自动画原型,代码直接出

很快它就会完成安装,点击打开,会在系统右侧的插件列表里展示出来。

前端终于不用等设计了,Agent 自动画原型,代码直接出

继续点这个插件,里面有一个 Connect按钮,蒂芙尼蓝色的图标,点一下就可以和后台的 MCP 对接上了。

说一下 Penpot 的逻辑,它的 MCP 是根据工作页走的。就是如果你返回主页,或者换一个工作页,那就需要重新连接一下 MCP。

Agent 在和 MCP 交互的时候,MCP 会告诉 Agent 这是哪一个页面,里面的布局如何。

前端终于不用等设计了,Agent 自动画原型,代码直接出

正常情况下你点击后会显示为已连接。如果连接错误的话,在连接状态上方会有具体的提示信息,可以发给 AI 让它排查一下。

前端终于不用等设计了,Agent 自动画原型,代码直接出

MCP 的 Json 格式如下,直接复制到 Agent 下就可以。我这里以 Cherry Studio 为例,如果你用了 Claude 、WorkBuddy、Codex 等工具,那么可以直接把下面的 JSON 发给它们,让它们自行配置。

{   "mcpServers": {     "penpot": {       "type": "http",       "url": "http://NAS ip:4401/mcp"     }   } }

在 CherryStudio 里,可以看到 Penpot MCP 一共提供了 4 个工具,可以根据需要配置是否启动,是否启动批准。

前端终于不用等设计了,Agent 自动画原型,代码直接出

四个具体的 MCP Tool 功能如下。在和 Penpot 交互的时候,都是提供过 execute_code直接走命令的,和传统的 MCP 工具调用又有点区别。

前端终于不用等设计了,Agent 自动画原型,代码直接出

简单提问一下,让 Agent 看看能否获取到 MCP 信息。让它帮我把 Penpot 页面里的英文全部改成中文字体。

前端终于不用等设计了,Agent 自动画原型,代码直接出

DPSV 4 反正上手就是干,速度还是挺快的,干完以后顺便截了个图给我看了下最终的效果。比对原始的界面,布局、排版、格式完全没有变化,真的就是给我翻译了一下文字,准确性还是很强的。

前端终于不用等设计了,Agent 自动画原型,代码直接出

二. 极空间部署 Penpot

下面我们来部署 Penpot 这个项目吧。

依旧是使用我们的老朋友极空间。极空间最近更新了不少的功能,比如极影视 Emby 协议,极音乐 Subsonic 协议,无限网卡支持,大文件扫描等等。包括 Docker 端也更新了启动、排序、相对路径、.env 导入这些很实用的功能。

所以如果从 NAS 选择上,我是非常推荐大家选择极空间私有云的。简约而不简单,个性化功能足,性价比也不错。

回归正题,部署 Penpot 也是使用 Docker。但是因为 MCP 服务是需要自己构建的,所以需要将官方的 MCP 包先放到极空间里。

🔻极空间闪电传,直接复制,请务必放到根目录下。

[请复制这段文字,然后打开极空间 APP或客户端] 极空间用户分享了"mcp"。↫LIYDIMZRGIYTEVSOLE2EQ#m26bnaLWSXQde4h4saHzxR6OYE1pxNMuC0gbf9OVIFzVXm2abkrrQVnu5XT2Cc7LOE℞GE2TANRYHAZTEMBTGE↫提取码:2212前端终于不用等设计了,Agent 自动画原型,代码直接出

接着我们打开极空间的 Docker 应用,选择创建一个 Compose,然后路径就选择刚才闪电传放了 MCP 服务的那个根目录。(注意一定不要选到 MCP 文件夹里面)

然后复制下面的 yaml代码,填入 yaml 代码区部署。

services:   penpot-frontend:     image: penpotapp/frontend:2.16     restart: always     ports:       - 29001:8080   # 左侧端口可以改为自定义     volumes:       - ./assets:/opt/data/assets     depends_on:       - penpot-backend       - penpot-exporter     environment:       PENPOT_PUBLIC_URI: http://local:port # 这里填写你的局域网/域名,端口是映射后的       PENPOT_HTTP_SERVER_MAX_BODY_SIZE: 367001600       PENPOT_REGISTRATION_ENABLED: true   penpot-backend:     image: penpotapp/backend:2.16     restart: always     volumes:       - ./assets:/opt/data/assets     depends_on:       penpot-postgres:         condition: service_healthy       penpot-valkey:         condition: service_healthy     environment:       PENPOT_FLAGS: disable-email-verification enable-smtp disable-secure-session-cookies       PENPOT_PUBLIC_URI: http://local:port  # 这里填写你的局域网/域名,端口是映射后的       PENPOT_HTTP_SERVER_MAX_BODY_SIZE: 367001600       PENPOT_SECRET_KEY:                   # 这里填写定义字符串,和下面要一致       PENPOT_DATABASE_URI: postgresql://penpot-postgres/penpot       PENPOT_DATABASE_USERNAME: penpot       PENPOT_DATABASE_PASSWORD: penpot       PENPOT_REDIS_URI: redis://penpot-valkey/0       PENPOT_OBJECTS_STORAGE_BACKEND: fs       PENPOT_OBJECTS_STORAGE_FS_DIRECTORY: /opt/data/assets       PENPOT_TELEMETRY_ENABLED: "false"       PENPOT_REGISTRATION_ENABLED: true   penpot-exporter:     image: penpotapp/exporter:2.16     restart: always     depends_on:       penpot-valkey:         condition: service_healthy     environment:       PENPOT_SECRET_KEY:                   # 这里填写定义字符串,和上面要一致       PENPOT_PUBLIC_URI: http://penpot-frontend:8080       PENPOT_REDIS_URI: redis://penpot-valkey/0   penpot-postgres:     image: postgres:15     restart: always     stop_signal: SIGINT     healthcheck:       test: ["CMD-SHELL", "pg_isready -U penpot"]       interval: 2s       timeout: 10s       retries: 5       start_period: 2s     volumes:       - ./db:/var/lib/postgresql/data     environment:       POSTGRES_INITDB_ARGS: --data-checksums       POSTGRES_DB: penpot       POSTGRES_USER: penpot       POSTGRES_PASSWORD: penpot   penpot-valkey:     image: valkey/valkey:8.1     restart: always     healthcheck:       test: ["CMD-SHELL", "valkey-cli ping | grep PONG"]       interval: 1s       timeout: 3s       retries: 5       start_period: 3s     environment:       VALKEY_EXTRA_FLAGS: --maxmemory 256mb --maxmemory-policy volatile-lfu   penpot-mcp:  # MCP 服务     image: node:22-bookworm     container_name: penpot-mcp     restart: always     depends_on:       - penpot-frontend     working_dir: /app     command: >       sh -lc "corepack enable && npx -y @penpot/mcp@stable"     ports:       - 4400:4400       - 4401:4401       - 4402:4402     environment:       PENPOT_MCP_REMOTE_MODE: "true"       PENPOT_MCP_SERVER_HOST: 0.0.0.0       PENPOT_MCP_SERVER_PORT: 4401       PENPOT_MCP_WEBSOCKET_PORT: 4402       PENPOT_MCP_PLUGIN_SERVER_HOST: 0.0.0.0       PENPOT_MCP_LOG_LEVEL: info       pnpm_config_dangerously_allow_all_builds: "true"       PNPM_CONFIG_DANGEROUSLY_ALLOW_ALL_BUILDS: "true"

具体的执行部署,可以看我的图片。这里唯一注意的就是路径。然后配置项搜索 PENPOT_SECRET_KEY修改一下,自己编辑几个字符串进去就可以,别的都不用改。

前端终于不用等设计了,Agent 自动画原型,代码直接出

写在最后

以上就是我们本次的极空间部署 Penpot 的教程。

还是要感慨一下,NAS 的用途。

随着 AI,AI Agent 的普及,NAS 的定时一下子就发生了变化。它从最早的网络存储设备,到前几年的家庭应用中心,再到如今甚至有点像 Agent 服务中心演变。

它的配置、低功耗、长时间运行、Linux 属性,天然适配现在不断发展的 Agent 和 AI 应用。尤其是基于 RAG、LLMs 的本地知识库和资料整理,把存储、检索、分享发挥到了极致

而现在,它甚至可以将原型开发和设计应用也整合在了一起。真的,everything can docker,everything can in NAS。

前端终于不用等设计了,Agent 自动画原型,代码直接出

作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

展开 收起
0评论

当前文章无评论,是时候发表评论了
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
1
扫一下,分享更方便,购买更轻松