Přeskočit na hlavní obsah

🧪 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.

Experimentální software

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 dev data 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 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

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.