2026年1月18日星期日

新Vercel开源json-render:用JSON规范AI生成前端代码,三天斩获6000星

针对AI生成前端代码存在的样式混乱、安全风险等问题,Vercel推出开源工具json-render。其核心创新是将AI输出约束为结构化JSON数据,再转换为标准化UI代码,实现"AI→JSON→UI"流程。该方案通过组件目录限制AI自由发挥,确保代码安全;支持数据绑定实现动态界面;并能导出可直接使用的Next.js代码。项目上线三天获超6000星,解决了AI编程可控性难题。

自从去年 Claude Code 和 Gemini 3 推出之后,大众对 AI 编程的热情被重新点燃,不论是否有一定编程基础,都开始尝试尝试用 AI 来开发个人应用。

但与此同时,当你深入开始用 AI 构建前端界面后,便会发现不少问题。

首先是 AI 生成的前端样式不一致,有时候也会因为组件搭配不对,而导致整个界面错乱。甚至更严重的,AI 在编写代码时,因为没有遵从各种规范和约束,导致项目出现不少安全隐患。

种种问题,使得项目开发效率降低,成本增高,在实际应用到生产环境后,也会让运维工作激增。

为了解决这个问题,知名网站托管平台,同时也是前端主流框架 Next.js 的创造者:Vercel Labs,终于出手了,在 GitHub 上正式开源了 json-render

项目上线短短三天,就暴涨 6000+ GitHub Star,可见一直以来,大家都被这个问题折磨得不轻。

star-history-2026118 (1)

对于 AI 乱写代码问题,Vercel 的解决方案简单粗暴:既然 AI 写代码容易失控,那就基于规范定义,对它加以限制。

这次的代码生成逻辑,与以往不同,JSON Render 直接制定了一条全新的规则:AI 不再负责 "造房子"(写逻辑代码),只负责"画图纸"(输出结构化的 JSON 数据)。

先让 AI 为前端产出对应的 JSON 格式文件,在基于此文件中定义的样式组件,来生成固定、规范化的前端 UI 代码。

在原有的基础上,重新定义了一套全新流程,即: "AI → JSON → UI"。

image-20260118150745161

在这个流程里,JSON 就像是一张标准化的"填空题"。AI 只能在格子里填内容,而不能在纸上乱涂乱画。

采取这种 "降维打击" 般的策略,把不可控的生成式 AI,变成了精准的填空题,并带来了三大杀手锏。

image-20260118150602729

1. 彻底的安全 "紧箍咒"

既然是填空题,那就必须遵循规则。因此技术团队引入了 Catalog(目录) 的概念,也就是先给 UI 定义一套清晰明确的组件库清单。

然后告诉 AI:"你只能用这里面的卡片、按钮、图表等等组件。"

如果 AI 脑子一抽,想捏造一个不存在的组件,或者想偷偷运行一段破坏性的脚本,内置渲染引擎会直接拦截。

这就彻底杜绝了 AI 瞎写代码导致的安全风险,让它只能在我们划定的圈子里干活。

image-20260118150431000

2. 让界面 "活" 过来

这是 JSON Render 最令人惊艳的地方。

传统的 AI 生成界面往往是死的,但 Vercel 在这套 JSON 规则里设计了 数据绑定 的功能。

AI 只需要在数据里标记一下, 就能快速指向数据库里的某个字段,自动完成数据更新。

当界面渲染出来时,它会自动去后台拉取最新的真实数据,甚至点击按钮能真正触发后端的业务逻辑。

Introducingjson-renderAI-generatedUI.Determinis-ezgif.com-video-to-gif-converter

3. 一键 "翻译",回源代码

很多时候,我们不仅希望能在 AI 聊天窗口中,直接看到成品效果,更希望代码能做到拿来即用。

得益于这种结构化的设计,json-render 新增了 Code Export(代码导出)功能。

它能把这套 JSON 指令,自动翻译成标准的、无依赖的 Next.js 代码文件。

下载下来,粘贴到你的项目里,直接就能跑,彻底打通了从"想法"到"产品落地"的最后一公里。

image-20260118150332929

安装 & 使用

至于上手使用,那就更加简单了,一行代码安装依赖包:

npm install @json-render/core @json-render/react

第一步,定义规则(Catalog),告诉 AI 有哪些组件可用:

import { createCatalog } from '@json-render/core';import { z } from 'zod';const catalog createCatalog({  components: {    Card: {      props: z.object({ title: z.string() }),      hasChildren: true,    },    // 定义更多组件...  },});

第二步,将用户的 Prompt 发给 AI,让其按照规范生成 JSON 数据。

第三步,在前端使用 Renderer 组件进行解析渲染,或者直接调用导出函数。

import { Renderer, useUIStream } from '@json-render/react';function Dashboard() {  const { tree } = useUIStream({ api'/api/generate' });  return <Renderer tree={tree} components={myComponentRegistry} />;}

写在最后

在项目短短几天,便能收获如此多的 Star 来看,除了技术团队本身在开源社区的影响力,更为重要的是这个项目解决了目前前端 UI 开发中,代码生成不可控的问题。

它借鉴了传统的 DSL,通过声明式语法,来更加稳定的输出代码,同时基于 AI 的对话能力,优化了整个交互流程,提升了编程体验。

整体而言,这确实算得上是一款极具前瞻性的开源工具。

在当下大家都在追求让 AI 产出各种前端酷炫界面的环境下,Vercel Labs 没有选择随大流,而是立足于开发者,知道得先让前端 UI 代码更可控,才能真正应用到商业应用。

目前,该项目仍在持续迭代与更新,对于想提升项目代码质量与稳定性的同学,建议上手把玩一下,同时也可以学习下该项目的设计理念。

GitHub 项目:https://github.com/vercel-labs/json-render

今天的分享到此结束,感谢大家抽空阅读,我们下期再见,Respect!

没有评论:

发表评论

英伟达2025人才战略:挖角巨头高管,收购华人创业团队

2025年,英伟达通过"挖角+收购"双线并进扩张人才版图。一方面从谷歌、微软等巨头引入市场、量子计算等关键高管;另一方面频繁收购Nexusflow、CentML等由华人领衔的初创公司,整体吸纳其技术团队。此举旨在超越硬件供应商角色,构建软硬一体全栈平台,布局A...