Star 17.3k!这个截屏项目火了!给它一张屏幕截图,即可一键克隆网页!

简介: Star 17.3k!这个截屏项目火了!给它一张屏幕截图,即可一键克隆网页!

本文为大家分享一款本周爆火的 GPT开源项目


前言


你敢信,只凭借着一张屏幕截图即可转换生成 HTML/Tailwind CSS 代码。可以算得上是前端工程师的福音。它就是 screenshot-to-code


而这个项目刚上线也就一周左右,在GitHub上就已经有 17.3k 的Star。它可以纳入本周爆火项目之一了!


项目介绍


screenshot-to-code 的功能实现是借助 gpt-4-vision-preview 模型,直接给你的屏幕截图转换为 HTML/Tailwind CSS,并利用 DALL-E 3 的图像生成能力,生成外观相似的图像。


说的通俗易懂一点就是,该项目利用 GPT4 Vision 的能力来完成图像识别和代码生成的功能。

该项目是采用前后端分离模式,后端是采用 Python FastAPI 框架 开发而成。前端则是借助 React 框架构建。


利用这个开源工具,我们可以直接将设计稿转换为实际代码,快速为网站生成 Demo。也可以在学习过程中,用该工具来模仿学习其它网站代码。


与其说是前端的福音,不如说是后端的福音,是不太擅长前端代码编程人的福音。


主要功能


  • GPT-4Vision智能生成代码: 通过集成GPT-4Vision,该应用程序能够智能地分析截图并生成相应的HTML、Tailwind CSS和JavaScript代码,使用户无需手动编写代码。
  • DALL-E3生成相似图像: 应用程序不仅生成代码,还利用DALL-E3生成与原始截图相似的图像,增强用户体验。
  • 实时代码更新: 用户可以直接在应用程序中查看生成的代码,并在需要时通过与AI的互动指令,调整样式或更新缺失的部分,以满足其需求。
  • 灵活的配置选项: 应用程序提供了设置,允许用户选择是否启用DALL-E图像生成功能,使其更加灵活适应不同需求。
  • 本地部署与用户反馈: 用户可以通过本地部署应用程序进行使用,同时FAQ部分提供了解决常见问题的指南。用户还可以通过GitHub上的issue或Twitter提供反馈、功能请求和报告bug。


使用


前提:需要一个能够访问 GPT-4 Vision API 的 OpenAI API 密钥。

后端Python需要安装一个poetry模块来进行包管理。

pip install poetry

然后以此命令来运行:

cd backend
echo "OPENAI_API_KEY=sk-your-key" > .env
poetry install
poetry shell
poetry run uvicorn main:app --reload --port 7001

运行前端:

cd frontend
yarn
yarn dev

前端和后端都运行后,访问指定服务http://localhost:5173即可使用。


项目源码剖析


有大佬们看到该项目爆火后,就去研究了下它的实现原理,其核心竟然是依靠 Prompt,然后通过 Prompt提示词 去交给gpt4-vision模型去处理。


以下内容为英译中后的Prompt:

你是一名熟练的Tailwind开发者

你从用户那里获取参考网页的截图,然后使用Tailwind、HTML和JS构建单页面应用程序。

你可能也会收到你已经构建的网页的截图,并要求更新它的外观,使其更像参考图片。

  • 确保应用程序看起来与截图完全一样。
  • 注意背景颜色、文字颜色、字体大小、字体系列、填充、边距、边框等。准确匹配颜色和尺寸。
  • 使用截图中的确切文本。
  • 代码中不要添加注释,比如 "<!-- 根据需要添加其他导航链接 -->" 和 "<!-- ...其他新闻条目... -->",而是写入完整的代码。
  • 根据需要重复元素以匹配截图。例如,如果有15个项目,则代码应该有15个项目。不要留下 "" 这样的注释,否则会出现问题。
  • 对于图像,请使用来自 https://placehold.co 的占位图像,并在alt文本中包含图像的详细描述,以便图像生成AI可以生成图像。

在库方面:

仅返回在<html></html>标签中的完整代码。不要包括markdown "```" 或在开头或结尾的 "```html".


生成图片的原理,是直接从生成好的 HTML 中提取出 img 标签,再次调用 DALL-E 3 接口生成图片,替换进去。


小结


screenshot-to-code 它是一个开源项目,旨在利用深度学习技术将屏幕截图转换为可编辑的代码。快速一键克隆目标风格页面,该项目的目标是帮助开发人员快速生成代码,节省时间和精力。


总的来说,screenshot-to-code 是一个有潜力的开源项目,可以为开发人员提供便利和帮助,同时也对深度学习技术在软件开发领域的应用进行了探索和实践。

相关文章
|
存储 前端开发 文件存储
Flutter笔记:关于应用程序中提交图片作为头像
1. 头像选择与提交的一般步骤Flutter笔记关于应用程序中提交图片作为头像作者目 录1. 头像选择与提交的一般步骤2. 选择本地文件到头像的示例代码3. 将图像提交到后端1. 头像选择与提交的一般步骤image将处理后的图像作为用户的头像显示在应用程序中。您可以使用Image或小部件来加载和显示图像。这些步骤涵盖了从选择图像到上传、处理和显示图像的基本流程。请根据您的具体需求和后端实现来自定义这些步骤。此外,确保您的应用程序有适当的权限以访问设备上的相册或相机,这通常需要在和。
337 0
|
3月前
|
缓存
Discuz! X3.5论坛如何去除隐藏文章内容图片鼠标经过时显示“下载附件”等信息
Discuz! X3.5论坛如何去除隐藏文章内容图片鼠标经过时显示“下载附件”等信息
73 1
|
5月前
|
图形学
小功能⭐️Unity截屏功能的实现
小功能⭐️Unity截屏功能的实现
|
8月前
|
前端开发
实践任务:项目介绍与项目准备+制作网页头部和导航+制作banner和最新更新栏目+制作苹果之家栏目+制作底部版权区域与CSS代码优化+制作Apple独家栏目
实践任务:项目介绍与项目准备+制作网页头部和导航+制作banner和最新更新栏目+制作苹果之家栏目+制作底部版权区域与CSS代码优化+制作Apple独家栏目
57 1
|
网络安全 开发工具 数据安全/隐私保护
sourcetree安装与简单使用图文说明(非常详细)
​ 1、下载 点击此处下载sourcetree 弹窗勾选同意相关协议,点击“Download”按钮下载即可 2、安装 1)双击下载的sourcetree安装包  如图所示,选择Bitbucket方式(如代码仓库放在Bitbucket服务器,可选择Bitbucket服务器方式输入地址和用户名,再在弹窗中输入密码即可,本文只针对Bitbucket方式) 关于Bitbucket的登录注册,这里不做过多赘述,有不明白的同学欢迎留言讨论 2)登录成功,点击“下一步”按钮 3)继续点击“下一步”按钮 4)配置偏好设置信息,点击“下一步”按钮 这里就是安装成功后上传代码会显示的用户名和对
1909 1
|
iOS开发 开发者 索引
批量上传iOS应用程序截图的实用技巧
提交iOS应用程序截图到iTunes Connect是一项非常繁琐的任务,因为你必须上传多达数十张屏幕截图,这是一个重复而枯燥的过程。但是,我们有一个好消息要告诉开发者们,现在有一个工具可以帮助你批量上传,方便快捷。
|
开发者
一步步教你如何上传头像
一步步教你如何上传头像
392 0
一步步教你如何上传头像
|
程序员
程序员PS技能(四):程序员创建PSD文件、展示简单PSD设计流程,上传PSD至蓝湖,并下载Demo切图
程序员PS技能(四):程序员创建PSD文件、展示简单PSD设计流程,上传PSD至蓝湖,并下载Demo切图
程序员PS技能(四):程序员创建PSD文件、展示简单PSD设计流程,上传PSD至蓝湖,并下载Demo切图
如何利用ps工具,裁量咱的素材小图标和如何获取到大小合适的素材图标呢(各自图标素材集中于一张png图片上)
如何利用ps工具,裁量咱的素材小图标和如何获取到大小合适的素材图标呢(各自图标素材集中于一张png图片上)
187 0
如何利用ps工具,裁量咱的素材小图标和如何获取到大小合适的素材图标呢(各自图标素材集中于一张png图片上)
|
存储 Android开发 容器
Flutter 42: 图解页面截屏与本地保存小尝试
0 基础学习 Flutter,第四十二步:Flutter 截屏方法了解一下~
3613 0