手绘草图直接生成HTML!这两个开源项目碉爆了!

博客首发自公众号:程序员Sunday

Hello,大家好,我是 Sunday。

利用低代码平台生成直接可访问的 HTML 好像已经不是什么新鲜事了,但是直接通过 手绘草图生成 HTML 应该还是比较少见的吧。

所以咱们今天就来看看这种功能如何实现!

想要实现这种功能需要依赖两个框架:

  1. tldraw:提供草图自定义绘制功能
  2. draw-a-ui:基于 tldraw,额外对接 GPT-4,直接生成 HTML

我们可以通过以下 GIF 来查看它们的工作方式:

那么下面咱们就看看这两个框架如何进行使用。

tldraw

tldraw 是一个可协作的数字白板工具 ,通过 tldraw.com 可以体验其功能。

这个工具提供了 开源 的编辑器、用户界面和其他底层库,开发者可以在相关的存储库中获取这些资源,同时也可以通过 npm 获取 tldraw。它为开发者提供了创建嵌入式白板或者构建自己无限画布应用程序的基础。这个工具的灵活性让开发者可以根据自己的需求定制应用,为产品增加协作绘图的功能。

我们也可以通过以下方式直接使用它:

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

draw-a-ui

draw-a-ui 是一个应用程序,利用 tldraw 和 GPT-4 Vision API,能够根据绘制的线框生成 HTML 和 CSS。

相较于传统人工智能模型,GPT-4 Vision 结合了视觉数据理解自然语言的能力,这让它在识别图像内的空间位置上更具优势。这个项目通过 GPT-4 Vision API 实现了对视觉数据的更深入探索,用户可以借助这个技术来更全面地理解世界。这种整合视觉和语言能力的方式使得 draw-a-ui 在根据用户绘制的线框生成 HTML 和 CSS 方面更为智能和准确。

我们可以直接通过这个链接来访问它在 twitter 上的宣传视频

链接:twitter.com/sawyerhood/...

draw-a-ui 的工作原理相当巧妙:

  • 它首先获取当前画布的 SVG 表示,然后将其转换为 PNG 格式。
  • 接着,它会发送这个 PNG 图像到 gpt-4-vision 模型,附带相应的指令,以请求返回一个包含 Tailwind CSS 的单个 HTML 文件。

这种方法结合了 SVG、PNG 转换和 GPT-4 Vision 的能力,使得用户能够利用绘制的线框生成具有高度定制风格的 HTML 和 CSS 文件。

弄清楚产品的状态和局限性对使用者至关重要。draw-a-ui 项目的当前状态是不够成熟,并且并未设计用于生产环境,也没有身份验证功能。有兴趣的用户可以在 www.draw-a-ui.com 平台上进行试用体验。

如何使用 draw-a-ui?

目前,draw-a-ui 是一个基于 Next.js 的应用程序。要开始使用,请在项目的根目录中运行以下命令。同时你需要 有一个可以访问 GPT-4 Vision API 权限的 OpenAI API 密钥。

确保你的 Node 版本高于 v18.17,并安装了 Next.js 14。

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

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

前端训练营:1v1私教,终身辅导计划,帮你拿到满意的 offer。 已帮助数百位同学拿到了中大厂 offer。欢迎来撩~~~~~~~~

相关推荐
溪语流沙3 分钟前
【每天一个CSS | Day19】流光文字与一笔写成的手写签名
前端·javascript·css
逐光者93310 分钟前
STM32——SPI 屏 · Flash · 高速
java·前端·stm32
To_OC18 分钟前
同样是让 AI 写全栈,为什么别人一句话就够了
前端·前端框架·next.js
CDwenhuohuo30 分钟前
electron pc项目打包成桌面端
前端·javascript·electron
前端大斗师33 分钟前
「大于 1000」把 1000 元那单也算进去了:我在 Vue3 订单页对了 10 句话
前端·人工智能·typescript·大模型·原力计划
Jmyd01231 小时前
用 Web VR 引擎搭建 3D 虚拟展厅:从素材上云到多端实时渲染的完整数据链路
前端·3d·vr·三维数字化
刘天远2 小时前
Agent成本核算实现:事件表、状态分布与Python归集
前端·数据库·人工智能·python
欣欣之王来了2 小时前
开发环境准备:Node.js、npm、VS Code安装配置
前端·学习·架构·项目·vue3教程
xiaolinudao1232 小时前
将多个 Excel 表格中的数据合并到单个表中|6 种实现方案全解析
java·前端·excel
LRL_3 小时前
跨平台 Node 模块安装指南:如何利用 pnpm/npm 配置`supportedArchitectures` 锁定平台依赖
前端·npm·node.js