🧪 Guida al branch di sviluppo
Vuoi provare le funzionalità più recenti prima del rilascio ufficiale? Il branch dev contiene miglioramenti all'avanguardia e funzionalità sperimentali che verranno infine integrate nella release principale.
Il branch dev è sperimentale e può contenere bug, funzionalità incomplete o modifiche incompatibili. Usalo solo se accetti una possibile instabilità e vuoi contribuire a migliorare Libre WebUI.
🎯 Che cos'è il branch dev?
Il branch di sviluppo (dev) è il luogo in cui le nuove funzionalità vengono provate prima di essere integrate nel branch stabile main. Include:
- Funzionalità recenti non ancora presenti nelle release stabili
- Correzioni di bug in fase di verifica
- Miglioramenti sperimentali all'interfaccia e alle funzionalità
- Ottimizzazioni delle prestazioni in fase di sviluppo
🚀 Come usare il branch dev
Configurazione Docker (consigliata)
I file Compose di sviluppo montano il socket Docker dell'host, quindi Work funziona
per impostazione predefinita quando Docker è disponibile. I container delle attività vengono eseguiti sul daemon dell'host e
compaiono in docker ps. Su Linux, imposta prima DOCKER_GID in .env.
Con Ollama esterno:
# 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 semplice:
# 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
Dal codice sorgente
# 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
Verificare Work
- Avvia Docker e verifica che
docker infovenga eseguito correttamente dallo stesso utente che avvia il backend. - Avvia Libre WebUI dal codice sorgente con
npm run dev. - Accedi come amministratore.
- Seleziona Work e usa Ollama, Ollama Cloud o un modello configurato tramite plugin che supporti gli strumenti.
Esegui i test mirati dei provider del backend e dei criteri dei container con:
npm run test:work
I test convalidano i criteri Docker generati, il contenimento dei percorsi, il comportamento del ciclo di vita e della capacità, nonché gli adattatori degli strumenti compatibili con OpenAI, Anthropic e Gemini. Consulta Work: aree di lavoro isolate per tutti i limiti del runtime.
🔄 Rimanere aggiornati
Il branch dev viene aggiornato spesso. Per ottenere le modifiche più recenti:
# 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
🐛 Hai trovato un bug? Aiutaci a migliorare!
Le tue segnalazioni di bug sono estremamente preziose. Ecco come segnalare i problemi in modo efficace:
Prima di segnalare
- Controlla i problemi esistenti: cerca tra i problemi GitHub per evitare duplicati
- Prova la versione stabile: verifica che il bug esista solo in dev (e non nel branch main)
- Riproducilo con regolarità: riesci a far comparire nuovamente il bug?
Come segnalare i bug
Includi queste informazioni:
**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]
Ottenere l'hash del commit Git
# Find your current dev branch commit
git rev-parse HEAD
# Or get a short version
git rev-parse --short HEAD
🏆 Contributi e riconoscimenti
Usando il branch dev entri a far parte della nostra comunità di tester. I collaboratori ricevono riconoscimenti in diversi modi:
Riconoscimenti per i collaboratori
- Inserimento in CONTRIBUTORS.md
- Menzione nelle note di rilascio per i contributi significativi
- Attribuzione come coautore nei messaggi di commit
- Ringraziamenti speciali negli annunci del progetto
Collaboratori attuali
La nostra straordinaria comunità include:
- rob - Responsabile del progetto
- jm - Miglioramento dell'accesso di rete
- E molti altri! Consulta l'elenco completo
Vuoi contribuire al codice?
- Crea un fork del repository
- Crea un branch della funzionalità da
dev:git checkout -b feature/amazing-feature dev - Apporta le modifiche
- Invia una pull request verso il branch
dev
Consulta le Linee guida per contribuire per istruzioni dettagliate e il nostro Statuto della comunità per le linee guida etiche e il modello di governance del progetto.
Controlli delle pull request
Ogni pull request, comprese quelle sovrapposte verso un branch intermedio di
funzionalità o correzione, esegue il workflow Format & Lint. I suoi job indipendenti
controllano formattazione, lint del frontend e del backend, tipi TypeScript, test dei pacchetti e
di regressione e la suite Playwright per browser. Le esecuzioni del browser non riuscite caricano
i risultati Playwright per il debug.
Anche il workflow Electron Dev Build crea pacchetti per macOS, Windows e Linux.
Le build macOS delle pull request mantengono la firma ad hoc del progetto, priva di credenziali,
così l'applicazione pacchettizzata può essere verificata prima del caricamento. Il
workflow delle pull request non riceve credenziali Developer ID o di autenticazione notarile.
Il workflow Docker Build Test and Push crea immagini amd64 e arm64 per
ogni pull request, comprese quelle sovrapposte verso branch intermedi.
Le build delle pull request non accedono a un registro di container, non inviano digest di immagini né
pubblicano un manifest multiarchitettura.
Esegui localmente gli stessi controlli a livello di applicazione prima di aprire una pull request:
npm run format:check
npm run lint
npm run test:package
npm run test:e2e
⚠️ Note importanti
Sicurezza dei dati
- Esegui il backup dei dati prima di passare al branch dev
- I file delle attività Work risiedono in volumi Docker con nome
libre-work-*separati. Esegui un backup distinto da quello della directory dei dati SQLite prima di provare modifiche distruttive al ciclo di vita delle attività o degli utenti. - Usa un volume Docker separato per i test dev:
# 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
Possibili problemi
- Le modifiche incompatibili possono richiedere aggiornamenti alla configurazione
- Le funzionalità possono essere incomplete o cambiare senza preavviso
- Le prestazioni possono variare durante la verifica delle ottimizzazioni
- Gli elementi dell'interfaccia potrebbero apparire diversi o comportarsi in modo imprevisto
Quando usare la versione stabile
Torna al branch stabile main se:
- Ti serve affidabilità per attività importanti
- Riscontri troppi bug
- Vuoi un'esperienza verificata e stabile
# 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
🌟 Unisciti alla comunità
- Discussioni GitHub: Condividi idee e fai domande
- Problemi: Segnala bug e richiedi funzionalità
- Collaboratori: Scopri chi contribuisce a creare Libre WebUI
Vuoi contribuire a plasmare il futuro di Libre WebUI? 🚀
I tuoi test, commenti e contributi sul branch dev migliorano direttamente l'esperienza di tutti gli utenti. Grazie di far parte della nostra comunità di sviluppo!