Ugrás a fő tartalomra

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

Kísérleti szoftver

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öztük van rob, jm és mások.

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 dev haszná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 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

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.