🧪 Руководство по ветке разработки
Хотите попробовать новые функции до официального выпуска? Ветка dev содержит передовые улучшения и экспериментальные функции, которые со временем попадут в основной выпуск.
Ветка dev экспериментальная и может содержать ошибки, незавершённые функции или несовместимые изменения. Используйте её, только если готовы к нестабильности и хотите помочь улучшить Libre WebUI.
🎯 Что такое ветка dev?
Ветка разработки (dev) предназначена для проверки новых функций перед слиянием со стабильной main. В неё входят:
- Новые функции, ещё не вошедшие в стабильные выпуски
- Исправления ошибок на проверке
- Экспериментальные улучшения интерфейса и функциональности
- Оптимизации производительности в разработке
🚀 Использование ветки dev
Настройка Docker (рекомендуется)
Файлы Compose для разработки подключают сокет Docker хоста, поэтому Work по умолчанию работает при доступном Docker. Контейнеры задач выполняются демоном хоста и видны в docker ps. В Linux сначала задайте DOCKER_GID в .env.
С внешней Ollama:
# Clone the repository
git clone https://github.com/libre-webui/libre-webui.git
cd libre-webui
# Switch to dev branch
git checkout dev
# Start the dev image with external Ollama
docker compose -f docker-compose.dev.external-ollama.yml up -d
Простой Docker:
# Use the dev branch image
docker run -d -p 3000:3001 -v libre-webui:/app/backend/data --name libre-webui-dev --restart always ghcr.io/libre-webui/libre-webui:dev
Из исходного кода
# Clone and switch to dev branch
git clone https://github.com/libre-webui/libre-webui.git
cd libre-webui
git checkout dev
# Install dependencies
npm install
# Start development server
npm run dev
Проверка Work
- Запустите Docker и убедитесь, что
docker infoработает от того же пользователя, что и бэкенд. - Запустите Libre WebUI из исходников командой
npm run dev. - Войдите как администратор.
- Выберите Work и модель Ollama, Ollama Cloud или настроенного плагина с инструментами.
Запустите целевые тесты поставщиков бэкенда и политики контейнеров:
npm run test:work
Тесты проверяют сгенерированную политику Docker, ограничения путей, жизненный цикл, ёмкость и адаптеры инструментов OpenAI-compatible, Anthropic и Gemini. Полная граница описана в Work: изолированные рабочие области.
🔄 Получение обновлений
Ветка dev обновляется часто. Чтобы получить последние изменения:
# Update your local dev branch
git pull origin dev
# Refresh the dev Compose stack
docker compose -f docker-compose.dev.external-ollama.yml pull
docker compose -f docker-compose.dev.external-ollama.yml up -d
# Or restart simple Docker
docker pull ghcr.io/libre-webui/libre-webui:dev
docker stop libre-webui-dev && docker rm libre-webui-dev
docker run -d -p 3000:3001 -v libre-webui:/app/backend/data --name libre-webui-dev --restart always ghcr.io/libre-webui/libre-webui:dev
🐛 Нашли ошибку? Помогите улучшить проект!
Ваши сообщения очень ценны. Чтобы эффективно сообщить о проблеме:
Перед сообщением
- Проверьте существующие issues: поищите в GitHub Issues, чтобы избежать дубликата
- Попробуйте стабильную версию: подтвердите, что ошибка существует только в dev, а не main
- Добейтесь воспроизводимости: можете повторить ошибку?
Как сообщить об ошибке
Включите эти сведения:
**Environment:**
- Branch: dev
- Version: [git commit hash or date]
- OS: [Windows/macOS/Linux]
- Browser: [Chrome/Firefox/Safari version]
- Setup: [Docker/Source/etc.]
- Docker: [version and whether `docker info` succeeds, for Work issues]
- Work model/provider: [exact route, when applicable]
**Bug Description:**
Clear description of what went wrong
**Steps to Reproduce:**
1. Go to...
2. Click on...
3. See error...
**Expected Behavior:**
What should have happened
**Actual Behavior:**
What actually happened
**Screenshots/Logs:**
[If applicable, add screenshots or error logs]
**Work Activity:**
[Relevant tool call/result or preview output, with secrets removed]
Получение хеша коммита Git
# Find your current dev branch commit
git rev-parse HEAD
# Or get a short version
git rev-parse --short HEAD
🏆 Участие и признание
Используя dev, вы становитесь частью сообщества тестировщиков. Вклад отмечается несколькими способами:
Признание участников
- Указание в CONTRIBUTORS.md
- Упоминание в примечаниях к выпуску за значимый вклад
- Соавторство в сообщениях коммитов
- Особая благодарность в объявлениях проекта
Текущие участники
В нашем сообществе, среди прочих:
- rob - Сопровождающий проекта
- jm - Улучшение сетевого доступа
- И другие! См. полный список
Хотите внести код?
- Создайте форк репозитория
- Создайте feature-ветку от
dev:git checkout -b feature/amazing-feature dev - Внесите изменения
- Отправьте Pull Request в ветку
dev
Подробности см. в руководстве для участников, а этические принципы и управление — в Community Charter.
Проверки Pull Request
Каждый pull request, включая составной в промежуточную ветку, запускает процесс Format & Lint. Независимые задания проверяют форматирование, линтинг фронтенда и бэкенда, типы TypeScript, пакетные и регрессионные тесты и браузерный набор Playwright. Неудачные браузерные запуски загружают результаты Playwright для отладки.
Процесс Electron Dev Build также упаковывает артефакты macOS, Windows и Linux. Сборки macOS для pull request сохраняют специальную подпись без учётных данных, чтобы приложение можно было проверить перед загрузкой. Процесс не получает данные Developer ID или нотариального заверения.
Docker Build Test and Push собирает amd64- и arm64-образы для каждого pull request, включая составные. Сборки не входят в реестр, не отправляют digest и не публикуют многоархитектурный манифест.
Перед открытием pull request выполните те же проверки локально:
npm run format:check
npm run lint
npm run test:package
npm run test:e2e
⚠️ Важные замечания
Безопасность данных
- Создайте резервную копию перед переходом на dev
- Файлы задач Work находятся в отдельных именованных томах Docker
libre-work-*. Копируйте их отдельно от SQLite перед разрушительными проверками жизненного цикла задач или пользователей. - Используйте отдельный том Docker для dev:
# Use different volume name for devdocker run -d -p 3000:3001 -v libre-webui-dev:/app/backend/data --name libre-webui-dev ghcr.io/libre-webui/libre-webui:dev
Возможные проблемы
- Несовместимые изменения могут потребовать настройки
- Функции могут быть незавершёнными или меняться без предупреждения
- Производительность может различаться при тестировании оптимизаций
- Элементы интерфейса могут выглядеть или вести себя иначе
Когда использовать стабильную версию
Вернитесь в стабильную main, если:
- Нужна надёжность для важной работы
- Ошибок слишком много
- Требуется проверенная стабильная среда
# Switch back to stable
git checkout main
docker compose -f docker-compose.external-ollama.yml pull
docker compose -f docker-compose.external-ollama.yml up -d
🌟 Присоединяйтесь к сообществу
- GitHub Discussions: Делитесь идеями и задавайте вопросы
- Issues: Сообщайте об ошибках и запрашивайте функции
- Contributors: Посмотрите, кто помогает создавать Libre WebUI
Готовы помогать формировать будущее Libre WebUI? 🚀
Ваши тесты, отзывы и вклад в dev напрямую улучшают работу всех пользователей. Спасибо за участие в сообществе разработки!