本文档为希望为“截图生成代码”应用程序做出贡献或修改其代码的开发者提供了全面的指导。它涵盖了开发环境的设置、项目结构的理解、核心系统的使用以及常见开发任务的实现。有关评估工具的信息,请参阅评估系统,有关前端组件的详细信息,请参阅前端架构。
要开发“截图生成代码”应用程序,您需要
或者,您可以使用 start 脚本
用于在不使用 AI 积分的情况下进行调试
来源: README.md50-78 backend/pyproject.toml8-24 backend/start.py1-5
使用生产设置运行前端
构建用于生产的前端
来源: README.md62-68 frontend/package.json6-13
对于容器化开发环境
注意:在 Docker 模式下,文件更改不会触发重新构建。
来源: README.md80-89
来源: README.md41-78 backend/.pre-commit-config.yaml1-25 backend/pyproject.toml8-32 frontend/package.json5-79
来源: frontend/package.json15-52 backend/pyproject.toml8-24
代码生成过程是应用程序的核心工作流程,将用户输入连接到 AI 生成的代码。
来源: README.md5-17 frontend/src/lib/stacks.ts1-23 backend/prompts/types.py1-22
该应用程序支持多种技术栈。添加新栈需要协调前端和后端的更改。
栈在两个位置定义,必须保持同步
frontend/src/lib/stacks.ts 定义了 Stack 枚举和描述backend/prompts/types.py 定义了 Stack 类型和 SystemPrompts 类型当前支持的技术栈
来源: frontend/src/lib/stacks.ts1-23 backend/prompts/types.py1-22
项目包含前端和后端的测试设置
前端使用 Jest 进行测试,配置在 package.json 中。
后端使用 pytest 进行测试,依赖项在 pyproject.toml 的 dev 部分定义。
来源: frontend/package.json13 backend/pyproject.toml26-28
在为应用程序编写测试时,请遵循以下指南
前端测试:
后端测试:
端到端测试:
来源: frontend/package.json53-75 backend/pyproject.toml26-28
在后端目录中创建一个 .env 文件,其中包含以下变量
| 可变 | 目的 | 必填 |
|---|---|---|
| OPENAI_API_KEY | OpenAI 服务的 API 密钥 | 可选* |
| ANTHROPIC_API_KEY | Anthropic Claude 的 API 密钥 | 可选* |
| OPENAI_BASE_URL | OpenAI API 的自定义 URL(用于代理) | 可选 |
| MOCK | 设置为“true”以在模拟模式下运行 | 可选 |
*实际功能至少需要 OPENAI_API_KEY 或 ANTHROPIC_API_KEY 中的一个。
前端环境变量通过 .env.local 管理
| 可变 | 目的 | 默认 |
|---|---|---|
| VITE_WS_BACKEND_URL | WebSocket 端点 | ws://:7001 |
| VITE_HTTP_BACKEND_URL | HTTP 端点 | http://:7001 |
来源: README.md50-96
项目使用 pre-commit hook 来确保代码质量。这些 hook 在 .pre-commit-config.yaml 中定义,包括
安装 pre-commit hook
来源: backend/.pre-commit-config.yaml1-25
要集成新的 AI 模型
添加新的技术栈
frontend/src/lib/stacks.ts 和 backend/prompts/types.py 中有关新栈的内容来源: frontend/src/lib/stacks.ts1-23 backend/prompts/types.py1-22
来源: README.md41-96 frontend/package.json6-13 backend/pyproject.toml26-28 backend/.pre-commit-config.yaml1-25
常见开发问题及解决方案
| 问题 | 解决方案 |
|---|---|
| 后端设置错误 | 检查 Python 版本 (3.10+) 并确保 Poetry 已正确安装 |
| OpenAI API 错误 | 验证 .env 文件中的 API 密钥格式和有效性 |
| 前端连接错误 | 确保后端正在运行并且 VITE_WS_BACKEND_URL 正确 |
| UTF-8 错误与 .env | 在 Windows 上,使用 notepad++ 打开 .env 文件并将编码设置为 UTF-8 |
| 代理配置 | 在 backend/.env 中设置 OPENAI_BASE_URL,URL 路径中包含“v1” |
来源: README.md91-98