Перейти до основного вмісту

🧪 Посібник із гілки розробки

Хочете випробувати нові функції до офіційного випуску? Гілка 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

  1. Запустіть Docker і переконайтеся, що docker info працює від того самого користувача, що й серверна частина.
  2. Запустіть Libre WebUI з вихідного коду командою npm run dev.
  3. Увійдіть як адміністратор.
  4. Виберіть 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

🐛 Знайшли помилку? Допоможіть удосконалити проєкт!

Ваші повідомлення дуже цінні. Щоб ефективно повідомити про проблему:

Перед повідомленням

  1. Перевірте наявні звернення: пошукайте в GitHub Issues, щоб уникнути дубліката
  2. Спробуйте стабільну версію: підтвердьте, що помилка існує лише в dev, а не main
  3. Доможіться відтворюваності: чи можете повторити помилку?

Як повідомити про помилку

🐛 Повідомити про помилку в GitHub

Додайте такі відомості:

**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 - Удосконалення мережевого доступу
  • І багато інших! Див. повний список

Хочете додати код?

  1. Створіть відгалуження репозиторію
  2. Створіть гілку функції від dev: git checkout -b feature/amazing-feature dev
  3. Внесіть зміни
  4. Надішліть 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 dev
    docker 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

🌟 Долучайтеся до спільноти


Готові допомагати формувати майбутнє Libre WebUI? 🚀

Ваші тести, відгуки й внесок у dev безпосередньо поліпшують роботу всіх користувачів. Дякуємо за участь у спільноті розробки!