跳到主要内容

🤝 贡献

赞助商Warp
Warp
面向开发者的智能终端

🚀 欢迎,贡献者们! 🚀

非常感谢您对 Open WebUI 贡献的兴趣。本文档旨在指导您完成整个过程,确保您的贡献能有效提升项目。让我们一起把 Open WebUI 变得更好!

💡 贡献

想要贡献?太棒了!以下是您可以提供帮助的方式:

🌟 代码贡献指南

我们欢迎拉取请求(Pull Request)。在提交之前,请确保:

  1. 在此处发起关于您想法的讨论。
  2. 遵循项目的编码标准,并为新功能包含测试。
  3. 根据需要更新文档。
  4. 编写清晰、描述性的提交消息。

🛠 代码 PR 最佳实践:

  1. 原子性 PRs: 确保您的 PR 足够小、专注,并只处理一个目标或任务。这有助于简化代码审查,并减少引入不相关问题的可能性。如果更改范围过大,请考虑将其拆分为更小、逻辑上独立的 PR。
  2. 遵循现有代码规范: 确保您的代码符合项目现有的编码标准和实践。
  3. 避免额外的外部依赖: 未经事先讨论,请勿包含额外的外部依赖。
  4. 框架无关方法: 我们力求保持框架无关性。尽可能自行实现功能,而不是依赖外部框架或库。如果您对此方法有疑问或建议,请随时讨论。

感谢您的贡献!🚀

📚 文档与教程

通过改进文档、编写教程或创建关于设置和优化 Web UI 的指南,帮助我们使 Open WebUI 更易于访问。

🌐 翻译与国际化

帮助我们让 Open WebUI 触达更广泛的用户群。本节将指导您如何在项目中添加新的翻译。

我们使用 JSON 文件存储翻译。您可以在 src/lib/i18n/locales 目录中找到现有的翻译文件。每个目录对应一种特定语言,例如,en-US 代表美式英语,fr-FR 代表法语(法国)等等。您可以参考 ISO 639 语言代码 来查找特定语言的相应代码。

要添加新语言:

  • src/lib/i18n/locales 路径中创建一个新目录,并以适当的语言代码命名。例如,如果您要添加西班牙语(西班牙)的翻译,请创建一个名为 es-ES 的新目录。
  • 将美式英语翻译文件(从 src/lib/i18n/locale 目录中的 en-US 目录)复制到此新目录,并根据您的语言更新 JSON 格式的字符串值。请务必保留 JSON 对象的结构。
  • 将语言代码及其对应的标题添加到 src/lib/i18n/locales/languages.json 文件中。

🤔 问题与反馈

有问题或反馈?加入我们的 Discord 社区 或提交一个 issue。我们随时为您提供帮助!

🚨 报告问题

发现有什么不对劲?有想法?请查看我们的 Issues 选项卡,看看是否已被报告或建议过。如果没有,请随意提交一个新 issue。报告问题时,请遵循我们的 issue 模板。这些模板旨在确保从一开始就提供所有必要的详细信息,从而使我们能够更高效地解决您的问题。

重要
  • 模板合规性: 请注意,未能遵循提供的 issue 模板,或根本未提供所请求的信息,您的 issue 很可能会被关闭,恕不另行考虑。这种方法对于维护 issue 追踪的可管理性和完整性至关重要。

  • 细节至关重要: 为确保您的 issue 被理解并能得到有效解决,务必包含全面的细节。描述应清晰,包括重现步骤、预期结果和实际结果。缺乏足够的细节可能会阻碍我们解决您的问题。

🧭 支持范围

我们注意到一些问题与 Open WebUI 不直接相关,而是与其运行环境有关,尤其是 Docker 设置。虽然我们努力支持 Docker 部署,但理解 Docker 基础知识对于获得流畅的体验至关重要。

  • Docker 部署支持:Open WebUI 支持 Docker 部署。我们假定您熟悉 Docker。有关 Docker 基础知识,请参考 Docker 官方文档

  • 高级配置:为 HTTPS 设置反向代理和管理 Docker 部署需要基础知识。有许多在线资源可供学习这些技能。确保您具备这些知识将极大地提升您使用 Open WebUI 和类似项目的体验。

🙏 感谢!

您的贡献,无论大小,都对 Open WebUI 产生重大影响。我们很高兴看到您能为项目带来什么!

让我们一起为社区创造一个更强大的工具。🌟