🧪 Průvodce vývojovou větví
Větev dev obsahuje nejnovější vylepšení a experimentální funkce ještě před oficiálním vydáním.
Větev dev je experimentální a může obsahovat chyby, nehotové funkce či nekompatibilní změny. Používejte ji pouze tehdy, pokud snesete možnou nestabilitu a chcete pomoci Libre WebUI zlepšit.
🎯 Co je větev dev?
Nové funkce se v dev testují před sloučením do stabilní větve main. Obsahuje nejnovější funkce, testované opravy, experimenty UI a výkonnostní optimalizace.
🚀 Jak větev dev používat
Docker (doporučeno)
Vývojové Compose soubory připojují Docker socket hostitele, takže Work funguje ve výchozím stavu. V Linuxu nejprve nastavte DOCKER_GID v .env.
S externí 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
Jednoduchý 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
Ze zdrojů
# 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
Vite může být připraven dříve, než backend dokončí startovní kontroly. U místního backendu čeká vývojová proxy na jeho naslouchání až 10 sekund, než přepošle požadavek API. Každý požadavek přepošle jednou, včetně zápisů; neúspěšné požadavky neopakuje. Pokud backend zůstane nedostupný, vrátí proxy HTTP 503 s pokynem k opakování. Statické soubory frontendu jsou během čekání dostupné.
Chat se po krátkých výpadcích backendu opakovaně připojuje, s prodlevou nejvýše 30 sekund. Úspěšné spojení prodlevu vynuluje, odhlášení zruší čekající pokusy. Chyby ověření automatické připojování zastaví.
Testování Work
Spusťte Docker, ověřte docker info i docker ps pod stejným uživatelem jako backend, spusťte npm run dev, přihlaste se jako administrátor a ve Work zvolte model s nástroji.
npm run test:work
Testy ověřují Docker policy, omezení cest, životní cyklus, kapacitu a adaptéry nástrojů OpenAI, Anthropic a Gemini. Viz Work: izolované pracovní prostory.
🔄 Aktualizace
# 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
🐛 Našli jste chybu?
Před nahlášením
Prohledejte GitHub Issues, vyzkoušejte stabilní main a ověřte opakovatelnost.
Jak chybu nahlásit
🐛 Nahlásit chybu na GitHubu s těmito údaji:
**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]
Získání hashe commitu
# Find your current dev branch commit
git rev-parse HEAD
# Or get a short version
git rev-parse --short HEAD
🏆 Přispívání a uznání
Uznání přispěvatelů
Přispěvatelé jsou uvedeni v CONTRIBUTORS.md, zmiňováni v poznámkách k vydání, dostávají spoluautorství commitů a zvláštní poděkování.
Současní přispěvatelé
Komunita zahrnuje rob, jm a další.
Chcete přispět kódem?
Forkněte repository, vytvořte větev z dev pomocí git checkout -b feature/amazing-feature dev, proveďte změnu a otevřete pull request proti dev. Viz pokyny a komunitní charta.
Kontroly pull requestu
Každý pull request, včetně navazujícího pull requestu do mezilehlé větve s
funkcí nebo opravou, spouští workflow Format & Lint. Jeho nezávislé úlohy
kontrolují formátování, linting frontendu a backendu, typy TypeScriptu, testy
balíčku a regresní testy a prohlížečovou sadu Playwright. Chromium spouští
celou prohlížečovou sadu. WebKit a Firefox navíc spouštějí kritické scénáře
přihlašování, streamování, dialogů, karet, automatizací, úložiště, Work a
přehrávání řeči. Každý engine běží ve vlastní úloze CI a neúspěšné běhy
nahrávají samostatné výsledky testů.
Otestovaný tarball npm se instaluje do nového spotřebitelského adresáře na
Linuxu, macOS a Windows, a to s Node 22.22 i Node 24. Tyto kontroly instalují
skutečné produkční závislosti bez vypůjčení node_modules z pracovní kopie a
potom ověřují spuštění CLI, připravenost, servírování frontendu a zachování dat
po restartu. Stejnou kontrolu spustíte lokálně po npm run build příkazem
npm run test:package-install; pro test konkrétního artefaktu předejte tarball
nebo adresář, který obsahuje jeden tarball. Čistá instalace potřebuje přístup k
registru a běžné předpoklady platformy pro sestavení nativních modulů, pokud
není k dispozici předsestavená závislost.
Samostatná úloha Work Computer sestaví obraz GUI z připnutého základu runtime a
spustí skutečný regresní test interakcí. TEST_WORK_COMPUTER=1 způsobí, že
chybějící démon Dockeru nebo obraz kontrolu shodí, místo aby ji přeskočil. Pro
lokální reprodukci nastavte tento příznak a WORK_COMPUTER_TEST_IMAGE na
samostatně sestavený testovací obraz a potom spusťte npm run test:work-computer.
Bez povinného režimu lokální běhy stále hlásí přeskočení, pokud volitelný
testovací prvek GUI chybí.
Tato matice přidává kontroly pro podporované oblasti; nepovoluje nepodporované kombinace. Přihlašovací údaje CLI uložené lokálně na uzlu zůstávají pro externí týmové pracovníky nedostupné.
CodeQL pokrývá u každého pull requestu kód JavaScript/TypeScript, Python a
workflow. Spustitelné servery poskytovatelů v Pythonu v examples/ jsou v
.gitattributes výslovně označené jako kód, takže je detekce jazyků na GitHubu
zahrnuje. Samostatné spravované nastavení Code Quality by mělo zahrnovat
JavaScript/TypeScript i Python. Pokud po opravě zůstávají historické nálezy,
ověřte analyzovanou revizi a pokrytí jazyků a po zveřejnění změny obnovte
příslušnou analýzu. Neodmítejte platné nálezy a neměňte správné asynchronní
chování jen kvůli lepšímu zobrazenému hodnocení.
Workflow Electron Dev Build navíc balí artefakty pro macOS, Windows a Linux.
Sestavení pull requestů pro macOS si ponechávají ad hoc podpis projektu bez
přihlašovacích údajů, aby šlo zabalenou aplikaci před nahráním ověřit. Workflow
pull requestů nedostává přihlašovací údaje Developer ID ani notarizace.
Workflow Docker Build Test and Push sestavuje obrazy amd64 i arm64 pro každý
pull request, včetně navazujících pull requestů do mezilehlých větví. Sestavení
pull requestů se nepřihlašují do registru kontejnerů, nepushují digesty obrazů
ani nepublikují manifest pro více architektur.
Před otevřením pull requestu spusťte lokálně stejné kontroly na úrovni aplikace:
npm run format:check
npm run lint
npm run test:package
npm run test:e2e
⚠️ Důležité poznámky
Bezpečnost dat
-
Před přechodem na
devdata zálohujte. -
Soubory Work jsou v oddělených volumes
libre-work-*; zálohujte je zvlášť. -
Pro testování použijte samostatný volume:
# 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
Možné problémy
Nekompatibilní změny mohou vyžadovat novou konfiguraci, funkce nemusí být hotové, výkon se může měnit a UI se může chovat jinak.
Kdy použít stabilní verzi
Při požadavku na spolehlivost se vraťte na 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
🌟 Připojte se ke komunitě
Jste připraveni pomoci utvářet budoucnost Libre WebUI? 🚀
Vaše testy, zpětná vazba a příspěvky ve větvi dev přímo zlepšují prostředí pro všechny uživatele.