🧪 Fejlesztői ág útmutatója
A dev ág tartalmazza a legújabb fejlesztéseket és kísérleti funkciókat a hivatalos kiadás előtt.
A dev kísérleti, ezért hibákat, befejezetlen funkciókat vagy visszafelé nem kompatibilis változásokat tartalmazhat. Csak akkor használja, ha elfogadja az instabilitást és segíteni szeretne.
🎯 Mi a dev ág?
Az új funkciókat a dev ágon teszteljük, mielőtt bekerülnek a stabil main ágba: új lehetőségek, javítások, felületi kísérletek és optimalizálások.
🚀 A dev ág használata
Docker (ajánlott)
A fejlesztői Compose-fájlok csatlakoztatják a Docker socketet, hogy a Work működjön. Linuxon előbb állítsa be a DOCKER_GID értéket a .env fájlban.
Külső Ollamával:
# 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
Egyszerű 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
Forrásból
# 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
A Vite akkor is készen állhat, amikor a backend még nem fejezte be az indítási ellenőrzéseit. Helyi backend esetén a fejlesztői proxy legfeljebb 10 másodpercet vár a figyelőjére, mielőtt továbbítana egy API-kérést. Minden kérést egyszer továbbít, az írásokat is beleértve; a sikertelen kéréseket nem játssza újra. Ha a backend továbbra sem érhető el, a proxy HTTP 503 választ ad újrapróbálkozási utalással. A frontend statikus fájljai a várakozás alatt is elérhetők.
A csevegés az átmeneti backend-kimaradások után újra és újra megpróbál kapcsolódni, legfeljebb 30 másodperces késleltetéssel. A sikeres kapcsolat visszaállítja a késleltetést, a kijelentkezés pedig megszakítja a függőben lévő újrapróbálkozásokat. A hitelesítési hibák leállítják az automatikus újrakapcsolódást.
A Work tesztelése
Indítsa el a Dockert, ellenőrizze a docker info és docker ps parancsot a backend felhasználójaként, futtassa az npm run dev parancsot, jelentkezzen be rendszergazdaként, majd válasszon eszközöket támogató modellt a Work felületen.
npm run test:work
A tesztek ellenőrzik a Docker-házirendet, az útvonalak elszigetelését, az életciklust, a kapacitást, valamint az OpenAI-, Anthropic- és Gemini-adaptereket. Lásd: Work.
🔄 Frissítés
# 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
🐛 Hibát talált?
Jelentés előtt
Keressen a GitHub Issues között, próbálja ki a stabil main ágat, és ellenőrizze, hogy a hiba megismételhető.
Hibajelentés
Nyissa meg a 🐛 Report a Bug on GitHub oldalt, és adja meg:
**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 commit hash
# Find your current dev branch commit
git rev-parse HEAD
# Or get a short version
git rev-parse --short HEAD
🏆 Hozzájárulás és elismerés
Közreműködők elismerése
A közreműködőket a CONTRIBUTORS.md tartja nyilván, és a kiadási megjegyzésekben és commitokban is szerepelnek.
Jelenlegi közreműködők
Kóddal is hozzájárulna?
Készítsen forkot, hozzon létre ágat a git checkout -b feature/amazing-feature dev paranccsal, végezze el a módosítást, majd küldjön PR-t a dev ágra. Lásd az útmutatót és a közösségi chartát.
Pull request ellenőrzések
Minden pull request, beleértve egy köztes funkció- vagy javítóágba irányuló, egymásra épülő pull requestet is, lefuttatja a Format & Lint munkafolyamatot. Ennek független jobjai ellenőrzik a formázást, a frontend és a backend lintelését, a TypeScript-típusokat, a csomag- és regressziós teszteket, valamint a Playwright böngészős tesztcsomagot. A Chromium a teljes böngészős tesztcsomagot futtatja. A WebKit és a Firefox ezen felül a kritikus hitelesítési, streaming-, párbeszédablak-, lap-, automatizálási, tárolási, Work- és beszédlejátszási folyamatokat is futtatja. Minden motor saját CI-jobban fut, és a sikertelen futások külön tesztelési eredményeket töltenek fel.
A tesztelt npm-tarball egy új fogyasztói könyvtárba települ Linuxon, macOS-en és Windowson, Node 22.22 és Node 24 használatával is. Ezek az ellenőrzések valódi éles függőségeket telepítenek a checkout node_modules könyvtárának kölcsönvétele nélkül, majd ellenőrzik a CLI indulását, a készenlétet, a frontend kiszolgálását és az adatok megmaradását újraindítás után. Ugyanezt az ellenőrzést helyben az npm run build után a npm run test:package-install paranccsal futtathatja; egy adott artefaktum teszteléséhez adjon meg egy tarballt vagy egy pontosan egy tarballt tartalmazó könyvtárat. A tiszta telepítéshez registry-hozzáférés, valamint a platform szokásos natívmodul-fordítási előfeltételei szükségesek, ha egy előre lefordított függőség nem érhető el.
Egy külön Work Computer job a futtatókörnyezet rögzített alapjából építi fel a GUI-image-et, és lefuttatja a valódi interakciós regressziós tesztet. A TEST_WORK_COMPUTER=1 hatására a hiányzó Docker-démon vagy image kihagyás helyett megbuktatja az ellenőrzést. Helyi reprodukáláshoz állítsa be ezt a jelzőt, a WORK_COMPUTER_TEST_IMAGE változót pedig egy külön felépített teszt-image-re, majd futtassa a npm run test:work-computer parancsot. Kötelező mód nélkül a helyi futások továbbra is kihagyást jeleznek, ha az opcionális GUI-fixture hiányzik.
Ez a mátrix a támogatott felületekhez ad ellenőrzéseket; nem engedélyez nem támogatott kombinációkat. A csomópont helyi CLI-hitelesítő adatai továbbra sem érhetők el a külső csapat-workerek számára.
A CodeQL minden pull requestnél lefedi a JavaScript/TypeScript-, a Python- és a munkafolyamat-kódot. Az examples/ alatti futtatható Python-szolgáltatószervereket a .gitattributes kifejezetten kódként sorolja be, így a GitHub nyelvfelismerése is figyelembe veszi őket. A külön kezelt Code Quality beállításnak a JavaScript/TypeScript és a Python nyelvet is tartalmaznia kell. Ha egy javítás után korábbi megállapítások megmaradnak, ellenőrizze az elemzett revíziót és a nyelvi lefedettséget, majd a módosítás közzététele után frissítse a megfelelő elemzést. Ne utasítson el érvényes megállapításokat, és ne módosítson helyes aszinkron viselkedést csak azért, hogy egy megjelenített minősítés javuljon.
Az Electron Dev Build munkafolyamat macOS-, Windows- és Linux-artefaktumokat is csomagol. A pull requestekhez készülő macOS-buildek megtartják a projekt hitelesítő adatok nélküli ad hoc aláírását, így a csomagolt alkalmazás feltöltés előtt ellenőrizhető. A pull request munkafolyamat nem kap Developer ID- vagy notarizációs hitelesítő adatokat.
A Docker Build Test and Push munkafolyamat minden pull requesthez amd64- és arm64-image-et is épít, beleértve a köztes ágakba irányuló, egymásra épülő pull requesteket is. A pull requestekhez készülő buildek nem jelentkeznek be konténer-registrybe, nem töltenek fel image-digesteket, és nem tesznek közzé többarchitektúrás manifestet.
Pull request megnyitása előtt futtassa helyben ugyanezeket az alkalmazásszintű ellenőrzéseket:
npm run format:check
npm run lint
npm run test:package
npm run test:e2e
⚠️ Fontos megjegyzések
Adatbiztonság
-
A
devhasználata előtt készítsen biztonsági mentést. -
A Work-fájlok külön
libre-work-*kötetekben találhatók. -
Használjon külön kötetet:
# 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
Lehetséges problémák
A visszafelé nem kompatibilis változások beállításmódosítást igényelhetnek, egyes funkciók befejezetlenek lehetnek, a teljesítmény és a felület pedig változhat.
Mikor használja a stabil verziót?
Térjen vissza a main ágra, ha megbízhatóságra van szüksége:
# 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
🌟 Vegyen részt a közösségben
Készen áll a Libre WebUI jövőjének alakítására? 🚀
Tesztelése, visszajelzése és hozzájárulása mindenki élményét javítja.