Skip to main content
Open on GitHub

通用指南

无论何种类型的贡献,请牢记以下几点:

  • 遵循 "fork and pull request" 工作流程。
  • 在提交拉取请求时,请填写已提交的拉取请求模板。注意相关的 issue,并标记相关的维护者。
  • 在请求审查之前,请确保您的 PR 通过了格式、代码检查和测试检查。
    • 如果您想就当前的进展获得评论或反馈,请提交一个 issue 或讨论区,并标记维护者。
    • 有关如何本地运行这些检查,请参阅 测试格式与代码检查 部分。
  • 向后兼容是关键。您的更改不应造成破坏性更改,除非是临时的错误和安全修复。
  • 在提交新的 PR 或 issue 之前,请查找是否已有重复的 PR 或 issue。
  • 保持更改的范围尽可能独立。通常情况下,您的更改一次不应影响多个包。

Bug修复

我们鼓励并感谢 Bug 修复。我们要求您:

  • 详细说明 Bug,以便维护者能够重现该 Bug。
    • 如果有相关的 issue,请链接到它。添加 Fixes 前缀,这样当 PR 合并时,相关的 issue 将会自动关闭。
  • 尽可能避免破坏性更改。
  • (如果适用)包含在没有 Bug 修复的情况下会失败的单元测试。

如果您遇到一个 Bug 但不知道如何修复,我们要求您提交一个 issue,详细描述您遇到 Bug 的环境。

新功能

我们旨在为新功能设定高标准。我们通常不接受来自外部贡献者提出的新的核心抽象、基础设施更改、依赖项更改或新的 agents/chains,除非有现有的 GitHub 讨论或 issue 表明其迫切需求。

  • 新功能必须附带文档、单元测试,以及(如果适用)集成测试。
  • 新集成必须附带文档、单元测试,以及(如果适用)集成测试。
    • 有关贡献新集成的更多详细信息,请参阅此页面
  • 新功能不应继承或使用已弃用的方法或类。
  • 我们将拒绝可能导致安全漏洞或报告的功能。
  • 不要添加任何硬性依赖项。集成可以添加可选依赖项。