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

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

ruisui884周前 (03-30)技术分析13

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:用屏幕截图生成代码” 的相关文章

双子座应用程序推出模型切换器以在Android上访问2.0

#头条精品计划# 快速导读谷歌推出了Gemini 2.0 Flash实验版,现已在其安卓应用中可用,之前仅在gemini.google.com网站上提供。新版本的15.50包含模型切换器,用户可以在设置中选择不同模型,包括1.5 Pro、1.5 Flash和2.0 Flash实验版。谷歌提醒,2.0...

JavaScript数组操作:掌握常用方法,提升开发效率

JavaScript数组操作:从增删改查到高级应用本文深入解析JavaScript中常用的数组方法,包括push、unshift、pop、shift、map、filter、reverse、at 和 slice。通过详细的例子和应用场景,帮助开发者快速掌握这些方法,提升代码效率和可读性。开篇点题作为J...

Python中的11 种数组算法

1. 创建数组 创建数组意味着留出一个连续的内存块来存储相同类型的元素。在大多数语言中,您可以在创建数组时指定数组的大小。假设您正在书架上整理一组书籍,并且您需要为正好 10 本书预留空间。功能架上的每个空间都对应于数组中的一个索引。# Example in Python arr = [1, 2,...

Vue2的16种传参通信方式

前言先直入主题列出有哪些传参方式,下面再通过事例一一讲解。props(父传子)$emit与v-on (子传父)EventBus (兄弟传参).sync与update: (父子双向)v-model (父子双向)ref$children与$parent$attrs与$listeners (爷孙双向)pr...

Vue Router 4 路由操作 - 路由导航

路由导航分为 声明式导航 和 编程式导航。通过 <router-link to="..."> 标签跳转的方式为声明式导航。通过 路由实例对象(router.push(...))跳转的为编程式导航。导航到不同的位置想要导航到不同的URL,使用 router.push 方法。...

慕课 SpringBoot2.X+Vue+UniAPP,全栈开发医疗小程序

本课程以业务驱动技术栈,打造业务相对完整的掌上医疗小程序,解决大家没有好的毕设项目或者求职项目的困境。本课程案例采用前后端分离架构,业务功能完善(既有WEB管理端,也有移动用户端),界面美观,无需艰涩的技术也能做出亮眼的作品。SpringBoot2.X+Vue+UniAPP,全栈开发医疗小程序 |...