ข้ามไปยังเนื้อหาหลัก

🧪 คู่มือสาขาพัฒนา

ต้องการลองฟีเจอร์ล่าสุดก่อนเปิดตัวอย่างเป็นทางการหรือไม่ สาขา dev มีการปรับปรุงล้ำหน้าและฟีเจอร์ทดลองซึ่งจะเข้าสู่รุ่นหลักในภายหลัง

ซอฟต์แวร์ทดลอง

สาขา dev เป็นซอฟต์แวร์ ทดลอง และอาจมีบั๊ก ฟีเจอร์ที่ยังไม่สมบูรณ์ หรือการเปลี่ยนแปลงที่ไม่เข้ากัน ใช้เฉพาะเมื่อคุณยอมรับความไม่เสถียรและต้องการช่วยปรับปรุง Libre WebUI

🎯 สาขา Dev คืออะไร

สาขาพัฒนา (dev) เป็นที่ทดสอบฟีเจอร์ใหม่ก่อนรวมเข้ากับสาขาเสถียร main ประกอบด้วย:

  • ฟีเจอร์ล่าสุด ที่ยังไม่มีในรุ่นเสถียร
  • การแก้บั๊ก ที่กำลังทดสอบ
  • การปรับปรุงทดลอง ต่อ UI และการทำงาน
  • การเพิ่มประสิทธิภาพ ที่กำลังพัฒนา

🚀 วิธีใช้สาขา Dev

ติดตั้งด้วย Docker (แนะนำ)

ไฟล์ Compose สำหรับพัฒนาจะ mount Docker socket ของโฮสต์ Work จึงทำงานตามค่าเริ่มต้นเมื่อมี Docker คอนเทนเนอร์งานรันบน daemon ของโฮสต์และปรากฏใน docker ps บน Linux ให้ตั้ง DOCKER_GID ใน .env ก่อน

ใช้กับ 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

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

จาก source

# 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

ทดสอบ Work

  1. เริ่ม Docker และยืนยันว่า docker info สำเร็จด้วยผู้ใช้เดียวกับที่รัน backend
  2. เริ่ม Libre WebUI จาก source ด้วย npm run dev
  3. ลงชื่อเข้าใช้เป็นผู้ดูแลระบบ
  4. เลือก Work และใช้โมเดล Ollama, Ollama Cloud หรือโมเดลจากปลั๊กอินที่กำหนดไว้ซึ่งรองรับเครื่องมือ

รันการทดสอบผู้ให้บริการ backend และนโยบายคอนเทนเนอร์เฉพาะด้านด้วย:

npm run test:work

การทดสอบตรวจนโยบาย Docker ที่สร้างขึ้น การจำกัดเส้นทาง พฤติกรรมวงจรชีวิตและความจุ รวมถึงตัวปรับเครื่องมือที่เข้ากันได้กับ OpenAI, Anthropic และ Gemini ดูขอบเขต runtime ฉบับเต็มที่ Work: พื้นที่ทำงานที่แยกออกจากกัน

🔄 ติดตามการอัปเดต

สาขา dev อัปเดตบ่อย หากต้องการการเปลี่ยนแปลงล่าสุด:

# 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

🐛 พบบั๊กหรือไม่ ช่วยเราปรับปรุงได้

รายงานบั๊กของคุณมีคุณค่ามาก วิธีรายงานอย่างมีประสิทธิภาพ:

ก่อนรายงาน

  1. ตรวจ issue ที่มีอยู่: ค้นหา GitHub Issues เพื่อหลีกเลี่ยงรายการซ้ำ
  2. ลองรุ่นเสถียร: ยืนยันว่าบั๊กเกิดเฉพาะใน dev ไม่ใช่สาขา main
  3. ทำซ้ำอย่างสม่ำเสมอ: คุณทำให้บั๊กเกิดขึ้นอีกได้หรือไม่

วิธีรายงานบั๊ก

🐛 รายงานบั๊กบน GitHub

ใส่ข้อมูลต่อไปนี้:

**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

🏆 การมีส่วนร่วมและการยกย่อง

การใช้สาขา dev ทำให้คุณเป็นส่วนหนึ่งของชุมชนทดสอบ ผู้มีส่วนร่วมจะได้รับการยกย่องหลายวิธี:

การยกย่องผู้มีส่วนร่วม

  • มีชื่อใน CONTRIBUTORS.md
  • กล่าวถึงใน release notes สำหรับผลงานสำคัญ
  • ระบุเป็นผู้เขียนร่วม ในข้อความ commit
  • คำขอบคุณพิเศษ ในประกาศโครงการ

ผู้มีส่วนร่วมปัจจุบัน

ชุมชนของเราประกอบด้วย:

  • rob - ผู้ดูแลโครงการ
  • jm - การปรับปรุงการเข้าถึงเครือข่าย
  • และผู้มีส่วนร่วมอีกมากมาย ดู รายชื่อทั้งหมด

ต้องการร่วมเขียนโค้ดหรือไม่

  1. Fork repository
  2. สร้างสาขาฟีเจอร์จาก dev: git checkout -b feature/amazing-feature dev
  3. แก้ไขตามต้องการ
  4. ส่ง Pull Request ไปยังสาขา dev

ดูคำแนะนำโดยละเอียดใน แนวทางการมีส่วนร่วม และหลักจริยธรรมกับรูปแบบกำกับดูแลได้ที่ กฎบัตรชุมชน

การตรวจ Pull Request

ทุก pull request รวมถึง stacked pull request ที่ส่งไปยังสาขาฟีเจอร์หรือสาขาแก้ไขขั้นกลาง จะรัน workflow Format & Lint งานแยกภายในจะตรวจการจัดรูปแบบ lint ของ frontend และ backend, ชนิด TypeScript, การทดสอบแพ็กเกจและ regression รวมถึงชุดทดสอบเบราว์เซอร์ Playwright เมื่อการทดสอบเบราว์เซอร์ล้มเหลว ระบบจะอัปโหลดผล Playwright เพื่อแก้จุดบกพร่อง

workflow Electron Dev Build จะสร้างแพ็กเกจสำหรับ macOS, Windows และ Linux ด้วย build จาก pull request บน macOS จะเก็บลายเซ็น ad-hoc ที่ไม่ใช้ข้อมูลรับรองของโครงการ เพื่อให้ตรวจสอบแอปที่แพ็กแล้วก่อนอัปโหลด workflow ของ pull request จะไม่ได้รับข้อมูลรับรอง Developer ID หรือ notarization

workflow Docker Build Test and Push สร้าง image ทั้ง amd64 และ arm64 สำหรับทุก pull request รวมถึง stacked pull request ไปยังสาขาขั้นกลาง build ของ pull request จะไม่ลงชื่อเข้าใช้ container registry, push image digest หรือเผยแพร่ manifest หลายสถาปัตยกรรม

รันการตรวจระดับแอปเดียวกันในเครื่องก่อนเปิด pull request:

npm run format:check
npm run lint
npm run test:package
npm run test:e2e

⚠️ หมายเหตุสำคัญ

ความปลอดภัยของข้อมูล

  • สำรองข้อมูล ก่อนสลับไปสาขา dev
  • ไฟล์งาน Work อยู่ใน Docker named volume libre-work-* แยก ให้สำรองต่างหากจากไดเรกทอรีข้อมูล SQLite ก่อนทดสอบการเปลี่ยนแปลงวงจรชีวิตงานหรือผู้ใช้ที่อาจทำลายข้อมูล
  • ใช้ Docker volume แยก สำหรับทดสอบ dev:
    # 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

ปัญหาที่อาจพบ

  • การเปลี่ยนแปลงที่ไม่เข้ากัน อาจต้องอัปเดตการกำหนดค่า
  • ฟีเจอร์อาจยังไม่สมบูรณ์ หรือเปลี่ยนโดยไม่แจ้ง
  • ประสิทธิภาพ อาจแปรผันระหว่างทดสอบการปรับปรุง
  • องค์ประกอบ UI อาจดูหรือทำงานต่างไปอย่างไม่คาดคิด

เมื่อใดควรใช้รุ่นเสถียร

กลับไปสาขาเสถียร 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

🌟 เข้าร่วมชุมชน


พร้อมช่วยกำหนดอนาคตของ Libre WebUI หรือยัง 🚀

การทดสอบ ข้อเสนอแนะ และการมีส่วนร่วมของคุณบนสาขา dev ช่วยปรับปรุงประสบการณ์ของผู้ใช้ทุกคนโดยตรง ขอบคุณที่เป็นส่วนหนึ่งของชุมชนนักพัฒนา