本页面提供了设置开发环境以贡献 gpt-engineer 存储库的技术说明。它涵盖了存储库克隆、依赖项管理、环境配置和代码质量工具设置。有关整体项目架构的信息,请参阅系统架构。
在设置开发环境之前,请确保您已安装
您还需要一个 OpenAI API 密钥(或其他支持的 LLM 提供商密钥)用于测试。
来源
下图说明了设置 gpt-engineer 开发环境的步骤
来源
有两种安装依赖项的方法
这将执行 install 目标,包括
poetry-install:安装项目依赖项install-pre-commit:设置 pre-commit 钩子farewell:显示完成消息来源
项目需要 LLM 提供商的 API 密钥。通过复制模板创建一个 .env 文件
编辑 .env 文件以添加您的 API 密钥
| 可变 | 目的 |
|---|---|
OPENAI_API_KEY | 使用 OpenAI 模型必需 |
ANTHROPIC_API_KEY | 使用 Anthropic 模型必需 |
或者,您可以直接将它们设置为环境变量
export OPENAI_API_KEY=your_api_keyset OPENAI_API_KEY=your_api_key$env:OPENAI_API_KEY="your_api_key"来源
gpt-engineer 使用 pre-commit 钩子来强制执行代码风格和质量标准。
设置 Poetry 后,安装 pre-commit 钩子
您也可以使用 Makefile 目标,它会自动执行此操作
这些钩子会在每次提交前自动运行
| 钩子 | 目的 |
|---|---|
black | 根据项目标准格式化 Python 代码 |
ruff | linting Python 代码以尽早捕获问题 |
check-toml | 验证 TOML 配置文件 |
check-yaml | 验证 YAML 配置文件 |
detect-private-key | 安全检查,防止提交敏感信息 |
end-of-file-fixer | 确保文件以换行符结尾 |
trailing-whitespace | 移除行尾空格 |
来源
此图说明了开发工具如何在 gpt-engineer 开发环境中进行交互
来源
此图显示了存储库中关键开发配置文件之间的关系
来源
以下序列图说明了使用 pre-commit 钩子的典型工作流程
来源
设置好环境后,以下是常见的开发任务
为你的更改创建分支
对代码库进行修改
提交您的更改(pre-commit 钩子将运行)
推送您的更改并创建拉取请求
来源
对于 Windows 用户,以下是额外的设置步骤
设置 API 密钥
set OPENAI_API_KEY=your_api_key$env:OPENAI_API_KEY="your_api_key"或者,设置系统环境变量
如果您遇到路径长度问题
来源
如果 pre-commit 钩子失败并修改了您的文件,请添加这些更改然后重试
如果 pre-commit 似乎跳过文件,并显示类似 (no files to check)Skipped 的消息,但在 CI 中失败,则强制在所有文件上运行
在提交拉取请求之前,这一点尤其重要。
来源
如果您遇到 Poetry 问题
poetry self updatepoetry cache clear --all pypipoetry env remove python 然后 poetry install来源