แชท

การติดตั้ง Open WebUI และการกำหนดค่า OmniProxy

ต้องการรวมโมเดลในเครื่องและโมเดลบนคลาวด์ไว้ในหน้าต่างแชตเดียวกัน แต่กังวลว่าการติดตั้งและการเชื่อมต่อจะซับซ้อนใช่ไหม Open WebUI มีหน้าต่างแชตที่คุ้นเคย เมื่อติดตั้งเสร็จแล้ว เพียงกรอกพารามิเตอร์การเชื่อมต่อตามขั้นตอนก็เริ่มใช้งานได้

ตรวจสอบเอกสารแล้ว
9 ต.ค. 2569
ทดสอบเวอร์ชันแล้ว
Open WebUI v0.11.4

Open WebUI เป็นหน้าต่างแชตที่สามารถติดตั้งใช้งานได้ด้วยตนเองบนคอมพิวเตอร์หรือเซิร์ฟเวอร์ของคุณ และยังทำงานแบบออฟไลน์ได้อย่างสมบูรณ์ โดยไม่ได้ผูกกับโมเดลของผู้ให้บริการรายใดรายหนึ่ง คุณสามารถเชื่อมต่อทั้งเครื่องมืออย่าง Ollama ที่ใช้รันโมเดลภายในเครื่อง และ API ที่เข้ากันได้กับรูปแบบ OpenAI ซึ่งหมายถึงปลายทางที่ให้บริการโมเดลโดยใช้รูปแบบคำขอเดียวกัน ด้วยวิธีนี้จึงสามารถสลับระหว่างโมเดลในเครื่องและโมเดลบนคลาวด์ได้ภายในหน้าต่างเดียว

เหมาะสำหรับการใช้งานระยะยาวของทีมและองค์กร ความสามารถที่อัปเดตเร็วขึ้นจะปรากฏใน Computer ก่อน ซึ่งเป็นผลิตภัณฑ์ที่ Open WebUI ใช้ทดลองฟีเจอร์ใหม่

การเตรียมพร้อมก่อนติดตั้ง

Open WebUI ใช้งานได้บน macOS, Linux และ Windows คุณสามารถติดตั้งผ่าน Docker, Python หรือ Kubernetes ได้ Docker จะรวมแอปพลิเคชันและสภาพแวดล้อมการทำงานไว้ในคอนเทนเนอร์ที่ค่อนข้างแยกจากระบบ จึงเป็นวิธีที่แนะนำ หากไม่มี Docker คุณสามารถใช้คำสั่ง Python ที่ผ่านการทดสอบด้านล่างได้ ส่วน Kubernetes เป็นระบบสำหรับติดตั้งใช้งานและจัดการคอนเทนเนอร์ โดยดูขั้นตอนที่เกี่ยวข้องได้จาก Quick Start ท้ายบทความ

แนะนำอย่างเป็นทางการ

Docker

  • ใช้ docker run คำสั่งเดียว
  • เปิด 3000 ในเบราว์เซอร์
  • ข้อมูลอยู่ในวอลุ่มข้อมูล

ต้องการเพียงแชต

อิมเมจ slim

  • ขนาดดาวน์โหลดเล็กกว่า
  • เปลี่ยนแท็กเป็น :slim
  • ยังคงใช้ฟังก์ชันแชตได้

บทความนี้ไม่ลงรายละเอียด

อีกสองวิธี

  • ติดตั้ง Python ด้วยตนเอง
  • ปรับใช้ด้วย Kubernetes
  • ดู Quick Start อย่างเป็นทางการ
ติดตั้ง Docker ก่อน แล้วเริ่มระบบด้วยคำสั่งที่แนะนำ หากแชตผ่าน API เท่านั้น สามารถเปลี่ยนแท็กอิมเมจเป็น slim ได้

เตรียมสิ่งต่อไปนี้ก่อนเริ่ม:

  • Docker ที่ติดตั้งและทำงานได้แล้ว
  • สตริงคีย์ที่ใช้เฉพาะสำหรับคุณ เรียกใช้ openssl rand -hex 32 เพื่อสร้าง แล้วใส่ลงใน WEBUI_SECRET_KEY ต้องเก็บค่านี้ไว้โดยไม่เปลี่ยนแปลง หากเปลี่ยนเมื่อติดตั้งคอนเทนเนอร์ใหม่ ผู้ที่เข้าสู่ระบบอยู่แล้วจะถูกออกจากระบบ
  • OmniProxy ที่กำลังทำงานอยู่ และ Model ID จากรายการโมเดลปัจจุบันของระบบ Model ID คือชื่อเต็มที่ใช้เลือกโมเดลเฉพาะ

การติดตั้งและเริ่มใช้งานครั้งแรก

เปิดเทอร์มินัลแล้วเรียกใช้คำสั่งจาก Quick Start โดยเปลี่ยน your-secret-key เป็นสตริงคีย์ที่สร้างไว้ก่อนหน้านี้:

docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data -e WEBUI_SECRET_KEY=your-secret-key --name open-webui --restart always ghcr.io/open-webui/open-webui:main

ตัวเลือกต่าง ๆ ในคำสั่งนี้มีหน้าที่ดังต่อไปนี้:

  • -p 3000:8080: ทำให้คุณเปิดหน้าต่างผ่านพอร์ต 3000 ของคอมพิวเตอร์เครื่องนี้ได้ หากพอร์ต 3000 ถูกใช้งานอยู่ ให้เปลี่ยนตัวเลขทางซ้าย
  • -v open-webui:/app/backend/data: จัดเก็บแชต ผู้ใช้ และการตั้งค่าไว้ใน data volume ซึ่งเป็นตำแหน่งสำหรับเก็บข้อมูลระยะยาวภายนอกคอนเทนเนอร์ เนื้อหาจะยังอยู่หลังอัปเดตคอนเทนเนอร์ ดังนั้นอย่านำตัวเลือกนี้ออก
  • --add-host=host.docker.internal:host-gateway: ทำให้คอนเทนเนอร์เข้าถึงบริการอื่นที่ทำงานอยู่บนคอมพิวเตอร์เครื่องนี้ได้
  • --restart always: ทำให้คอนเทนเนอร์เริ่มทำงานอีกครั้งหลังรีสตาร์ตคอมพิวเตอร์

หลังจากเรียกใช้คำสั่งแล้ว ให้เปิด http://localhost:3000 ในเบราว์เซอร์ และสร้างบัญชีแรกตามคำแนะนำบนหน้าเว็บ

หากใช้สำหรับแชตผ่าน API เท่านั้น สามารถเปลี่ยนแท็กอิมเมจจาก :main เป็น :slim ได้ slim เป็นอิมเมจขนาดเล็กกว่าซึ่งไม่มีโมเดลเสียงและโมเดล embedding ภายในคอนเทนเนอร์ แต่หน้าต่างแชตยังคงใช้งานได้ หากต้องการความสามารถภายในเครื่องเหล่านี้ ให้ใช้ :main ต่อไป

เมื่อต้องการอัปเดต ขั้นตอนแบบดำเนินการเองคือเรียกใช้ docker rm -f open-webui ก่อน จากนั้นเรียกใช้ docker pull ghcr.io/open-webui/open-webui:main แล้วเริ่มระบบใหม่ด้วยคำสั่ง docker run เดิม ต้องคง data volume และ WEBUI_SECRET_KEY ไว้เหมือนเดิม

เมื่อไม่มี Docker

Quick Start มีวิธีติดตั้งด้วย Python เช่นกัน เมื่อวันที่ 2026-10-09 มีการใช้คำสั่งด้านล่างเพื่อติดตั้ง Open WebUI v0.11.4 บน macOS และทดสอบการสนทนาหนึ่งครั้งสำเร็จ ขณะนั้นคอมพิวเตอร์เครื่องนี้ไม่มี Docker Desktop

DATA_DIR=~/.open-webui uvx --python 3.11 open-webui@latest serve

หลังเริ่มระบบ ให้เปิด http://localhost:8080 ในเบราว์เซอร์ นี่คือพอร์ตที่ใช้กับการติดตั้งด้วย Python ไม่ใช่พอร์ต 3000 ของ Docker

การเริ่มระบบครั้งแรกจะดาวน์โหลดโมเดล embedding ซึ่งอาจใช้เวลาหลายนาที โมเดล embedding จะแปลงข้อความเป็นข้อมูลที่เหมาะสำหรับการค้นหาและจับคู่ รอจนหน้าลงชื่อเข้าใช้ปรากฏขึ้นแล้วจึงดำเนินการต่อ บัญชีแรกที่ลงทะเบียนจะเป็นผู้ดูแลระบบ ภาษาของอินเทอร์เฟซจะเป็นไปตามระบบ และในการทดสอบครั้งนี้แสดงเป็นภาษาจีนตัวย่อ

DATA_DIR ต้องชี้ไปยังไดเรกทอรีที่จะเก็บไว้ในระยะยาวเพื่อจัดเก็บข้อมูลของ Open WebUI หากไม่กำหนดค่า ข้อมูลอาจถูกเก็บไว้ในไดเรกทอรีชั่วคราวและสูญหายหลังปิดโปรแกรม หากไม่ได้กำหนด WEBUI_SECRET_KEY โปรแกรมจะเขียนไฟล์ .webui_secret_key ลงในไดเรกทอรีปัจจุบัน โปรดเริ่มระบบจากไดเรกทอรีที่ต้องการเก็บไว้ หรือกำหนดตัวแปรนี้ด้วยตนเอง

รับค่าการเชื่อมต่อจาก OmniProxy

คัดลอกรายการสามอย่างต่อไปนี้จาก OmniProxy ของคุณ:

URL:      https://your-omniproxy-origin.example/v1
API Key:  <YOUR_OMNIPROXY_API_KEY>
Model ID: คัดลอกจากรายการโมเดลปัจจุบันของ OmniProxy

URL คือที่อยู่ที่ Open WebUI ใช้เชื่อมต่อกับ API และต้องลงท้ายด้วย /v1 อย่าเติม /chat/completions ต่อท้าย เนื่องจาก Open WebUI จะเพิ่มส่วนนี้เอง

ต้องคัดลอก Model ID แบบเต็มจากรายการปัจจุบันของ OmniProxy หาก ID มีคำนำหน้าแหล่งที่มาและเครื่องหมายทับ ต้องเก็บไว้ทั้งหมด ชื่อย่อสองรายการด้านล่างเป็นเพียงข้อมูลเปรียบเทียบจากเอกสารของผู้ให้บริการ ณ วันที่ 2026-10-09 หากไม่มีอยู่ในรายการปัจจุบัน อย่านำไปใช้:

  • Claude API ID ของ Claude Sonnet 5.5: claude-sonnet-5-5
  • ชื่อ API ของ Gemini 3.8 Flash: gemini-3.8-flash

อย่าใส่คีย์ของผู้ให้บริการลงใน Open WebUI หากเกตเวย์ไม่ได้ตรวจสอบคีย์ สามารถเว้น API Key ว่างไว้ได้ และไม่ควรสร้างคีย์ขึ้นมาเอง

เบราว์เซอร์

เครื่องนี้ที่ 3000

  • เปิดหน้าแชต
  • ลงทะเบียนให้เสร็จก่อน
  • จากนั้นไปที่การตั้งค่า

ภายในคอนเทนเนอร์

Open WebUI

  • อย่าใช้ localhost
  • เปลี่ยนเป็นชื่อโฮสต์ของเครื่อง
  • URL ลงท้ายด้วย /v1

คอมพิวเตอร์เครื่องเดียวกัน

OmniProxy

  • เก็บคีย์ไว้ที่เกตเวย์
  • ใช้รายการโมเดลตามเกตเวย์
  • จากนั้นดูบันทึกการเรียกใช้
เมื่อ Open WebUI อยู่ใน Docker และ OmniProxy อยู่บนโฮสต์ อย่าระบุที่อยู่เป็น localhost ของคอนเทนเนอร์

หากบริการโมเดลทำงานอยู่บนโฮสต์ แต่ Open WebUI ทำงานในคอนเทนเนอร์ Docker ให้เปลี่ยน localhost ใน URL เป็น host.docker.internal โฮสต์หมายถึงคอมพิวเตอร์ที่รัน Docker โดยตรง หาก OmniProxy รับการเชื่อมต่อเฉพาะบนคอมพิวเตอร์เครื่องนี้ สามารถเขียน URL เป็น http://host.docker.internal:พอร์ต/v1 โดยเปลี่ยนพอร์ตให้เป็นพอร์ตที่ OmniProxy ใช้งานจริง

หาก Open WebUI ทำงานในเครื่องผ่านคำสั่ง Python จากส่วนก่อนหน้า และ OmniProxy ก็ทำงานอยู่ในเครื่องเดียวกัน ให้ใช้ 127.0.0.1 หรือ localhost เป็นที่อยู่ ในกรณีนี้อย่าใช้ host.docker.internal

กรอกการกำหนดค่าเครื่องมือ

อินเทอร์เฟซภาษาจีนตัวย่อของ v0.11.4 เมื่อวันที่ 2026-10-09 ใช้ชื่อเมนูต่างจาก Settings > Admin > Connections ในคำอธิบายภาษาอังกฤษ ให้ดำเนินการตามตัวเลือกที่ปรากฏจริง:

  1. ขยายแถบด้านข้างทางซ้าย
  2. คลิกเมนูผู้ใช้ที่ด้านล่าง
  3. คลิก การตั้งค่า
  4. คลิก การเชื่อมต่อภายนอก ในกลุ่มผู้ดูแลระบบด้านล่าง
  5. เปิด OpenAI API
  6. คลิก + ทางขวาของ จัดการการเชื่อมต่อ OpenAI API
  7. ในหน้าต่าง แก้ไขการเชื่อมต่อ ที่ปรากฏขึ้น ให้กรอก URL จนถึง /v1 และคงประเภท API เป็น Chat Completions
  8. คง วิธีการยืนยันตัวตน เป็น คีย์ (Bearer) โดย Bearer เป็นวิธีใส่ API Key ลงในคำขอเพื่อยืนยันตัวตน เมื่อ OmniProxy ส่งคีย์ให้คุณ ให้นำไปใส่ใน API Key หากเกตเวย์ไม่ได้ตรวจสอบคีย์ ให้เว้นช่องนี้ว่างไว้ เมื่อวันที่ 2026-10-09 การตรวจสอบและการสนทนาหนึ่งครั้งสำเร็จแม้เว้นช่องนี้ว่าง
  9. คลิก ตรวจสอบการเชื่อมต่อ ข้าง URL หาก OmniProxy มี /models ระบบจะดึงรายการโมเดลจากที่นี่
  10. เปิด ขั้นสูง หากเว้น Model ID ว่าง ระบบจะใช้โมเดลทั้งหมดที่ส่งกลับจาก /models ของที่อยู่นี้ เฉพาะเมื่อการตรวจสอบล้มเหลว ให้ใส่ ID แบบเต็มจากรายการใน เพิ่ม Model ID แล้วคลิก เพิ่ม เพิ่มแต่ละ ID เพียงครั้งเดียว โดยช่องว่างหน้าและหลังจะถูกตัดออก
  11. คลิก บันทึก ในหน้าต่างนี้ แล้วคลิก บันทึก ที่มุมขวาล่างของหน้าการเชื่อมต่อภายนอกอีกครั้ง

การบันทึกการกำหนดค่าเพียงอย่างเดียวไม่สามารถใช้แทนการตรวจสอบได้ ตรวจสอบการเชื่อมต่อ จะส่งคำขอไปยัง /models ของอีกฝ่าย ซึ่งเป็น API สำหรับแสดงรายการโมเดลที่ใช้งานได้ บริการบางแห่งไม่มี API นี้ การตรวจสอบจึงอาจแสดงข้อผิดพลาด แต่การแชตอาจยังใช้งานได้ ในกรณีนี้ให้เพิ่ม Model ID ด้วยตนเอง

ตรวจสอบด้วยงานจริง

กลับไปที่หน้าแชต เปิดเมนูโมเดลข้างช่องป้อนข้อความ แล้วเลือก ID แบบเต็มจากรายการของ OmniProxy ส่งข้อความสั้น ๆ เช่น ขอให้ตอบกลับเพียงหนึ่งคำ ต้องมีคำตอบปรากฏขึ้นจริงในช่องแชต

เมื่อวันที่ 2026-10-09 มีการสนทนานี้ผ่านการติดตั้ง v0.11.4 ด้วย Python แล้ว Docker ยังคงเป็นวิธีที่แนะนำ แต่การทดสอบครั้งนี้ไม่ได้ทำซ้ำใน Docker

จากนั้นเปิดบันทึกการเรียกใช้ของ OmniProxy เพื่อตรวจสอบแหล่งที่มาและ Model ID ของคำขอนี้ หากเห็นเพียงว่าบันทึกสำเร็จ หรือเห็นเพียงว่าโมเดลปรากฏในเมนู ยังไม่ถือว่าดำเนินการเสร็จสมบูรณ์

อินเทอร์เฟซ

เลือกโมเดลได้

  • บันทึก Connections แล้ว
  • โมเดลปรากฏในรายการ
  • ส่งคำถามสั้นหนึ่งคำถาม

คำตอบ

มีคำตอบในช่องแชต

  • ไม่ใช่ข้อความว่าง
  • ไม่ใช่ข้อผิดพลาดในการเชื่อมต่อ
  • เปลี่ยนโมเดลแล้วลองอีกครั้ง

บันทึก

มองเห็นได้ในเกตเวย์

  • แหล่งที่มาคือการเชื่อมต่อครั้งนี้
  • ID โมเดลตรงกัน
  • ไม่มีคีย์ปรากฏบนหน้าเว็บ
การเชื่อมต่อนี้ถือว่าใช้งานได้ก็ต่อเมื่อทั้งสามจุดตรงกัน

ข้อผิดพลาดที่พบบ่อย

  • ใช้ localhost หรือ 127.0.0.1 ภายในคอนเทนเนอร์: ที่อยู่ทั้งสองนี้ชี้ไปยังตัวคอนเทนเนอร์เอง ไม่ใช่โฮสต์ ให้เปลี่ยนเป็น host.docker.internal และตรวจสอบว่าคำสั่งเริ่มระบบมี --add-host=host.docker.internal:host-gateway หาก Open WebUI ไม่ได้ทำงานในคอนเทนเนอร์ ให้ทำตรงกันข้ามและใช้ที่อยู่ภายในเครื่อง
  • เบราว์เซอร์เปิดไม่ได้: สำหรับ Docker ให้ตรวจสอบพอร์ต 3000 ส่วน Python ให้ตรวจสอบพอร์ต 8080 การเริ่มระบบครั้งแรกต้องรอให้ดาวน์โหลดโมเดล embedding เสร็จสิ้น ใช้ docker ps เพื่อตรวจสอบว่าคอนเทนเนอร์กำลังทำงานอยู่หรือไม่ หากพอร์ต 3000 ถูกใช้งาน ให้แก้ไขพอร์ตทางซ้ายของ -p
  • ID ในเมนูโมเดลยาวกว่าชื่อย่อของผู้ให้บริการ: ใช้ ID แบบเต็มจากเมนู รวมถึงเครื่องหมายทับที่อยู่ภายใน
  • ผู้ใช้ทั้งหมดถูกออกจากระบบหลังอัปเดต: ค่า WEBUI_SECRET_KEY เปลี่ยนไป ให้เริ่มระบบใหม่โดยใช้สตริงคีย์ที่สร้างไว้ครั้งแรก
  • ตรวจสอบการเชื่อมต่อ ล้มเหลว: ให้เพิ่ม Model ID ด้วยตนเองใน ขั้นสูง ก่อน แล้วตรวจสอบด้วยการสนทนาจริงหนึ่งประโยค บริการบางแห่งไม่มี /models ดังนั้นแม้การตรวจสอบจะแสดงข้อผิดพลาด การแชตอาจยังใช้งานได้
  • ไม่พบโมเดล: คัดลอก ID ใหม่จากรายการปัจจุบันของ OmniProxy และอย่าใช้ชื่อที่หมดอายุแล้วต่อไป

เอกสารอ้างอิง

ดูคำสั่งติดตั้งได้ที่ Open WebUI Quick Start และดูขั้นตอนการเชื่อมต่อได้ที่ คำอธิบายการเชื่อมต่อ OpenAI-compatible ส่วน Model ID ที่ใช้เป็นตัวอย่างดูได้ที่ ภาพรวมโมเดล Claude และ รายการโมเดล Gemini

แทนที่ตัววางตำแหน่งทั้งหมดด้วยค่าจากการกำหนดค่า OmniProxy ของคุณ ห้ามเผยแพร่คีย์จริง

ผลลัพธ์ที่บันทึกหรือ HTTP 200 เพียงอย่างเดียวไม่พิสูจน์ความเข้ากันได้เต็มรูปแบบของเอเจนต์ ตรวจสอบแหล่งที่มาและโมเดลในบันทึกการเรียกใช้ของ OmniProxy

แหล่งทางการ · Open WebUI ↗