🤝 Contributing
🚀 Welcome, Contributors! 🚀
Your interest in contributing to Open WebUI is greatly appreciated. This document is here to guide you through the process, ensuring your contributions enhance the project effectively. Let's make Open WebUI even better, together!
💡 Contributing
Looking to contribute? Great! Here's how you can help:
🌟 Code Contribution Guidelines
We welcome pull requests. Before submitting one, please:
- Open a discussion regarding your ideas here.
- Follow the project's coding standards and include tests for new features.
- Update documentation as necessary.
- Write clear, descriptive commit messages.
🛠 Code PR Best Practices:
- Follow Existing Code Convention: Ensure your code aligns with the existing coding standards and practices of the project.
- Avoid Additional External Dependencies: Do not include additional external dependencies without prior discussion.
- Framework Agnostic Approach: We aim to stay framework agnostic. Implement functionalities on our own whenever possible rather than relying on external frameworks or libraries. If you have doubts or suggestions regarding this approach, feel free to discuss it.
Thank you for contributing! 🚀
📚 Documentation & Tutorials
Help us make Open WebUI more accessible by improving documentation, writing tutorials, or creating guides on setting up and optimizing the web UI.
🌐 Translations and Internationalization
Help us make Open WebUI available to a wider audience. In this section, we'll guide you through the process of adding new translations to the project.
We use JSON files to store translations. You can find the existing translation files in the src/lib/i18n/locales
directory. Each directory corresponds to a specific language, for example, en-US
for English (US), fr-FR
for French (France) and so on. You can refer to ISO 639 Language Codes to find the appropriate code for a specific language.
To add a new language:
- Create a new directory in the
src/lib/i18n/locales
path with the appropriate language code as its name. For instance, if you're adding translations for Spanish (Spain), create a new directory namedes-ES
. - Copy the American English translation file(s) (from
en-US
directory insrc/lib/i18n/locale
) to this new directory and update the string values in JSON format according to your language. Make sure to preserve the structure of the JSON object. - Add the language code and its respective title to languages file at
src/lib/i18n/locales/languages.json
.
🤔 Questions & Feedback
Got questions or feedback? Join our Discord community or open an issue. We're here to help!
📌 Key Points
🦙 Ollama vs. Open WebUI
It's crucial to distinguish between Ollama and Open WebUI:
- Open WebUI focuses on providing an intuitive and responsive web interface for chat interactions.
- Ollama is the underlying technology that powers these interactions.
If your issue or contribution pertains directly to the core Ollama technology, please direct it to the appropriate Ollama project repository. Open WebUI's repository is dedicated to the web interface aspect only.
🚨 Reporting Issues
Noticed something off? Have an idea? Check our Issues tab to see if it's already been reported or suggested. If not, feel free to open a new issue. When reporting an issue, please follow our issue templates. These templates are designed to ensure that all necessary details are provided from the start, enabling us to address your concerns more efficiently.
-
Template Compliance: Please be aware that failure to follow the provided issue template, or not providing the requested information at all, will likely result in your issue being closed without further consideration. This approach is critical for maintaining the manageability and integrity of issue tracking.
-
Detail is Key: To ensure your issue is understood and can be effectively addressed, it's imperative to include comprehensive details. Descriptions should be clear, including steps to reproduce, expected outcomes, and actual results. Lack of sufficient detail may hinder our ability to resolve your issue.