介绍draw-a-ui前需要先提一下tldraw。

什么是 tldraw?

tldraw 是一款协作数字白板,可在 tldraw.com 上体验。 它的编辑器、用户界面和其他底层库都是开源的,可以在这个存储库中使用, tldraw 也已经发布在了 npm 上。 开发者可以使用 tldraw 为产品创建嵌入式白板,或作为构建自己无限画布应用程序的基础。

import { Tldraw } from '@tldraw/tldraw'
import '@tldraw/tldraw/tldraw.css'
// 引入相应的库
export default function () {
	return (
		<div style={{ position: 'fixed', inset: 0 }}>
			<Tldraw />
		</div>
	)
}

目前 tldraw 在Github上通过 MIT 协议开源,有超过28.4k的star、1.6k的fork、是一个值得关注的优质前端开源项目。

什么是 draw-a-ui?

而 draw-a-ui 是一个使用 tldraw 和 gpt-4-vision api 并根据绘制的线框生成 html 和 css 的应用程序的工具。GPT-4 Vision 结合视觉数据理解自然语言的能力使其有别于传统的人工智能模型, draw-a-ui 项目还可以识别图像内的空间位置。 借助 GPT-4 Vision API,用户可以通过视觉数据的镜头更深入地探究世界。

draw-a-ui

draw-a-ui 的工作原理是获取当前画布 SVG,然后将其转换为 PNG,接着将该 png 发送到 gpt-4-vision,并附有指令以返回带有 tailwind 的单个 html 文件。

draw-a-ui

不过值得一提的是,draw-a-ui 项目目前还不是很成熟,不适用于生产用途,也没有任何身份验证。大家如果感兴趣,可以在 http://www.draw-a-ui.com 平台进行体验。

目前 draw-a-ui 在 Github 上通过 MIT 协议开源,有超过 11.8k 的 star、1.3k 的 fork、是一个值得关注的前端向优质 AI 开源项目。

如何使用 draw-a-ui?

draw-a-ui 目前是一个 Next.js 应用程序。 首先,在项目的根目录中运行以下命令将获得一个能够访问 GPT-4 Vision API 的 OpenAI API 密钥。

请注意,该项目需要使用 Next.js 14 并且需要高于v 18.17 的 Node 版本。

echo "OPENAI_API_KEY=sk-your-key" > .env.local
// 需要有自己的openai的key、没有可以申请
npm install
// 安装依赖
npm run dev
// 启动开发服务器

用浏览器打开 http://localhost:3000 查看真实运行效果页面。

draw-a-ui相关资料

https://github.com/SawyerHood/draw-a-ui/tree/cc9cf808218288e88b106d3b9bc05c25fc32b942

https://www.draw-a-ui.com/

https://twitter.com/zsviczian/status/1726830508938772673

https://github.com/tldraw/tldraw