当前位置:首页 > 技术分析 > 正文内容

Screenshot-to-code:用屏幕截图生成代码

ruisui881个月前 (03-30)技术分析15

Screenshot-to-code是一个简单的工具,可使用 AI 将屏幕截图、模型和 Figma 设计转换为干净、实用的代码。现在支持 Claude Sonnet 3.5 和 GPT-4o!

Screenshot-to-code支持的技术栈:

  • HTML + Tailwind
  • HTML + CSS
  • React + Tailwind
  • Vue + Tailwind
  • Bootstrap
  • Ionic + Tailwind
  • SVG

Screenshot-to-code支持的 AI 模型:

  • Claude Sonnet 3.5 - 最佳模型!
  • GPT-4o - 也推荐!
  • DALL-E 3 或 Flux Schnell(使用 Replicate)用于图像生成

1、快速入门

Screen-to-code包含React/Vite 前端和 FastAPI 后端。

所需密钥:

  • 可访问 GPT-4 的 OpenAI API 密钥或 Anthropic 密钥(可选)
  • 建议同时使用这两种密钥,以便你比较 Claude 和 GPT4o 的结果

如果你想使用 Ollama 开源模型运行该应用程序(由于结果质量差,不推荐),请关注此评论。

运行后端(我使用 Poetry 进行包管理 - 安装请使用 pip install poetry):

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

你还可以使用前端的设置对话框设置密钥(加载前端后单击齿轮图标)。

运行前端:

cd frontend
yarn
yarn dev

打开 http://localhost:5173 以使用该应用程序。

如果希望在其他端口上运行后端,请在 frontend/.env.local 中更新 VITE_WS_BACKEND_URL 。

出于调试目的,如果你不想浪费 GPT4-Vision 积分,可以在模拟模式下运行后端(流式传输预先录制的响应):

MOCK=true poetry run uvicorn main:app --reload --port 7001

2、使用Docker

如果你的系统上安装了 Docker,请在根目录中运行:

echo "OPENAI_API_KEY=sk-your-key" > .env
docker-compose up -d --build

该应用程序将在 http://localhost:5173 上启动并运行。请注意,你无法使用此设置开发应用程序,因为文件更改不会触发重建。

3、常见问题解答

我在设置后端时遇到错误。我该如何修复它?

试试这个。如果仍然不起作用,请打开一个问题。

如何获取 OpenAI API 密钥?

请参阅这里的说明。

如何配置 OpenAI 代理?

如果你无法直接访问 OpenAI API,可以配置 OpenAI 基本 URL 以使用代理:在 backend/.env 中设置 OPENAI_BASE_URL,或直接在设置对话框中的 UI 中设置。确保 URL 路径中包含“v1”,因此它应该如下所示: https://xxx.xxxxx.xxx/v1

如何更新前端连接到的后端主机?

在 front/.env.local 中配置 VITE_HTTP_BACKEND_URL 和 VITE_WS_BACKEND_URL 例如,设置 VITE_HTTP_BACKEND_URL=http://124.10.20.1:7001

运行后端时看到 UTF-8 错误?

在 Windows 上,使用 notepad++ 打开 .env 文件,然后转到编码并选择 UTF-8。


原文链接:屏幕截图生成代码 - 汇智网

扫描二维码推送至手机访问。

版权声明:本文由ruisui88发布,如需转载请注明出处。

本文链接:http://www.ruisui88.com/post/3160.html

标签: vite svg
分享给朋友:

“Screenshot-to-code:用屏幕截图生成代码” 的相关文章

vue组件间的九种通信方式

前言Vue组件实例间的作用域是相互独立的,而通常一个页面是由很多个组件构成,这些组件可能又嵌套了组件,形成了一个关系网图,它们的关系可能是像下图中一样,大致分为两种使用场景,父子组件间通信和非父子组件间通信,父子组件间通信又分为直接父子关系和间接父子关系。vue提供了多种通信方法,针对不同的通信需求...

vue中组件之间的通信方式

** 1.1 父子组件**a. 父向子传数据: 第1种: 父通过属性传值,子组件通过props接收数据(注:props传过来的数据是单向的,不可以进行修改)第2种:子组件可以通过$parent来获取父组件里的数据和调用父组件的方法(注:数据是双向的,还要注意如用了UI组件并且在该UI组件里重新定义一...

继Yuzu后,任天堂要求移除多个Switch模拟器项目

IT之家 7 月 11 日消息,任天堂美国分公司 (Nintendo of America) 已要求移除多个用于模拟 Nintendo Switch 游戏的开源模拟器项目,其中包括 Suyu、Nzu、Uzuy、Torzu、Sudachi 和 Yuzu-vanced 等。这些模拟器均被指控包含绕过任天...

HTML5最新版本介绍

HTML5是HTML4.01和XHTML1.0之后超文本标记语言的最新版本,由一群自由思想者设计,最终实现了多媒体支持、交互性、更智能的表单和更好的语义标注。 HTML 5不只是 HTML规范的最新版本,它是用于生成现代 Web内容的一系列相关技术的总称,其中最重要的三个技术是:HTML5核心规范...

雅马哈TMAX 560 TECH MAX 外媒深度测评

应雅马哈(Yamaha)的邀请,在葡萄牙埃斯托里尔对全新的Yamaha TMAX 560 Tech Max踏板车进行了测试,在这里TMAX 560 Tech Max售价为11649英镑。雅马哈TMAX长期以来一直站在踏板车的顶端,就声誉和知名度而言,它是当之无愧的大踏板界NO.1。2020 TMAX...

js中数组filter方法的使用和实现

定义filter() 方法创建一个新数组, 其包含通过所提供函数实现的测试的所有元素。语法var newArray = arr.filter(callback(element[, index[, selfArr]])[, thisArg])参数callback循环数组每个元素时调用的回调函数。回调函...